Interface ServiceInfoCriteria

All Superinterfaces:
Prototype.Api
All Known Implementing Classes:
ServiceInfoCriteria.BuilderBase.ServiceInfoCriteriaImpl

public interface ServiceInfoCriteria extends Prototype.Api
Criteria to discover services.
See Also:
  • Method Details

    • builder

      static ServiceInfoCriteria.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static ServiceInfoCriteria create()
      Create a new instance with default values.
      Returns:
      a new instance
    • serviceTypeName

      Optional<TypeName> serviceTypeName()
      The managed service implementation type name.
      Returns:
      the service type name
    • scopeTypeNames

      Set<TypeName> scopeTypeNames()
      The managed service assigned Scope's.
      Returns:
      the service scope type name
    • qualifiers

      Set<Qualifier> qualifiers()
      The managed service assigned Qualifier's.
      Returns:
      the service qualifiers
    • contractsImplemented

      Set<TypeName> contractsImplemented()
      The managed services advertised types (i.e., typically its interfaces).
      Returns:
      the service contracts implemented
      See Also:
    • runLevel

      Optional<Integer> runLevel()
      The optional RunLevel ascribed to the service.
      Returns:
      the service's run level
    • weight

      Optional<Double> weight()
      Weight that was declared on the type itself.
      Returns:
      the declared weight
    • externalContractsImplemented

      Set<TypeName> externalContractsImplemented()
      The managed services external contracts / interfaces. These should also be contained within contractsImplemented(). External contracts are from other modules other than the module containing the implementation typically.
      Returns:
      the service external contracts implemented
      See Also:
    • activatorTypeName

      Optional<TypeName> activatorTypeName()
      The management agent (i.e., the activator) that is responsible for creating and activating - typically build-time created.
      Returns:
      the activator type name
    • moduleName

      Optional<String> moduleName()
      The name of the ascribed module, if known.
      Returns:
      the module name
    • includeIntercepted

      boolean includeIntercepted()
      Determines whether the non-proxied, Intercepted services should be returned in any lookup operation. If this option is disabled then only the Interceptor-generated service will be eligible to be returned and not the service being intercepted. The default value is false.
      Returns:
      true if the non-proxied type intercepted services should be eligible
    • matches

      default boolean matches(io.helidon.inject.api.ServiceInfoCriteriaBlueprint criteria)
      Determines whether this service info matches the criteria for injection. Matches is a looser form of equality check than equals(). If a service matches criteria it is generally assumed to be viable for assignability.
      Parameters:
      criteria - the criteria to compare against
      Returns:
      true if the criteria provided matches this instance
    • matchesContracts

      default boolean matchesContracts(io.helidon.inject.api.ServiceInfoCriteriaBlueprint criteria)
      Determines whether the provided criteria match just the contracts portion of the provided criteria. Note that it is expected any external contracts have been consolidated into the regular contract section.
      Parameters:
      criteria - the criteria to compare against
      Returns:
      true if the criteria provided matches this instance from only the contracts point of view