Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

oracle.javatools.parser.java.v2.common
Class WrapperField

java.lang.Object
  extended by oracle.javatools.parser.java.v2.common.AbstractElement
      extended by oracle.javatools.parser.java.v2.common.AbstractField
          extended by oracle.javatools.parser.java.v2.common.WrapperField
All Implemented Interfaces:
JavaConstants, JavaErrors, JavaOperators, JavaPreferences, JavaTokens, Element, JavaElement, JavaField, JavaHasAnnotations, JavaHasName, JavaHasType, JavaMember, JavaVariable

public abstract class WrapperField
extends AbstractField

Skeleton implementation of an object wrapping a field.


Nested Class Summary
 
Nested classes/interfaces inherited from interface oracle.javatools.parser.java.v2.JavaPreferences
JavaPreferences.MemberOrder
 
Field Summary
protected  JavaField thing
          The underlying thing.
 
Fields inherited from interface oracle.javatools.parser.java.v2.model.JavaField
EMPTY_ARRAY
 
Fields inherited from interface oracle.javatools.parser.java.v2.JavaConstants
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_none, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICTFP, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCX_DEPRECATED, ACCX_HIDDEN, ARRAY_implements, BOUND_EXTENDS, BOUND_NARROW, BOUND_NONE, BOUND_SUPER, ELEM_ANNOTATION, ELEM_base, ELEM_CLASS, ELEM_COMPONENT, ELEM_EXPRESSION, ELEM_FIELD, ELEM_FILE, ELEM_IMPORT, ELEM_invalid, ELEM_LOCAL_VARIABLE, ELEM_max, ELEM_METHOD, ELEM_NOTHING, ELEM_PACKAGE, ELEM_SELF_VARIABLE, ELEM_STATEMENT_LABEL, ELEM_TMP_VARIABLE, ELEM_TYPE_VARIABLE, ELEM_WILDCARD_TYPE, ELEM_words, EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY, FOR_ENHANCED, FOR_EXPRESSION, FOR_VARIABLE_D, kEmptyCollection, opt2srcTable, PACKAGE_INFO, PRIMITIVE_autoboxes, PRIMITIVE_binary, PRIMITIVE_BOOLEAN, PRIMITIVE_BYTE, PRIMITIVE_CHAR, PRIMITIVE_descriptors, PRIMITIVE_DOUBLE, PRIMITIVE_FLOAT, PRIMITIVE_INT, PRIMITIVE_invalid, PRIMITIVE_LONG, PRIMITIVE_max, PRIMITIVE_NULL, PRIMITIVE_SHORT, PRIMITIVE_tokens, PRIMITIVE_unary, PRIMITIVE_VOID, SRC_ANNOTATION, SRC_base, SRC_BLOCK, SRC_CLASS, SRC_CLASS_BODY, SRC_CLASS_INITIALIZER, SRC_CONSTRUCTOR_D, SRC_DOC_base, SRC_DOC_BLOCK_TAG, SRC_DOC_COMMENT, SRC_DOC_DESCRIPTION, SRC_DOC_INLINE_TAG, SRC_DOC_max, SRC_DOC_REFERENCE, SRC_DOC_TAG_NAME, SRC_DOC_TEXT, SRC_ENUM_CONSTANT_D, SRC_ERROR, SRC_EXPR_ANNOTATION, SRC_EXPR_ARRAY_ACCESS, SRC_EXPR_ASSIGNMENT, SRC_EXPR_base, SRC_EXPR_DOT, SRC_EXPR_INFIX, SRC_EXPR_LIST, SRC_EXPR_LITERAL, SRC_EXPR_max, SRC_EXPR_METHOD_CALL, SRC_EXPR_NEW_ARRAY, SRC_EXPR_NEW_CLASS, SRC_EXPR_QUESTION, SRC_EXPR_SIMPLE_NAME, SRC_EXPR_TYPE, SRC_EXPR_TYPECAST, SRC_EXPR_UNARY, SRC_EXPR_WRAPPER, SRC_FIELD_D, SRC_FIELD_VARIABLE, SRC_FILE, SRC_FORMAL_PARAMETER, SRC_FORMAL_PARAMETER_LIST, SRC_IMPORT_D, SRC_INTERFACES_CLAUSE, SRC_invalid, SRC_LABEL, SRC_LEX_base, SRC_LEX_BLANKLINE, SRC_LEX_COMMENT, SRC_LEX_max, SRC_LEX_SQLJ, SRC_LOCAL_VARIABLE, SRC_LOCAL_VARIABLE_D, SRC_max, SRC_METHOD_D, SRC_NAME, SRC_PACKAGE_D, SRC_STMT_ASSERT, SRC_STMT_base, SRC_STMT_BLOCK, SRC_STMT_BREAK, SRC_STMT_CATCH, SRC_STMT_CONTINUE, SRC_STMT_DO, SRC_STMT_ELSE, SRC_STMT_EMPTY, SRC_STMT_EXPRESSION, SRC_STMT_FINALLY, SRC_STMT_FOR, SRC_STMT_IF, SRC_STMT_max, SRC_STMT_RETURN, SRC_STMT_SWITCH, SRC_STMT_SYNCH, SRC_STMT_THROW, SRC_STMT_TRY, SRC_STMT_WHILE, SRC_SUPERCLASS_CLAUSE, SRC_SWITCH_LABEL, SRC_THROWS_CLAUSE, SRC_TYPE_ARGUMENT, SRC_TYPE_PARAMETER, SRC_TYPE_REF, SRC_words, TY_ANNOTATE, TY_CLASS, TY_ENUM, TY_INTERFACE, TY_invalid, TY_max, TY_words
 
