org.qi4j.api.service.qualifier

## Annotation Type HasMetaInfo

-     @Retention(value=RUNTIME)
      @Documented
      public @interface HasMetaInfo

  Filter services based on Meta Info being declared on the Service.

  Meta Info of any type can be set on the service during assembly, e.g.;

       module.addService( MyService.class ).setMetaInfo( new MyCustomInfo(someData) );

  and then at an injection point you can do this:

       @Service @HasMetaInfo(MyCustomInfo.class) MyService service;

  to get only a service that has a MyCustomInfo instance set as meta info.

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `Class[]` | `value` The Class(es) needed to have been defined in the Service meta info for a qualifier to evaluate true.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `boolean` | `anded` True if the Classes defined in the value() field should be AND'ed instead of OR'ed.

- - ### Element Detail

    - #### value

          public abstract Class[] value

      The Class(es) needed to have been defined in the Service meta info for a qualifier to evaluate true.
      Returns:
        One or more classes that should be defined in the service's meta info for the service to be considered qualified. If more than one class is defined, the `anded()` parameter will define if they must be AND'ed or OR'ed together.

    - #### anded

          public abstract boolean anded

      True if the Classes defined in the value() field should be AND'ed instead of OR'ed.
      Returns:
        If true, all the Class types defined in `value()` must be defined for the service for it to be qualified. If false, if any of the Class types defined in `value()` is defined for the service the service is qualified.
      Default:
        false