private void parseClass() { Class<?> cls = getMetadata().getResourceClass(); parseClass(cls); }
@Override public String toString() { return "MethodMetadata [" + super.toString() //$NON-NLS-1$ + (formalParameters != null ? "formalParameters=" + formalParameters + ", " : "") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + (httpMethod != null ? "httpMethod=" + httpMethod + ", " : "") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + (parent != null ? "parent=" + parent + ", " : "") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + (reflectionMethod != null ? "reflectionMethod=" + reflectionMethod : "") //$NON-NLS-1$ //$NON-NLS-2$ + "]"; //$NON-NLS-1$ }
@SuppressWarnings("unchecked") public SpringObjectFactory(ApplicationContext applicationContext, String beanName, ClassMetadata classMetadata) { this.beanName = beanName; this.applicationContext = applicationContext; this.classMetadata = classMetadata; this.cls = (Class<Object>)classMetadata.getResourceClass(); }
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; }
public static boolean isResource(Class<?> cls) { return (isStaticResource(cls) || isDynamicResource(cls)); }
private static Set<MediaType> getCollectionProduces(ClassMetadata metadata) { Set<MediaType> produces = new HashSet<MediaType>(); for (MethodMetadata method : metadata.getResourceMethods()) { produces.addAll(method.getProduces()); } for (MethodMetadata method : metadata.getSubResourceMethods()) { produces.addAll(method.getProduces()); } return produces; }
private boolean parseWorkspace(Class<?> cls) { Workspace workspace = cls.getAnnotation(Workspace.class); if (workspace != null) { getMetadata().setWorkspaceName(workspace.workspaceTitle()); getMetadata().setCollectionTitle(workspace.collectionTitle()); return true; } return false; }
/** * Returns true if the resource is valid provider and false otherwise. * Notice that a class with Provider 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 provider and false otherwise. */ public boolean isValidProvider(Class<?> cls) { return isValidClass(cls) && ProviderMetadataCollector.isProvider(cls) && classUnique(cls); }
public static ClassMetadata collectMetadata(Class<?> clazz) { logger.trace("collectMetadata({})", clazz); ApplicationMetadataCollector collector = new ApplicationMetadataCollector(clazz); collector.parseFields(); collector.parseConstructors(); ClassMetadata md = collector.getMetadata(); logger.trace("collectMetadata() exit returning {}", md); return md; }
public static ClassMetadata collectMetadata(Class<?> clazz) { logger.trace("collectMetadata({})", clazz); ProviderMetadataCollector collector = new ProviderMetadataCollector(clazz); collector.parseConstructors(); collector.parseFields(); ClassMetadata md = collector.getMetadata(); logger.trace("collectMetadata() exit returning {}", md); return md; }
@Override public Set<MediaType> getConsumes() { Set<MediaType> set = super.getConsumes(); if (set.size() == 0) { set = parent.getConsumes(); } return set; }
@Override public Set<MediaType> getProduces() { Set<MediaType> set = super.getProduces(); if (set.size() == 0) { set = parent.getProduces(); } return set; }
private boolean parseClassConsumes(Class<?> cls) { String[] consumes = getConsumes(cls); // if (consumes.length == 0) { // getMetadata().addConsumes(MediaType.WILDCARD_TYPE); // return false; // } for (String mediaType : consumes) { getMetadata().addConsumes(MediaType.valueOf(mediaType)); } return true; }
private boolean parseClassProduces(Class<?> cls) { String[] consumes = getProduces(cls); // if (consumes.length == 0) { // getMetadata().addProduces(MediaType.WILDCARD_TYPE); // return false; // } for (String mediaType : consumes) { getMetadata().addProduces(MediaType.valueOf(mediaType)); } return true; }
private ClassMetadata createMetadata(Class<? extends Object> cls) { ClassMetadata md = ResourceMetadataCollector.collectMetadata(cls); md = fixConsumesAndProduces(md); return md; }
public Object getParentInstance() { if (getParentInstances().size() == 0) { return null; } return getParentInstances().get(0); }
private ResourceRecord getParent(ClassMetadata metadata) { Class<?> parent = metadata.getParent(); Object parentInstance = metadata.getParentInstance(); ResourceRecord parentRecord = null; if (parent != null) { parentRecord = getResourceRecord(parent); } else if (parentInstance != null) { parentRecord = getResourceRecord(parentInstance); } return parentRecord; }
public AbstractMetadataCollector(Class<?> clazz) { metadata = new ClassMetadata(clazz); }
public Class<?> getParent() { if (getParents().size() == 0) { return null; } return getParents().get(0); }
@SuppressWarnings("unchecked") public Class<T> getInstanceClass() { return (Class<T>)metadata.getResourceClass(); }