Package org.apache.wink.common.internal.registry.metadata

Examples of org.apache.wink.common.internal.registry.metadata.ClassMetadata


        return record;
    }

    private ResourceRecord createDynamicResourceRecord(DynamicResource instance, ObjectFactory<?> of) {
        Class<? extends Object> cls = instance.getClass();
        ClassMetadata metadata = createMetadata(cls);
        metadata = fixInstanceMetadata(metadata, instance);
        UriTemplateProcessor processor = createUriTemplateProcessor(metadata);
        return new ResourceRecord(metadata, of, processor);
    }
View Full Code Here


        return new ResourceRecord(metadata, of, processor);
    }

    private ResourceRecord createSubResourceRecord(Object instance, ObjectFactory<?> of) {
        Class<? extends Object> cls = instance.getClass();
        ClassMetadata metadata = createMetadata(cls);
        return new ResourceRecord(metadata, of, null);
    }
View Full Code Here

    }

    private void appendPathWithParent(ClassMetadata metadata, StringBuilder pathStr) {
        ResourceRecord parentRecord = getParent(metadata);
        if (parentRecord != null) {
            ClassMetadata parentMetadata = parentRecord.getMetadata();
            appendPathWithParent(parentMetadata, pathStr);
        }
        String path = UriTemplateProcessor.normalizeUri(metadata.getPath());
        if (!path.endsWith("/")) {
            pathStr.append("/");
View Full Code Here

     *
     * @Consumes( { "abcd/efg, hijk/lmn", "opqr/stu" })
     * @throws Exception
     */
    public void testConsumesAnnotationParsing() throws Exception {
        ClassMetadata classMetadata = ResourceMetadataCollector.collectMetadata(MyResource.class);
        Set<MediaType> mediaTypes = classMetadata.getResourceMethods().get(0).getConsumes();
        assertEquals(3, mediaTypes.size());

        HashSet<MediaType> values = new HashSet<MediaType>(3);
        for (Iterator<MediaType> it = mediaTypes.iterator(); it.hasNext();) {
            values.add((MediaType)it.next());
View Full Code Here

     *
     * @Produces( { "abcd/efg, hijk/lmn", "opqr/stu" })
     * @throws Exception
     */
    public void testProducesAnnotationParsing() throws Exception {
        ClassMetadata classMetadata = ResourceMetadataCollector.collectMetadata(MyResource.class);
        Set<MediaType> mediaTypes = classMetadata.getResourceMethods().get(0).getProduces();
        assertEquals(3, mediaTypes.size());
    }
View Full Code Here

    private static Logger logger = LoggerFactory.getLogger(LifecycleManagerUtils.class);

    @SuppressWarnings("unchecked")
    public static <T> ObjectFactory<T> createSingletonObjectFactory(T object) {
        Class<T> cls = (Class<T>)object.getClass();
        ClassMetadata classMetadata = collectClassMetadata(cls, false);
        try {
            CreationUtils.injectFields(object, classMetadata, null);
            return new SingletonObjectFactory<T>(object);
        } catch (IOException e) {
            logger.error(Messages.getMessage("injectionFailureSingleton", cls)); //$NON-NLS-1$
View Full Code Here

        }
    }

    @SuppressWarnings("unchecked")
    public static <T> ObjectFactory<T> createSingletonObjectFactory(final Class<T> cls) {
        ClassMetadata classMetadata = collectClassMetadata(cls, true);
        T object = (T)CreationUtils.createObject(classMetadata, null);
        return new SingletonObjectFactory<T>(object);
    }
View Full Code Here

        T object = (T)CreationUtils.createObject(classMetadata, null);
        return new SingletonObjectFactory<T>(object);
    }

    public static <T> ObjectFactory<T> createPrototypeObjectFactory(final Class<T> cls) {
        ClassMetadata classMetadata = collectClassMetadata(cls, true);
        return new PrototypeObjectFactory<T>(classMetadata);
    }
View Full Code Here

        return new PrototypeObjectFactory<T>(classMetadata);
    }

    private static <T> ClassMetadata collectClassMetadata(final Class<T> cls,
                                                          boolean validateConstructor) {
        ClassMetadata classMetadata = null;
        if (ProviderMetadataCollector.isProvider(cls)) {
            classMetadata = ProviderMetadataCollector.collectMetadata(cls);
        } else if (ResourceMetadataCollector.isResource(cls)) {
            classMetadata = ResourceMetadataCollector.collectMetadata(cls);
        } else if (ApplicationMetadataCollector.isApplication(cls)) {
            classMetadata = ApplicationMetadataCollector.collectMetadata(cls);
        } else {
            throw new IllegalArgumentException("Cannot create factory for class " + cls);
        }

        // validate that there is a valid constructor if needed
        if (validateConstructor && classMetadata.getConstructor().getConstructor() == null) {
            throw new IllegalStateException("No valid constructor found for " + cls
                .getCanonicalName());
        }
        return classMetadata;
    }
View Full Code Here

    @Override
    protected void configure() {
        bindListener(Matchers.any(), new TypeListener() {

            public <I> void hear(TypeLiteral<I> typeLiteral, TypeEncounter<I> encounter) {
                ClassMetadata classMetaData = collectClassMetadata(typeLiteral.getRawType());
                if (classMetaData == null) {
                    return;
                }
                if (classMetaData.getInjectableFields().size() > 0) {
                    encounter.register(new JAXRSInjector<I>(classMetaData));
                }
            }
        });
    }
View Full Code Here

TOP

Related Classes of org.apache.wink.common.internal.registry.metadata.ClassMetadata

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.