Examples of DescriptorImpl


Examples of org.glassfish.hk2.utilities.DescriptorImpl

     *
     * @see org.glassfish.hk2.utilities.DescriptorBuilder#build()
     */
    @Override
    public DescriptorImpl build() throws IllegalArgumentException {
        return new DescriptorImpl(contracts, name, scope, implementation,
                metadatas, qualifiers, DescriptorType.CLASS, visibility,
                loader, rank, proxy, proxyForSameScope, analysisName, null, null);
    }
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

        factoryContracts.add(implementation);
        factoryContracts.add(Factory.class.getName());
        Set<String> factoryQualifiers = Collections.emptySet();
        Map<String, List<String>> factoryMetadata = Collections.emptyMap();

        DescriptorImpl asService = new DescriptorImpl(factoryContracts, null,
                factoryScope, implementation, factoryMetadata,
                factoryQualifiers, DescriptorType.CLASS,
                DescriptorVisibility.NORMAL, loader, rank, null, null, analysisName,
                null, null);

        // We want to remove the impl class from the contracts in this case
        Set<String> serviceContracts = new HashSet<String>(contracts);
        if (implementation != null) serviceContracts.remove(implementation);

        DescriptorImpl asFactory = new DescriptorImpl(serviceContracts, name,
                scope, implementation, metadatas, qualifiers,
                DescriptorType.PROVIDE_METHOD, visibility, loader, rank, proxy,
                proxyForSameScope, null, null, null);

        return new FactoryDescriptorsImpl(asService, asFactory);
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

                String with = decorateData.getWith();
               
                GenerateMethodAnnotationData gbad = classLevelGenerators.get(with);
               
                if (gbad != null) {
                    DescriptorImpl generatedDescriptor = new DescriptorImpl();
                    generatedDescriptor.setImplementation(gbad.getImplementation());
                   
                    for (String contract : gbad.getContracts()) {
                        generatedDescriptor.addAdvertisedContract(contract);
                    }
                   
                    if (gbad.getName() != null) {
                        generatedDescriptor.setName(gbad.getName());
                    }
                   
                    generatedDescriptor.addMetadata(METHOD_ACTUAL, implName);
                    generatedDescriptor.addMetadata(METHOD_NAME, decorateData.getMethodName());
                    generatedDescriptor.addMetadata(PARENT_CONFIGURED, decorateData.getTargetType());
                   
                    if (verbose) {
                        System.out.println("Generated Descriptor for class-level GenerateServiceFromMethod annotation: " +
                            generatedDescriptor);
                    };
                   
                    generatedDescriptors.add(generatedDescriptor);
                   
                    return;
                }
               
            }
           
            if (verbose) {
                System.out.println("Class " + implName + " is not annotated with @Service");
            }
            return;
        }
       
        DescriptorImpl generatedDescriptor = new DescriptorImpl();
        generatedDescriptor.setImplementation(implName);
        if (scopeClass == null) {
            // The default for classes with Service is Singleton
            generatedDescriptor.setScope(Singleton.class.getName());
        }
        else {
            generatedDescriptor.setScope(scopeClass);
        }
       
        if (providedContracts != null) {
            for (String providedContract : providedContracts) {
                generatedDescriptor.addAdvertisedContract(providedContract);
            }
           
        }
        else {
            generatedDescriptor.addAdvertisedContract(implName);
            for (String iFace : iFaces) {
                generatedDescriptor.addAdvertisedContract(iFace);
            }
        }
       
        for (String qualifier : qualifiers) {
            generatedDescriptor.addQualifier(qualifier);
        }
       
        if (baseName != null) {
            generatedDescriptor.setName(baseName.getName());
        }
       
        generatedDescriptor.setClassAnalysisName(classAnalyzer);
        if (metadataString != null) {
            Map<String, List<String>> serviceMetadata = new HashMap<String, List<String>>();
           
            ReflectionHelper.parseServiceMetadataString(metadataString, serviceMetadata);
           
            generatedDescriptor.addMetadata(serviceMetadata);
        }
       
        if (rank != null) {
            generatedDescriptor.setRanking(rank.intValue());
        }
       
        if (useProxy != null) {
            generatedDescriptor.setProxiable(useProxy);
        }
       
        generatedDescriptor.setDescriptorVisibility(visibility);
       
        if (!metadata.isEmpty()) {
            for (Map.Entry<String, List<String>> entry : metadata.entrySet()) {
                String key = entry.getKey();
                List<String> values = entry.getValue();
               
                for (String value : values) {
                    generatedDescriptor.addMetadata(key, value);
                }
            }
        }
       
        if (verbose) {
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

        if (!PROVIDE.equals(name)) return null;
        if (!desc.startsWith("()")) return null;
        if (factoryMethodFound) return null;
        factoryMethodFound = true;
       
        DescriptorImpl asAFactory = new DescriptorImpl();
        generatedDescriptors.add(asAFactory);
       
        asAFactory.setImplementation(implName);
        asAFactory.setDescriptorType(DescriptorType.PROVIDE_METHOD);
       
        String factoryType = desc.substring(2);
        if (factoryType.charAt(0) == '[') {
            // Array type, may not be of an object!
            asAFactory.addAdvertisedContract(factoryType)// Just the array of whatever type
        }
        else {
            if (factoryType.charAt(0) != 'L') {
                throw new AssertionError("Unable to handle provide descriptor " + desc);
            }
           
            int endIndex = factoryType.indexOf(';');
            if (endIndex < 0) {
                throw new AssertionError("Unable to find end of class return type in descriptor " + desc);
            }
           
            String trueFactoryClass = factoryType.substring(1, endIndex);
           
            // This might be parametererized, strip of the parameters
            trueFactoryClass = trueFactoryClass.replace('/', '.');
           
            Set<String> associatedContracts = utilities.getAssociatedContracts(
                    searchHere, trueFactoryClass);
           
            for (String contract : associatedContracts) {
                asAFactory.addAdvertisedContract(contract);
            }
        }
       
        return new MethodVisitorImpl(asAFactory);
    }
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

         * @see org.objectweb.asm.MethodVisitor#visitEnd()
         */
        @Override
        public void visitEnd() {
            for (GenerateMethodAnnotationData methodGenerated : allAnnotationDataToAdd) {
                DescriptorImpl di = new DescriptorImpl();
                di.setImplementation(methodGenerated.getImplementation());
                for (String contract : methodGenerated.getContracts()) {
                    di.addAdvertisedContract(contract);
                }
                di.setScope(methodGenerated.getScope());
                if (methodGenerated.getName() != null) {
                    di.setName(methodGenerated.getName());
                }
               
                di.addMetadata(METHOD_ACTUAL, actualType);
                di.addMetadata(METHOD_NAME, methodName);
                di.addMetadata(PARENT_CONFIGURED, parentConfigured);
               
                if (verbose) {
                    System.out.println("Generated Descriptor for GenerateServiceFromMethod annotation: " + di);
                }
               
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

            try {
                boolean readOne = false;

                do {
                    DescriptorImpl descriptorImpl = new DescriptorImpl();

                    readOne = descriptorImpl.readObject(br);

                    if (readOne) {
                           
                        for (PopulatorPostProcessor pp : postProcessors) {
                            try {
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

        if (!PROVIDE.equals(name)) return null;
        if (!desc.startsWith("()")) return null;
        if (factoryMethodFound) return null;
        factoryMethodFound = true;
       
        DescriptorImpl asAFactory = new DescriptorImpl();
        generatedDescriptors.add(asAFactory);
       
        asAFactory.setImplementation(implName);
        asAFactory.setDescriptorType(DescriptorType.PROVIDE_METHOD);
       
        String factoryType = desc.substring(2);
        if (factoryType.charAt(0) == '[') {
            // Array type, may not be of an object!
            asAFactory.addAdvertisedContract(factoryType)// Just the array of whatever type
        }
        else {
            if (factoryType.charAt(0) != 'L') {
                throw new AssertionError("Unable to handle provide descriptor " + desc);
            }
           
            int endIndex = factoryType.indexOf(';');
            if (endIndex < 0) {
                throw new AssertionError("Unable to find end of class return type in descriptor " + desc);
            }
           
            String trueFactoryClass = factoryType.substring(1, endIndex);
           
            // This might be parametererized, strip of the parameters
            trueFactoryClass = trueFactoryClass.replace('/', '.');
           
            Set<String> associatedContracts = utilities.getAssociatedContracts(
                    searchHere, trueFactoryClass);
           
            for (String contract : associatedContracts) {
                asAFactory.addAdvertisedContract(contract);
            }
        }
       
        return new MethodVisitorImpl(asAFactory);
    }
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

         * @see org.objectweb.asm.MethodVisitor#visitEnd()
         */
        @Override
        public void visitEnd() {
            for (GenerateMethodAnnotationData methodGenerated : allAnnotationDataToAdd) {
                DescriptorImpl di = new DescriptorImpl();
                di.setImplementation(methodGenerated.getImplementation());
                for (String contract : methodGenerated.getContracts()) {
                    di.addAdvertisedContract(contract);
                }
                di.setScope(methodGenerated.getScope());
                if (methodGenerated.getName() != null) {
                    di.setName(methodGenerated.getName());
                }
               
                di.addMetadata(METHOD_ACTUAL, actualType);
                di.addMetadata(METHOD_NAME, methodName);
                di.addMetadata(PARENT_CONFIGURED, parentConfigured);
               
                if (verbose) {
                    System.out.println("Generated Descriptor for GenerateServiceFromMethod annotation: " + di);
                }
               
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

                String with = decorateData.getWith();
               
                GenerateMethodAnnotationData gbad = classLevelGenerators.get(with);
               
                if (gbad != null) {
                    DescriptorImpl generatedDescriptor = new DescriptorImpl();
                    generatedDescriptor.setImplementation(gbad.getImplementation());
                   
                    for (String contract : gbad.getContracts()) {
                        generatedDescriptor.addAdvertisedContract(contract);
                    }
                   
                    if (gbad.getName() != null) {
                        generatedDescriptor.setName(gbad.getName());
                    }
                   
                    generatedDescriptor.addMetadata(METHOD_ACTUAL, implName);
                    generatedDescriptor.addMetadata(METHOD_NAME, decorateData.getMethodName());
                    generatedDescriptor.addMetadata(PARENT_CONFIGURED, decorateData.getTargetType());
                   
                    if (verbose) {
                        System.out.println("Generated Descriptor for class-level GenerateServiceFromMethod annotation: " +
                            generatedDescriptor);
                    };
                   
                    generatedDescriptors.add(generatedDescriptor);
                   
                    return;
                }
               
            }
           
            if (verbose) {
                System.out.println("Class " + implName + " is not annotated with @Service");
            }
            return;
        }
       
        DescriptorImpl generatedDescriptor = new DescriptorImpl();
        generatedDescriptor.setImplementation(implName);
        if (scopeClass == null) {
            // The default for classes with Service is Singleton
            generatedDescriptor.setScope(Singleton.class.getName());
        }
        else {
            generatedDescriptor.setScope(scopeClass);
        }
       
        if (providedContracts != null) {
            for (String providedContract : providedContracts) {
                generatedDescriptor.addAdvertisedContract(providedContract);
            }
           
        }
        else {
            generatedDescriptor.addAdvertisedContract(implName);
            for (String iFace : iFaces) {
                generatedDescriptor.addAdvertisedContract(iFace);
            }
        }
       
        for (String qualifier : qualifiers) {
            generatedDescriptor.addQualifier(qualifier);
        }
       
        if (baseName != null) {
            generatedDescriptor.setName(baseName.getName());
        }
       
        generatedDescriptor.setClassAnalysisName(classAnalyzer);
        if (metadataString != null) {
            Map<String, List<String>> serviceMetadata = new HashMap<String, List<String>>();
           
            ReflectionHelper.parseServiceMetadataString(metadataString, serviceMetadata);
           
            generatedDescriptor.addMetadata(serviceMetadata);
        }
       
        if (rank != null) {
            generatedDescriptor.setRanking(rank.intValue());
        }
       
        if (useProxy != null) {
            generatedDescriptor.setProxiable(useProxy);
        }
       
        generatedDescriptor.setDescriptorVisibility(visibility);
       
        if (!metadata.isEmpty()) {
            for (Map.Entry<String, List<String>> entry : metadata.entrySet()) {
                String key = entry.getKey();
                List<String> values = entry.getValue();
               
                for (String value : values) {
                    generatedDescriptor.addMetadata(key, value);
                }
            }
        }
       
        if (verbose) {
View Full Code Here

Examples of org.glassfish.hk2.utilities.DescriptorImpl

        injectionMgr.inject(result, injector);
        return result;
    }
   
    private void parseInHk2LocatorOrig(BufferedReader reader, Map<String, String> cliCommandNames) throws IOException {
        DescriptorImpl desc = new DescriptorImpl();
        while (desc.readObject(reader)) {
            if (desc.getAdvertisedContracts().contains(CLICommand.class.getName())) {
                cliCommandNames.put(desc.getName(), desc.getImplementation());
            }
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.