private ClassDescriptor createClassDescriptor()

in src/main/java/org/apache/jackrabbit/ocm/mapper/impl/annotation/AnnotationDescriptorReader.java [90:123]


	private ClassDescriptor createClassDescriptor(Class clazz, Node nodeAnnotation)
	{
		ClassDescriptor classDescriptor = new ClassDescriptor();
		classDescriptor.setClassName(clazz.getName());
		classDescriptor.setJcrType(nodeAnnotation.jcrType());
		classDescriptor.setDiscriminator(nodeAnnotation.discriminator());
		if (nodeAnnotation.jcrSuperTypes() != null && ! nodeAnnotation.jcrSuperTypes().equals(""))
		{
		     classDescriptor.setJcrSuperTypes(nodeAnnotation.jcrSuperTypes());
		}

		if (nodeAnnotation.jcrMixinTypes() != null && ! nodeAnnotation.jcrMixinTypes().equals(""))
		{
		     classDescriptor.setJcrMixinTypes(nodeAnnotation.jcrMixinTypes());
		}

		Class ancestorClass = ReflectionUtils.getAncestorClass(clazz);
		if (ancestorClass != null)
		{
			classDescriptor.setExtend(ancestorClass.getName());
		}
			
		// TODO : Can we still support the extend param in the annotation @Node if we are using 
		//	      the reflection to get the ancestor class ? (see the previous if)
		if (nodeAnnotation.extend() != null && ! nodeAnnotation.extend().equals(Object.class))
		{
		     classDescriptor.setExtend(nodeAnnotation.extend().getName());
		}

		
		classDescriptor.setAbstract(nodeAnnotation.isAbstract()||ReflectionUtils.isAbstractClass(clazz) );
		classDescriptor.setInterface(clazz.isInterface());
		return classDescriptor;
	}