org.eclipse.persistence.jaxb.compiler
public class AnnotationsProcessor extends Object
Purpose:To perform some initial processing of Java classes and JAXB 2.0 Annotations and generate meta data that can be used by the Mappings Generator and Schema Generator
Responsibilities:
This class does the initial processing of the JAXB 2.0 Generation. It generates meta data that can be used by the later Schema Generation and Mapping Generation steps.
Generator
Constructor and Description |
---|
AnnotationsProcessor(Helper helper) |
public AnnotationsProcessor(Helper helper)
public void createElementsForTypeMappingInfo()
public Map<String,TypeInfo> preBuildTypeInfo(JavaClass[] javaClasses)
javaClasses
- public JavaClass[] postBuildTypeInfo(JavaClass[] javaClasses)
javaClasses
- public void finalizeProperties()
public void processJavaClasses(JavaClass[] classes)
classes
- public boolean shouldGenerateTypeInfo(JavaClass javaClass)
public ArrayList<Property> getPropertiesForClass(JavaClass cls, TypeInfo info)
public ArrayList<Property> getFieldPropertiesForClass(JavaClass cls, TypeInfo info, boolean onlyPublic)
public ArrayList<Property> getPropertyPropertiesForClass(JavaClass cls, TypeInfo info, boolean onlyPublic)
public ArrayList getPublicMemberPropertiesForClass(JavaClass cls, TypeInfo info)
public ArrayList getNoAccessTypePropertiesForClass(JavaClass cls, TypeInfo info)
public void processSchemaType(String name, String namespace, String jClassQualifiedName)
name
- namespace
- jClassQualifiedName
- public void processSchemaType(XmlSchemaType type)
public void addEnumTypeInfo(JavaClass javaClass, EnumTypeInfo info)
public boolean isCollectionType(Property field)
public boolean isCollectionType(JavaClass type)
public NamespaceInfo processNamespaceInformation(XmlSchema xmlSchema)
public NamespaceResolver getNamespaceResolver()
public QName getQNameForProperty(String defaultName, JavaHasAnnotations element, NamespaceInfo namespaceInfo, String uri)
public HashMap<String,NamespaceInfo> getPackageToNamespaceMappings()
public void addPackageToNamespaceMapping(String packageName, NamespaceInfo nsInfo)
public NamespaceInfo getNamespaceInfoForPackage(JavaClass javaClass)
public NamespaceInfo getNamespaceInfoForPackage(JavaPackage pack)
public HashMap<String,MarshalCallback> getMarshalCallbacks()
public HashMap<String,UnmarshalCallback> getUnmarshalCallbacks()
public JavaClass[] processObjectFactory(JavaClass objectFactoryClass, ArrayList<JavaClass> classes)
public HashMap<QName,ElementDeclaration> getGlobalElements()
public void updateGlobalElements(JavaClass[] classesToProcess)
public boolean isMapType(JavaClass type)
public Map<Type,Class> getCollectionClassesToGeneratedClasses()
public Map<Class,Type> getGeneratedClassesToCollectionClasses()
public Map<String,TypeInfo> getTypeInfosForPackage(String packageName)
packageName
- public void setPackageToNamespaceMappings(HashMap<String,NamespaceInfo> packageToNamespaceMappings)
packageToNamespaceMappings
- public SchemaTypeInfo addClass(JavaClass javaClass)
public void buildNewTypeInfo(JavaClass[] javaClasses)
javaClasses
- public boolean isDefaultNamespaceAllowed()
public List<ElementDeclaration> getLocalElements()
public Map<TypeMappingInfo,Class> getTypeMappingInfoToGeneratedClasses()
public Map<TypeMappingInfo,Class> getTypeMappingInfoToAdapterClasses()
public void addXmlRegistry(String factoryClassName, XmlRegistry xmlReg)
factoryClassName
- ObjectFactory class namexmlReg
- org.eclipse.persistence.jaxb.xmlmodel.XmlRegistry instancepublic Map<TypeMappingInfo,QName> getTypeMappingInfoToSchemaType()
public void setDefaultNamespaceAllowed(boolean isDefaultNamespaceAllowed)