Package org.glassfish.hk2.api

Examples of org.glassfish.hk2.api.Filter


        LinkedList<ErrorService> currentErrorHandlers = null;

        ImmediateResults immediate = null;

        if (!useCache) {
            final Filter filter = new UnqualifiedIndexedFilter(name, null, unqualified);
            rLock.lock();
            try {
              List<SystemDescriptor<?>> candidates = getDescriptors(filter, null, true, false, true);
              immediate = narrow(this,
                      candidates,
                      contractOrImpl,
                      null,
                      null,
                      false,
                      true,
                      null,
                      filter,
                      qualifiers);
              results = immediate.getTimelessResults();
            if (!results.getErrors().isEmpty()) {
                currentErrorHandlers = new LinkedList<ErrorService>(errorHandlers);
            }
            } finally {
                rLock.unlock();
            }
        } else { // USE CACHE!

            final CacheKey cacheKey = new CacheKey(contractOrImpl, null, qualifiers);
            final Filter filter = BuilderHelper.createContractFilter(name);
            final IgdCacheKey igdCacheKey = new IgdCacheKey(cacheKey, name, null, contractOrImpl, rawClass, qualifiers, filter);

            rLock.lock();
            try {
                final HybridCacheEntry<IgdValue> entry = igashCache.compute(igdCacheKey);
View Full Code Here


            }

            allQualifiers.add(addMe);
        }

        return getAllServiceHandles(new Filter() {

            @Override
            public boolean matches(Descriptor d) {
                return d.getQualifiers().containsAll(allQualifiers);
            }
View Full Code Here

    private void reupInjectionResolvers() {
        HashMap<Class<? extends Annotation>, InjectionResolver<?>> newResolvers =
                new HashMap<Class<? extends Annotation>, InjectionResolver<?>>();

        Filter injectionResolverFilter = BuilderHelper.createContractFilter(
                InjectionResolver.class.getName());

        List<ActiveDescriptor<?>> resolverDescriptors = protectedGetDescriptors(injectionResolverFilter);

        for (ActiveDescriptor<?> resolverDescriptor : resolverDescriptors) {
View Full Code Here

       
        DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class);
        DynamicConfiguration config = dcs.createDynamicConfiguration();
       
        if (descriptor.getLocatorId() != null && descriptor.getServiceId() != null) {
            Filter destructionFilter = BuilderHelper.createSpecificDescriptorFilter(descriptor);
           
            config.addUnbindFilter(destructionFilter);
           
            if (includeAliasDescriptors == true) {
                List<ActiveDescriptor<?>> goingToDie = locator.getDescriptors(destructionFilter);
                if (!goingToDie.isEmpty()) {
                    AliasFilter af = new AliasFilter(goingToDie);
                   
                    config.addUnbindFilter(af);
                }
            }
           
            config.commit();
           
            return;
        }
       
        // Must use second algorithm, which is not as precise, but which still mainly works
        final DescriptorImpl di;
        if (descriptor instanceof DescriptorImpl) {
            di = (DescriptorImpl) descriptor;
        }
        else {
            di = new DescriptorImpl(descriptor);
        }
       
        Filter destructionFilter = new Filter() {

            @Override
            public boolean matches(Descriptor d) {
                return di.equals(d);
            }
View Full Code Here

        rawClass = Utilities.translatePrimitiveType(rawClass);
       
        name = getName(name, qualifiers);
       
        boolean useCache = false;
        Filter filter;
        if (unqualified == null) {
            filter = BuilderHelper.createNameAndContractFilter(rawClass.getName(), name);
            useCache = true;
        }
        else {
View Full Code Here

        if (rawClass == null) {
            throw new MultiException(new IllegalArgumentException("Type must be a class or parameterized type, it was " + contractOrImpl));
        }
       
        boolean useCache = false;
        Filter filter;
        if (unqualified == null) {
            filter = BuilderHelper.createContractFilter(rawClass.getName());
            useCache = true;
        }
        else {
View Full Code Here

            }
           
            allQualifiers.add(addMe);
        }
       
        return getAllServiceHandles(new Filter() {

            @Override
            public boolean matches(Descriptor d) {
                return d.getQualifiers().containsAll(allQualifiers);
            }
View Full Code Here

   
    private void reupInjectionResolvers() {
        HashMap<Class<? extends Annotation>, InjectionResolver<?>> newResolvers =
                new HashMap<Class<? extends Annotation>, InjectionResolver<?>>();
       
        Filter injectionResolverFilter = BuilderHelper.createContractFilter(
                InjectionResolver.class.getName());
       
        List<ActiveDescriptor<?>> resolverDescriptors = protectedGetDescriptors(injectionResolverFilter);
       
        for (ActiveDescriptor<?> resolverDescriptor : resolverDescriptors) {
View Full Code Here

*/           
                AccessController.doPrivileged(new PrivilegedAction<List<ServiceHandle<? extends Object>>>() {
                    public List<ServiceHandle<? extends Object>> run() {
                       
                        List<ServiceHandle<? extends Object>> identities = (List<ServiceHandle<? extends Object>>)getBaseServiceLocator().getAllServices(
                           new Filter() {
       
                                @Override
                                public boolean matches(Descriptor d) {
                                   if (d == null) {
                                   return false;
View Full Code Here

   
    /* package */ void reupInstanceListeners(List<InstanceLifecycleListener> listeners) {
        instanceListeners.clear();
       
        for (InstanceLifecycleListener listener : listeners) {
            Filter filter = listener.getFilter();
            if (filterMatches(filter)) {
                instanceListeners.add(listener);
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.glassfish.hk2.api.Filter

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.