Package org.eclipse.sisu.peaberry

Examples of org.eclipse.sisu.peaberry.AttributeFilter


   *
   * @param sampleAttributes sample attributes
   * @return sample attribute filter
   */
  public static AttributeFilter attributes(final Map<String, ?> sampleAttributes) {
    return new AttributeFilter() {
      public boolean matches(final Map<String, ?> attributes) {
        return null != attributes && attributes.entrySet().containsAll(sampleAttributes.entrySet());
      }
    };
  }
View Full Code Here


  ImportDecorator<? super T> getDecorator(final Injector injector) {
    return decorator.get(injector);
  }

  private AttributeFilter getFilter(final Injector injector) {
    final AttributeFilter attributeFilter = filter.get(injector);
    if (null == attributeFilter) {
      // no filter, try using the current attributes as a sample filter
      final Map<String, ?> sampleAttributes = attributes.get(injector);
      if (null != sampleAttributes && !sampleAttributes.isEmpty()) {
        filter = newSetting(Filters.attributes(sampleAttributes));
View Full Code Here

    return attributeFilter;
  }

  Iterable<Import<T>> getImports(final Injector injector, final boolean isConcurrent) {
    final ServiceRegistry serviceRegistry = registry.get(injector);
    final AttributeFilter attributeFilter = getFilter(injector);

    final Iterable<Import<T>> imports = serviceRegistry.lookup(clazz, attributeFilter);

    // enable outjection, but only if it's going to a different watcher
    ServiceWatcher<? super T> serviceWatcher = watcher.get(injector);
View Full Code Here

TOP

Related Classes of org.eclipse.sisu.peaberry.AttributeFilter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.