public static boolean isResource(Class<?> cls) { return (isStaticResource(cls) || isDynamicResource(cls)); }
protected boolean isResource(Class<?> cls) { if (ResourceMetadataCollector.isDynamicResource(cls)) { return true; } if (cls.getAnnotation(Path.class) != null) { return true; } Class<?> declaringClass = cls; while (!declaringClass.equals(Object.class)) { // try a superclass Class<?> superclass = declaringClass.getSuperclass(); if (superclass.getAnnotation(Path.class) != null) { return true; } // try interfaces Class<?>[] interfaces = declaringClass.getInterfaces(); for (Class<?> interfaceClass : interfaces) { if (interfaceClass.getAnnotation(Path.class) != null) { return true; } } declaringClass = declaringClass.getSuperclass(); } return false; }
public SpringObjectFactory getSpringObjectFactory(T object, String beanName) { Class<? extends Object> cls = object.getClass(); if (ResourceMetadataCollector.isStaticResource(cls) || ProviderMetadataCollector .isProvider(cls)) { return class2factory.get(cls); } if (ResourceMetadataCollector.isDynamicResource(cls)) { return id2factory.get(beanName); } return null; }
@SuppressWarnings("unchecked") public ObjectFactory<T> createObjectFactory(T object) throws ObjectCreationException { Class<? extends Object> cls = object.getClass(); if (ResourceMetadataCollector.isStaticResource(cls) || ProviderMetadataCollector .isProvider(cls)) { return (ObjectFactory<T>)class2factory.get(cls); } if (ResourceMetadataCollector.isDynamicResource(cls)) { DynamicResource dynResource = (DynamicResource)object; String beanName = dynResource.getBeanName(); return (ObjectFactory<T>)id2factory.get(beanName); } return null; }
public void addDynamicResource(Object bean, String beanName, SpringObjectFactory objectFactory) { Class<? extends Object> cls = bean.getClass(); if (ResourceMetadataCollector.isDynamicResource(cls)) { DynamicResource dynResource = (DynamicResource)bean; dynResource.setBeanName(beanName); SpringObjectFactory old = id2factory.put(beanName, objectFactory); if (old != null) { if (logger.isWarnEnabled()) { logger.warn(Messages .getMessage("springClassReplaceNewerObjectFactory", beanName)); //$NON-NLS-1$ } } } else { if (logger.isWarnEnabled()) { logger .warn(Messages.getMessage("springBeanClassNotDynamicResource", beanName, cls)); //$NON-NLS-1$ } } }
++counter; if (ResourceMetadataCollector.isDynamicResource(cls)) { ++counter;
/** * Returns true if the resource is valid resource and false otherwise. * Notice that a class with Path annotation can be validated only once, * since it must be unique. Therefore, calling this method for the same * class can return true only for the first time. * * @param cls * @return true if the resource is valid resource and false otherwise. */ public boolean isValidResource(Class<?> cls) { return isValidClass(cls) && ((ResourceMetadataCollector.isStaticResource(cls) && classUnique(cls)) || ResourceMetadataCollector .isDynamicResource(cls)); }
if (ResourceMetadataCollector.isDynamicResource(cls)) { resourceRegistry.addResource(obj, priority); } else if (ResourceMetadataCollector.isStaticResource(cls)) {
} else if (ResourceMetadataCollector.isDynamicResource(cls)) {
public ObjectFactory<T> createObjectFactory(final Class<T> cls) { logger.trace("Entry {}", cls); //$NON-NLS-1$ if (cls == null) { throw new NullPointerException(Messages.getMessage("variableIsNull", "cls")); //$NON-NLS-1$ //$NON-NLS-2$ } if (ResourceMetadataCollector.isDynamicResource(cls)) { // default factory cannot create instance of DynamicResource throw new IllegalArgumentException(Messages .getMessage("cannotCreateDefaultFactoryForDR", String.valueOf(cls))); //$NON-NLS-1$ } ObjectFactory<T> ret = null; if (ApplicationMetadataCollector.isApplication(cls)) { // by default application subclasses are singletons ret = LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ProviderMetadataCollector.isProvider(cls)) { // by default providers are singletons ret = LifecycleManagerUtils.createSingletonObjectFactory(cls); } else if (ResourceMetadataCollector.isStaticResource(cls)) { // by default resources are prototypes (created per request) ret = LifecycleManagerUtils.createPrototypeObjectFactory(cls); } if (ret != null) { logger.trace("Exit {}", ret); //$NON-NLS-1$ return ret; } else // unknown object, should never reach this code throw new IllegalArgumentException(Messages .getMessage("cannotCreateDefaultFactoryFor", String.valueOf(cls))); //$NON-NLS-1$ }
ProviderMetadataCollector .collectMetadata(cls))); } else if (ResourceMetadataCollector.isDynamicResource(cls)) { springOFFactory .addDynamicResource(bean,