Fields inherited from interface oracle.javatools.parser.java.v2.JavaErrors
ERROR_ABSTRACT_CLASS, ERROR_AMBIGUOUS_IMPORT, ERROR_AMBIGUOUS_REF, ERROR_ASSERT_IDENTIFIER, ERROR_base, ERROR_CANCELLED, ERROR_CANT_ASSIGN, ERROR_CANT_EXTEND_ENUM, ERROR_CANT_EXTEND_FINAL, ERROR_CANT_EXTEND_INTERFACE, ERROR_CANT_IMPLEMENT_CLASS, ERROR_CANT_TYPECAST, ERROR_CATEGORY_ALL, ERROR_CATEGORY_COMPILE, ERROR_CATEGORY_PARSE, ERROR_CATEGORY_SCAN, ERROR_CATEGORY_unclassified, ERROR_CHECK_EXCEPTION, ERROR_CLASS_CIRCULARITY, ERROR_COMPILE_base, ERROR_COMPILE_GENERIC, ERROR_COMPILE_max, ERROR_CONSTRUCTOR_NAME, ERROR_DUPLICATE, ERROR_EMPTY_CHAR_LITERAL, ERROR_EMPTY_EXPRESSION, ERROR_EXPECTING_ONE, ERROR_EXPECTING_TWO, ERROR_EXTENDS_NOT_ALLOWED, ERROR_EXTENDS_TOO_MANY, ERROR_FORWARD_REFERENCE, ERROR_ILLEGAL_ANNOTATION, ERROR_ILLEGAL_DEFAULT, ERROR_ILLEGAL_LABEL, ERROR_ILLEGAL_START_OF_EXPR, ERROR_ILLEGAL_TYPE_PARAMETERS, ERROR_ILLEGAL_VARARGS, ERROR_IMPLEMENTS_NOT_ALLOWED, ERROR_IMPORT_NOT_FOUND, ERROR_INTERNAL, ERROR_INVALID_CHAR_LITERAL, ERROR_INVALID_ESCAPE_SEQUENCE, ERROR_INVALID_EXPR_STMT, ERROR_INVALID_NAME, ERROR_INVALID_OPERATION, ERROR_INVALID_SUPERTYPE, ERROR_keys, ERROR_LONE_CATCH, ERROR_LONE_ELSE, ERROR_LONE_FINALLY, ERROR_LONE_TRY, ERROR_max, ERROR_MEMBER_NOT_FOUND, ERROR_METHOD_NOT_FOUND, ERROR_MISSING_CONDITION, ERROR_MISSING_METHOD_BODY, ERROR_MODIFIER_REPEATED, ERROR_MULTIPLE_COMPONENTS, ERROR_NAME_NOT_FOUND, ERROR_none, ERROR_NOT_ACCESSIBLE, ERROR_NOT_ANNOTATION_TYPE, ERROR_NOT_ASSIGNABLE, ERROR_NOT_GENERIC_TYPE, ERROR_NOT_IMPLEMENTED_YET, ERROR_NOT_THROWABLE, ERROR_NUMBER_FORMAT, ERROR_NUMERIC_OVERFLOW, ERROR_NUMERIC_UNDERFLOW, ERROR_ONLY_STATIC_ACCESS, ERROR_PARSE_base, ERROR_PARSE_GENERIC, ERROR_PARSE_max, ERROR_REQUIRE_ARRAY, ERROR_REQUIRE_BLOCK, ERROR_REQUIRE_FINAL, ERROR_REQUIRE_OBJECT, ERROR_REQUIRE_OUTER_CLASS, ERROR_SCAN_base, ERROR_SCAN_GENERIC, ERROR_SCAN_max, ERROR_TYPE_ARGUMENT_MISMATCH, ERROR_TYPE_NOT_ALLOWED, ERROR_TYPE_NOT_FOUND, ERROR_UNEXPECTED, ERROR_UNKNOWN, ERROR_VOID_RETURN, ERROR_warnings, ERROR_words, SEVERITY_ERROR, SEVERITY_FATAL, SEVERITY_LINT, SEVERITY_WARNING, SEVERITY_ZERO, WARNING_AMBIGUOUS_DOC_REFERENCE, WARNING_ASSERT_IDENTIFIER, WARNING_DOC_REFERENCE_NOT_FOUND, WARNING_IMPORT_UNUSED, WARNING_INVALID_NAME, WARNING_METHOD_NAME
 
