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(rawClass.getName(), name, unqualified);
            rLock.lock();
            try {
                List<SystemDescriptor<?>> candidates = getDescriptors(filter, onBehalfOf, true, false, true);
                immediate = narrow(this,
                        candidates,
                        contractOrImpl,
                        name,
                        onBehalfOf,
                        true,
                        true,
                        null,
                        filter,
                        qualifiers);
                results = immediate.getTimelessResults();
                if (!results.getErrors().isEmpty()) {
                    currentErrorHandlers = new LinkedList<ErrorService>(errorHandlers);
                    // was outside of the lock:
                    Utilities.handleErrors(results, currentErrorHandlers);
                }
            } finally {
                rLock.unlock();
            }

            // Must do validation here in order to allow for caching
            ActiveDescriptor<T> postValidateResult = immediate.getImmediateResults().isEmpty() ? null
                    : (ActiveDescriptor<T>) immediate.getImmediateResults().get(0);

            return postValidateResult;
        } else { // USE CACHE!

            final CacheKey cacheKey = new CacheKey(contractOrImpl, name, qualifiers);
            final Filter filter = BuilderHelper.createNameAndContractFilter(rawClass.getName(), name);
            final IgdCacheKey igdCacheKey = new IgdCacheKey(cacheKey, name, onBehalfOf, contractOrImpl, rawClass, qualifiers, filter);

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


        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

        LinkedList<ErrorService> currentErrorHandlers = null;

        ImmediateResults immediate = null;

        if (!useCache) {
            final Filter filter = new UnqualifiedIndexedFilter(rawClass.getName(), name, unqualified);
            rLock.lock();
            try {
                List<SystemDescriptor<?>> candidates = getDescriptors(filter, onBehalfOf, true, false, true);
                immediate = narrow(this,
                        candidates,
                        contractOrImpl,
                        name,
                        onBehalfOf,
                        true,
                        true,
                        null,
                        filter,
                        qualifiers);
                results = immediate.getTimelessResults();
                if (!results.getErrors().isEmpty()) {
                    currentErrorHandlers = new LinkedList<ErrorService>(errorHandlers);
                    // was outside of the lock:
                    Utilities.handleErrors(results, currentErrorHandlers);
                }
            } finally {
                rLock.unlock();
            }

            // Must do validation here in order to allow for caching
            ActiveDescriptor<T> postValidateResult = immediate.getImmediateResults().isEmpty() ? null
                    : (ActiveDescriptor<T>) immediate.getImmediateResults().get(0);

            return postValidateResult;
        }
       
        // USE CACHE!

        final CacheKey cacheKey = new CacheKey(contractOrImpl, name, qualifiers);
        final Filter filter = BuilderHelper.createNameAndContractFilter(rawClass.getName(), name);
        final IgdCacheKey igdCacheKey = new IgdCacheKey(cacheKey, name, onBehalfOf, contractOrImpl, rawClass, qualifiers, filter);

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

        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

    /* 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

        final LinkedHashMap<Method, List<MethodInterceptor>> retVal =
                new LinkedHashMap<Method, List<MethodInterceptor>>();
        final ArrayList<ConstructorInterceptor> cRetVal = new ArrayList<ConstructorInterceptor>();
       
        for (InterceptionService interceptionService : interceptionServices) {
            Filter filter = interceptionService.getDescriptorFilter();
            if (filter instanceof IndexedFilter) {
                IndexedFilter indexedFilter = (IndexedFilter) filter;
               
                String indexedContract = indexedFilter.getAdvertisedContract();
                if (indexedContract != null) {
                    if (!descriptor.getAdvertisedContracts().contains(indexedContract)) continue;
                }
                String name = indexedFilter.getName();
                if (name != null) {
                    if (descriptor.getName() == null) continue;
                    if (!descriptor.getName().equals(name)) continue;
                }
            }
           
            if (filter.matches(descriptor)) {
                for (MethodWrapper methodWrapper : crh.getAllMethods(clazz)) {
                    Method method = methodWrapper.getMethod();
                   
                    if (isFinal(method)) continue;
                   
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.