# Interface ComponentSelector

All Known Subinterfaces:
  `LibraryComponentSelector, ModuleComponentSelector, ProjectComponentSelector`

public interface ComponentSelector
Represents some opaque criteria used to select a component instance during dependency resolution. Various sub-interfaces expose specific details about the criteria.

Since:
  1.10

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AttributeContainer`
  `getAttributes()`
  The attributes of the module to select the component from.
  `Set<CapabilitySelector>`
  `getCapabilitySelectors()`
  Returns the set of capabilities that are requested for this component.
  `String`
  `getDisplayName()`
  Returns a human-consumable display name for this selector.
  `List<Capability>`
  `getRequestedCapabilities()`
  The explicitly requested capabilities for this component.
  `boolean`
  `matchesStrictly(ComponentIdentifier identifier)`
  Checks if selector matches component identifier.

- ## Method Details

  - ### getDisplayName

    String getDisplayName()
    Returns a human-consumable display name for this selector.
    Returns:
      Display name
    Since:
      1.10

  - ### matchesStrictly

    boolean matchesStrictly(ComponentIdentifier identifier)
    Checks if selector matches component identifier.
    Parameters:
      `identifier` - Component identifier
    Returns:
      if this selector matches exactly the given component identifier.
    Since:
      1.10

  - ### getAttributes

    AttributeContainer getAttributes()
    The attributes of the module to select the component from. The attributes only include selector specific attributes. This means it typically doesn't include any consumer specific attribute.
    Returns:
      the attributes
    Since:
      4.9

  - ### getRequestedCapabilities

    List<Capability> getRequestedCapabilities()
    The explicitly requested capabilities for this component.

    Prefer `getCapabilitySelectors()`.

    Returns:
      the explicitly requested capabilities.
    Since:
      5.3

  - ### getCapabilitySelectors

    @Incubating Set<CapabilitySelector> getCapabilitySelectors()
    Returns the set of capabilities that are requested for this component.
    Returns:
      All capability selectors. If empty, the default capability will be selected.
    Since:
      8.11