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

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


    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) {
            if (logger.isErrorEnabled()) {
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

        }
    }

    private ResourceRecord createStaticResourceRecord(Class<? extends Object> cls,
                                                      ObjectFactory<?> of) {
        ClassMetadata metadata = createMetadata(cls);
        UriTemplateProcessor processor = createUriTemplateProcessor(metadata);
        ResourceRecord record = new ResourceRecord(metadata, of, processor);
        writersLock.lock();
        try {
            // double check so as not to put the same resource twice
View Full Code Here

        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("/")) { //$NON-NLS-1$
            pathStr.append("/"); //$NON-NLS-1$
View Full Code Here

    private ClassMetadata            classMetadata;

    final private InjectionTarget<T> delegate;

    static <T> ClassMetadata collectClassMetadata(final Class<T> cls) {
        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)) {
View Full Code Here

            if (!isResource(c)) {
                /* not a resource, so skip it */
                continue;
            }

            ClassMetadata metadata = ResourceMetadataCollector.collectMetadata(c);
            metadataSet.add(metadata);
        }

        return metadataSet;
    }
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.