Class BeanGenerator

  • All Implemented Interfaces:
    Outline

    public final class BeanGenerator
    extends Object
    implements Outline
    Generates fields and accessors.
    • 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.
        Specified by:
        getModel in interface Outline
      • resolve

        public JType resolve​(CTypeRef ref,
                             Aspect a)
        Description copied from interface: Outline
        Resolves a type reference to the actual (possibly generated) type. Short for resolve(ref.getType(),aspect).
        Specified by:
        resolve in interface Outline
      • 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 interface Outline
      • 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 interface Outline
        Returns:
        If this grammar doesn't produce anything in the specified package, return null.
      • generateAdapterIfNecessary

        public void generateAdapterIfNecessary​(CPropertyInfo prop,
                                               JAnnotatable field)
        Generates XmlJavaTypeAdapter from PropertyInfo if necessary. Also generates other per-property annotations (such as XmlID, XmlIDREF, and XmlMimeType 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 interface Outline