Class CodeDefinition
- java.lang.Object
-
- org.eclipse.persistence.internal.codegen.CodeDefinition
-
- Direct Known Subclasses:
AttributeDefinition,ClassDefinition,MethodDefinition
public abstract class CodeDefinition extends java.lang.ObjectINTERNAL:Purpose: Model a element of code generation purposes.
- Since:
- TopLink 3.0
- Author:
- James Sutherland
-
-
Field Summary
Fields Modifier and Type Field Description protected AccessLevelaccessLevelprotected java.lang.Stringcommentprotected static java.lang.StringJAVA_LANG_PACKAGE_NAMEprotected static java.lang.StringJAVA_UTIL_PACKAGE_NAMEprotected java.lang.Stringnameprotected static java.lang.StringTOPLINK_INDIRECTION_PACKAGE_NAME
-
Constructor Summary
Constructors Constructor Description CodeDefinition()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static java.lang.StringadjustTypeName(java.lang.String typeName, java.util.Map typeNameMap)Compares the typeName to those stored in the typeNameMap.AccessLevelgetAccessLevel()java.lang.StringgetComment()java.lang.StringgetName()protected static java.util.SetparseForTypeNames(java.lang.String longString)Returns a set of java.lang.String type names included in longString.protected static voidputTypeNameInMap(java.lang.String typeName, java.util.Map typeNameMap)Used for calculating imports.voidsetAccessLevel(AccessLevel accessLevel)voidsetComment(java.lang.String comment)voidsetName(java.lang.String name)java.lang.StringtoString()voidwrite(CodeGenerator generator)Write the code out to the generator's stream.abstract voidwriteBody(CodeGenerator generator)Write the code out to the generator's stream.
-
-
-
Field Detail
-
accessLevel
protected AccessLevel accessLevel
-
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
-
-
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()
-
getAccessLevel
public AccessLevel getAccessLevel()
-
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:
toStringin classjava.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.
-
-