Fields inherited from interface oracle.javatools.parser.java.v2.JavaOperators
OPT_ADD, OPT_ADDASG, OPT_AND, OPT_ANNOTATION, OPT_ARRAYCONST, OPT_ASG, OPT_base, OPT_BITAND, OPT_BITANDASG, OPT_BITNOT, OPT_BITOR, OPT_BITORASG, OPT_BITXOR, OPT_BITXORASG, OPT_CLASS_LITERAL, OPT_COND, OPT_DEREF, OPT_DIV, OPT_DIVASG, OPT_DOT, OPT_EQ, OPT_GE, OPT_GT, OPT_INSTANCEOF, OPT_invalid, OPT_INVOKE, OPT_LE, OPT_LIST, OPT_LITERAL, OPT_LSH, OPT_LSHASG, OPT_LT, OPT_max, OPT_MINUS, OPT_MINUSASG, OPT_MOD, OPT_MODASG, OPT_MUL, OPT_MULASG, OPT_NEGATIVE, OPT_NESTEXP, OPT_NEWARRAY, OPT_NEWOBJECT, OPT_NOT, OPT_NOTEQ, OPT_OR, OPT_POSITIVE, OPT_POSTDEC, OPT_POSTINC, OPT_precedence, OPT_PREDEC, OPT_PREINC, OPT_QUALIFIED_SUPER, OPT_QUALIFIED_THIS, OPT_RSH, OPT_RSHASG, OPT_SIMPLE_NAME, OPT_tokens, OPT_TYPE, OPT_TYPECAST, OPT_URSH, OPT_URSHASG, OPT_words
 
