- java.lang.Object
-
- com.sun.tools.xjc.generator.bean.BeanGenerator
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JClass
addRuntime(Class<?> clazz)
Copies the specified class into the user's package and returns a reference to it.static Outline
generate(Model model, ErrorReceiver _errorReceiver)
Generates beans into code model according to the BGM, and produces the reflection model.void
generateAdapterIfNecessary(CPropertyInfo prop, JAnnotatable field)
GeneratesXmlJavaTypeAdapter
fromPropertyInfo
if necessary.JClass
generateStaticClass(Class<?> src, JPackage out)
Iterable<? extends PackageOutline>
getAllPackageContexts()
Gets all package-wise contexts at once.Collection<ClassOutlineImpl>
getClasses()
Returns all theClassOutline
s known to this object.CodeModelClassFactory
getClassFactory()
Gets a reference tonew CodeModelClassFactory(getErrorHandler())
.ClassOutlineImpl
getClazz(CClassInfo bean)
Obtains per-class context information.JCodeModel
getCodeModel()
Short forgetModel().codeModel
.JClassContainer
getContainer(CClassInfoParent parent, Aspect aspect)
ElementOutline
getElement(CElementInfo ei)
If theCElementInfo
generates a class, returns such a class.EnumOutline
getEnum(CEnumLeafInfo eli)
Collection<EnumOutline>
getEnums()
Gets all theEnumOutline
s.ErrorReceiver
getErrorReceiver()
Any error during the back-end proccessing should be sent to this object.FieldOutline
getField(CPropertyInfo prop)
Gets the object that wraps the generated field for a givenCPropertyInfo
.Model
getModel()
This outline is for this model.PackageOutlineImpl
getPackageContext(JPackage p)
Gets per-package context information.JPackage[]
getUsedPackages(Aspect aspect)
Returns all used JPackages.JType
resolve(CTypeRef ref, Aspect a)
Resolves a type reference to the actual (possibly generated) type.
-
-
-
Method Detail
-
generate
public static Outline generate(Model model, ErrorReceiver _errorReceiver)
Generates beans into code model according to the BGM, and produces the reflection model.- Parameters:
_errorReceiver
- This object will receive all the errors discovered during the back-end stage.- Returns:
- returns a
Outline
which will in turn be used to further generate marshaller/unmarshaller, or null if the processing fails (errors should have been reported to the error recevier.)
-
getModel
public Model getModel()
Description copied from interface:Outline
This outline is for this model.
-
getCodeModel
public JCodeModel getCodeModel()
Description copied from interface:Outline
Short forgetModel().codeModel
.- Specified by:
getCodeModel
in interfaceOutline
-
getContainer
public JClassContainer getContainer(CClassInfoParent parent, Aspect aspect)
- Specified by:
getContainer
in interfaceOutline
-
resolve
public JType resolve(CTypeRef ref, Aspect a)
Description copied from interface:Outline
Resolves a type reference to the actual (possibly generated) type. Short forresolve(ref.getType(),aspect)
.
-
getUsedPackages
public JPackage[] getUsedPackages(Aspect aspect)
Returns all used JPackages. A JPackage is considered as "used" if a ClassItem or a InterfaceItem resides in that package. This value is dynamically calculated every time because one can freely remove ClassItem/InterfaceItem.- Returns:
- Given the same input, the order of packages in the array is always the same regardless of the environment.
-
getErrorReceiver
public ErrorReceiver getErrorReceiver()
Description copied from interface:Outline
Any error during the back-end proccessing should be sent to this object.- Specified by:
getErrorReceiver
in interfaceOutline
-
getClassFactory
public CodeModelClassFactory getClassFactory()
Description copied from interface:Outline
Gets a reference tonew CodeModelClassFactory(getErrorHandler())
.- Specified by:
getClassFactory
in interfaceOutline
-
getPackageContext
public PackageOutlineImpl getPackageContext(JPackage p)
Description copied from interface:Outline
Gets per-package context information. This method works for every visible package (those packages which are supposed to be used by client applications.)- Specified by:
getPackageContext
in interfaceOutline
- Returns:
- If this grammar doesn't produce anything in the specified package, return null.
-
getClasses
public Collection<ClassOutlineImpl> getClasses()
Description copied from interface:Outline
Returns all theClassOutline
s known to this object.- Specified by:
getClasses
in interfaceOutline
-
getClazz
public ClassOutlineImpl getClazz(CClassInfo bean)
Description copied from interface:Outline
Obtains per-class context information.
-
getElement
public ElementOutline getElement(CElementInfo ei)
Description copied from interface:Outline
If theCElementInfo
generates a class, returns such a class. Otherwise return null.- Specified by:
getElement
in interfaceOutline
-
getEnum
public EnumOutline getEnum(CEnumLeafInfo eli)
-
getEnums
public Collection<EnumOutline> getEnums()
Description copied from interface:Outline
Gets all theEnumOutline
s.
-
getAllPackageContexts
public Iterable<? extends PackageOutline> getAllPackageContexts()
Description copied from interface:Outline
Gets all package-wise contexts at once.- Specified by:
getAllPackageContexts
in interfaceOutline
-
getField
public FieldOutline getField(CPropertyInfo prop)
Description copied from interface:Outline
Gets the object that wraps the generated field for a givenCPropertyInfo
.
-
generateAdapterIfNecessary
public void generateAdapterIfNecessary(CPropertyInfo prop, JAnnotatable field)
GeneratesXmlJavaTypeAdapter
fromPropertyInfo
if necessary. Also generates other per-property annotations (such asXmlID
,XmlIDREF
, andXmlMimeType
if necessary.
-
addRuntime
public JClass addRuntime(Class<?> clazz)
Description copied from interface:Outline
Copies the specified class into the user's package and returns a reference to it.- Specified by:
addRuntime
in interfaceOutline
-
-