Class CodeDefinition

  • Direct Known Subclasses:
    AttributeDefinition, ClassDefinition, MethodDefinition

    public abstract class CodeDefinition
    extends java.lang.Object
    INTERNAL:

    Purpose: Model a element of code generation purposes.

    Since:
    TopLink 3.0
    Author:
    James Sutherland
    • Field Detail

      • name

        protected java.lang.String name
      • comment

        protected java.lang.String comment
      • JAVA_LANG_PACKAGE_NAME

        protected static final java.lang.String JAVA_LANG_PACKAGE_NAME
        See Also:
        Constant Field Values
      • JAVA_UTIL_PACKAGE_NAME

        protected static final java.lang.String JAVA_UTIL_PACKAGE_NAME
        See Also:
        Constant Field Values
      • TOPLINK_INDIRECTION_PACKAGE_NAME

        protected static final java.lang.String TOPLINK_INDIRECTION_PACKAGE_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • CodeDefinition

        public CodeDefinition()
    • Method Detail

      • adjustTypeName

        protected static java.lang.String adjustTypeName​(java.lang.String typeName,
                                                         java.util.Map typeNameMap)
        Compares the typeName to those stored in the typeNameMap. If the short name of the typeName is unambiguous (only one package for that short name in the Map), removes the package name and returns the short name, else returns the whole thing. Assumes that typeName contains only a package name (optional) and a short name, potentially with subtended brackets. (e.g. int -> int, java.util.Vector -> Vector, java.lang.Boolean[] -> Boolean[], etc.)
      • parseForTypeNames

        protected static java.util.Set parseForTypeNames​(java.lang.String longString)
        Returns a set of java.lang.String type names included in longString. Will only look for ValueHolder, java.util collection types, and TopLink indirect collection types. All other searches too intractable at this point.
      • putTypeNameInMap

        protected static void putTypeNameInMap​(java.lang.String typeName,
                                               java.util.Map typeNameMap)
        Used for calculating imports. @see org.eclipse.persistence.internal.codegen.ClassDefinition#calculateImports()
      • getComment

        public java.lang.String getComment()
      • getName

        public java.lang.String getName()
      • setAccessLevel

        public void setAccessLevel​(AccessLevel accessLevel)
      • setComment

        public void setComment​(java.lang.String comment)
      • setName

        public void setName​(java.lang.String name)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • write

        public void write​(CodeGenerator generator)
        Write the code out to the generator's stream.
      • writeBody

        public abstract void writeBody​(CodeGenerator generator)
        Write the code out to the generator's stream.