Fields inherited from interface oracle.javatools.parser.java.v2.JavaTokens
DW_values, DW_words, J2SE_13, J2SE_14, J2SE_15, J2SE_16, KW_ABSTRACT, KW_ASSERT, KW_base, KW_BOOLEAN, KW_BREAK, KW_BYTE, KW_CASE, KW_CATCH, KW_CHAR, KW_CLASS, KW_CONST, KW_CONTINUE, KW_DEFAULT, KW_DO, KW_DOUBLE, KW_ELSE, KW_ENUM, KW_EXTENDS, KW_FINAL, KW_FINALLY, KW_FLOAT, KW_FOR, KW_GOTO, KW_IF, KW_IMPLEMENTS, KW_IMPORT, KW_INSTANCEOF, KW_INT, KW_INTERFACE, KW_j2se13_max, KW_j2se14_max, KW_j2se15_max, KW_j2se16_max, KW_LONG, KW_max, KW_NATIVE, KW_NEW, KW_PACKAGE, KW_PRIVATE, KW_PROTECTED, KW_PUBLIC, KW_RETURN, KW_SHORT, KW_STATIC, KW_STRICTFP, KW_SUPER, KW_SWITCH, KW_SYNCHRONIZED, KW_THIS, KW_THROW, KW_THROWS, KW_TRANSIENT, KW_TRY, KW_VOID, KW_VOLATILE, KW_WHILE, KW_words, OP_AND_ASG, OP_ASG, OP_AT, OP_base, OP_BINAND, OP_binary, OP_BINNOT, OP_BINOR, OP_BINXOR, OP_COLON, OP_COMMA, OP_DEC, OP_DIV, OP_DIV_ASG, OP_DOT, OP_ELLIPSIS, OP_EQ, OP_GE, OP_GT, OP_HASH, OP_INC, OP_LBRACE, OP_LBRACKET, OP_LE, OP_LOGAND, OP_LOGNOT, OP_LOGOR, OP_LPAREN, OP_LSH, OP_LSH_ASG, OP_LT, OP_max, OP_MINUS, OP_MINUS_ASG, OP_MOD, OP_MOD_ASG, OP_MUL, OP_MUL_ASG, OP_NE, OP_OR_ASG, OP_PLUS, OP_PLUS_ASG, OP_prefix, OP_QUES, OP_RBRACE, OP_RBRACKET, OP_RPAREN, OP_RSH, OP_RSH_ASG, OP_SEMI, OP_URSH, OP_URSH_ASG, OP_words, OP_XOR_ASG, TK_BOOLEAN_LITERAL, TK_CHAR_LITERAL, TK_DOC_COMMENT, TK_DOUBLE_LITERAL, TK_EOF, TK_FLOAT_LITERAL, TK_IDENTIFIER, TK_INT_LITERAL, TK_LITERAL_base, TK_LITERAL_max, TK_LONG_LITERAL, TK_max, TK_MULTI_COMMENT, TK_NULL_LITERAL, TK_SINGLE_COMMENT, TK_SQLJ, TK_STRING_LITERAL, TK_WHITESPACE
 
Fields inherited from interface oracle.javatools.parser.java.v2.JavaPreferences
BLANKLINES_AFTER_LAST_MEMBER, BLANKLINES_BEFORE_DOC_COMMENT, BLANKLINES_BEFORE_FIELD, BLANKLINES_BEFORE_FIRST_CLASS, BLANKLINES_BEFORE_FIRST_MEMBER, BLANKLINES_BEFORE_MEMBER_CLASS, BLANKLINES_BEFORE_METHOD, BLANKLINES_EMPTY_ANONYMOUS, BLANKLINES_EMPTY_BLOCK, BLANKLINES_EMPTY_CLASS, BLANKLINES_EMPTY_METHOD, BLANKLINES_IMPORTS_AFTER, BLANKLINES_PACKAGE_AFTER, BLANKLINES_PRESERVE_COUNT, CLONE_QUALIFIES_TYPES, FALSE, IGNORED_I, IGNORED_Z, IMPORT_GROUP_IMPORTS, IMPORT_GROUP_PACKAGE_DEPTH, IMPORT_INNER_CLASS_NAME, IMPORT_NARROW_MEMBERS_THRESHOLD, IMPORT_NARROW_THRESHOLD, INDENT_BLOCK_CHILDREN, INDENT_CLASS_MEMBERS, INDENT_CONTROL_BLOCKS, INDENT_NUM_SPACES, INDENT_REPLACE_WITH_TABS, INDENT_SWITCH_CASES, INDENT_TAB_SIZE, INTEGER_ALWAYS_WRAP, INTEGER_NEVER_WRAP, INTEGER_WRAP_IF_LONG, MEMBER_ORDER, NEWLINE_AFTER_SWITCH_CASE, NEWLINE_ARRAY_BRACES, NEWLINE_BLOCK_BRACES, NEWLINE_CATCH, NEWLINE_CLASS_BRACES, NEWLINE_ELSE, NEWLINE_EXTENDS, NEWLINE_FINALLY, NEWLINE_IMPLEMENTS, NEWLINE_METHOD_BRACES, NEWLINE_THROWS, NEWLINE_WHILE, ONE, PREFERENCES_base, PREFERENCES_defaults, PREFERENCES_keys, PREFERENCES_max, PREFERENCES_sun, SPACE_ARGUMENTS_BEFORE, SPACE_ASSIGN_AROUND, SPACE_BINARYOP_AROUND, SPACE_BRACES_AROUND, SPACE_BRACKETS_WITHIN, SPACE_COLON_AFTER, SPACE_COLON_BEFORE, SPACE_COMMA_AFTER, SPACE_COMMA_BEFORE, SPACE_KEYWORD_AFTER, SPACE_OPENBRACE_BEFORE, SPACE_PARAMETERS_BEFORE, SPACE_PARENS_WITHIN, SPACE_QUESTION_AFTER, SPACE_QUESTION_BEFORE, SPACE_SEMICOLON_AFTER, SPACE_SEMICOLON_BEFORE, SPACE_TYPECAST_AFTER, TRI_ALWAYS_WRAP, TRI_NEVER_WRAP, TRI_WRAP_IF_LONG, TRUE, TWO, UNKNOWN_I, UNKNOWN_Z, WRAP_ALIGN, WRAP_ARRAY_CONSTANT, WRAP_BINARY_OPERATOR, WRAP_DOT_CHAIN, WRAP_EXTENDS, WRAP_FOR_STATEMENT, WRAP_INVOKE_ARGUMENTS, WRAP_LINE_WIDTH, WRAP_MODIFIERS, WRAP_PARAMETER_LIST, WRAP_QUES_OPERATOR, WRAP_THROWS, ZERO
 
Constructor Summary
protected WrapperField(JavaField thing)
           
 
Method Summary
 java.lang.Object getConstantValue()
          TODO: What about static final fields of enum type?
 java.util.Collection getDeclaredAnnotations()
          Retrieves all the annotations declared on this element.
 int getElementKind()
           
 JavaFile getFile()
           
 int getModifiers()
           
 java.lang.String getName()
           
 JavaElement getOwner()
          TODO: Document me!
 JavaClass getOwningClass()
           
 JavaType getResolvedType()
          A JavaField instance will return the field's type.
 SourceElement getSourceElement()
           
 UnresolvedType getUnresolvedType()
          Information about a type that has not been resolved.
 boolean isDeprecated()
           
 boolean isHidden()
           
 boolean isSourceElement()
           
 java.lang.String printCompiledInfo()
          Debugging function for printing out compiled information.
 
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractField
equals, getDescriptor, getSignature, getUniqueIdentifier, hashCode, isEnumConstant, isVarargs
 
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractElement
clearCompiledInfo, getActualTypeArguments, getAnnotation, getAnnotations, getDeclaredAnnotation, getSourceSymbol, getTypeParameters, hasActualTypeArguments, hasTypeParameters, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, isTransient
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface oracle.javatools.parser.java.v2.model.JavaMember
isAbstract, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
 
Methods inherited from interface oracle.javatools.parser.java.v2.model.JavaHasAnnotations
getAnnotation, getAnnotations, getDeclaredAnnotation
 
Methods inherited from interface oracle.javatools.parser.java.v2.model.JavaElement
isFinal, isSynthetic
 

Field Detail

thing

protected final JavaField thing
The underlying thing.

Constructor Detail

WrapperField

protected WrapperField(JavaField thing)
Method Detail

getFile

public JavaFile getFile()
Specified by:
getFile in interface JavaElement
Overrides:
getFile in class AbstractField
Returns:
Returns the JavaFile that this element is contained in.

If a SourceFile is returned, then this element is declared in or otherwise comes in a SourceFile.

A non-null JavaFile may be returned that is not a SourceFile. For example, a JavaClass that came from a .class file definition will return such a JavaFile instance.

If null, then this element was created on-the-fly.


getModifiers

public int getModifiers()
Specified by:
getModifiers in interface JavaElement
Specified by:
getModifiers in class AbstractField
Returns:
The access modifiers on this element.

getElementKind

public int getElementKind()
Specified by:
getElementKind in interface JavaElement
Overrides:
getElementKind in class AbstractField
Returns:
The type of JavaElement this is. Valid values are JavaConstants.ELEM_*.

getName

public java.lang.String getName()
Specified by:
getName in interface JavaHasName
Specified by:
getName in class AbstractField
Returns:
The short (simple) name of this compiled object.

getResolvedType

public JavaType getResolvedType()
Description copied from interface: JavaHasType
A JavaField instance will return the field's type.

A JavaMethod instance will return the method's return type.

A JavaVariable instance will return the variable's type.

A JavaType instance will return itself.

Specified by:
getResolvedType in interface JavaHasType
Specified by:
getResolvedType in class AbstractField
Returns:
The type of this compiled object.

getUnresolvedType

public UnresolvedType getUnresolvedType()
Description copied from interface: JavaHasType
Information about a type that has not been resolved. Defined in order to provide information when getResolvedType() == null. The typical use is to obtain a String for display purposes.

Specified by:
getUnresolvedType in interface JavaHasType
Overrides:
getUnresolvedType in class AbstractElement
Returns:
An object that provides information on the type we are trying to resolve. Always non-null.

getSourceElement

public SourceElement getSourceElement()
Specified by:
getSourceElement in interface JavaElement
Overrides:
getSourceElement in class AbstractElement
Returns:
The corresponding source symbol to this element. Null if there is no corresponding source symbol or if the corresponding source symbol could not be found.

isSourceElement

public boolean isSourceElement()
Specified by:
isSourceElement in interface JavaElement
Overrides:
isSourceElement in class AbstractElement
Returns:
True if this instance is a SourceElement itself. False otherwise.

getDeclaredAnnotations

public java.util.Collection getDeclaredAnnotations()
Description copied from interface: JavaHasAnnotations
Retrieves all the annotations declared on this element.

Specified by:
getDeclaredAnnotations in interface JavaHasAnnotations
Overrides:
getDeclaredAnnotations in class AbstractElement
Returns:
The collection of annotations declared on this element. Returns a Collection of JavaAnnotation's.

printCompiledInfo

public java.lang.String printCompiledInfo()
Description copied from interface: JavaElement
Debugging function for printing out compiled information.

Specified by:
printCompiledInfo in interface JavaElement
Overrides:
printCompiledInfo in class AbstractField

isDeprecated

public boolean isDeprecated()
Specified by:
isDeprecated in interface JavaElement
Overrides:
isDeprecated in class AbstractElement
Returns:
True if this is deprecated. False otherwise.

isHidden

public boolean isHidden()
Specified by:
isHidden in interface JavaElement
Overrides:
isHidden in class AbstractElement
Returns:
True if this is hidden (bug 2798659). False otherwise.

getOwningClass

public JavaClass getOwningClass()
Specified by:
getOwningClass in interface JavaMember
Specified by:
getOwningClass in class AbstractField
Returns:
The owning class. If this is an instance of a generic field, then this will return an instance of the owning class as well. For example, consider:
class C<E>
{
E field;

{
C generic = new C();
generic.field = null;

C<String> specific = new C<String>();
specific.field = null;
}
}

If this instance represents the member field accessed by "generic.field", then getOwningClass will return the type for "C".

If this instance represents the member field accessed by "specific.field", then getOwningClass will return the type for "C<String>".

Further, the expressions "generic.field" and "specific.field" do not refer to the same JavaField instance.


getOwner

public JavaElement getOwner()
Description copied from interface: JavaElement
TODO: Document me!

Specified by:
getOwner in interface JavaElement
Overrides:
getOwner in class AbstractField

getConstantValue

public java.lang.Object getConstantValue()
Description copied from interface: JavaVariable
TODO: What about static final fields of enum type?

Specified by:
getConstantValue in interface JavaVariable
Overrides:
getConstantValue in class AbstractField
Returns:
The constant value. Null if this variable does not have a constant value or if the constant value could not be determined.

Note: Constant values cannot be null. Therefore, null indicates no constant value.

If the constant value is of primitive type, it will be wrapped in an object. For example, if the constant value is an int of value 1, then an Integer i such that i.intValue() == 1 will be returned.

If the constant value is of String type, a String of same value will be returned.

If the constant value is an array, then an array of Object[] will be returned. If the constant value is an int array with single element one, then an Object[ 1 ] with single entry Integer i such that i.intValue() == 1 will be returned.

If the constant value is an enum constant, the enum constant itself is NOT returned because of practical considerations regarding classloading. Instead, a JavaField corresponding to that enum constant is returned. Notice that if "this" is an enum constant, then "this" is returned because it itself represents the enum constant.

If the constant value is a class literal, then a JavaType corresponding to the class is returned. This cannot be a JavaClass because some class literals are array types.


Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

Copyright © 1997, 2011, Oracle. All rights reserved.