Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

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

java.lang.Object
  extended by oracle.javatools.parser.java.v2.common.AbstractElement
      extended by oracle.javatools.parser.java.v2.common.AbstractType
          extended by oracle.javatools.parser.java.v2.common.AbstractClass
              extended by oracle.javatools.parser.java.v2.common.WrapperClass
All Implemented Interfaces:
JavaConstants, JavaErrors, JavaOperators, JavaPreferences, JavaTokens, Element, JavaClass, JavaElement, JavaHasAnnotations, JavaHasName, JavaHasType, JavaIsGeneric, JavaMember, JavaType

public abstract class WrapperClass
extends AbstractClass

Skeleton implementation of an object wrapping a class.


Nested Class Summary
 
Nested classes/interfaces inherited from interface oracle.javatools.parser.java.v2.JavaPreferences
JavaPreferences.MemberOrder
 
Field Summary
protected  JavaClass thing
          The underlying thing.
 
Fields inherited from interface oracle.javatools.parser.java.v2.model.JavaClass
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_CATCH_PARAMETER, 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_BREAK_OUTSIDE_SWITCH_OR_LOOP, 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_CONTINUE_OUTSIDE_OF_LOOP, ERROR_DUPLICATE, ERROR_EMPTY_CHAR_LITERAL, ERROR_EMPTY_EXPRESSION, ERROR_EXPECTING_ONE, ERROR_EXPECTING_TWO, ERROR_EXPECTING_TYPE, 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_STRING_LITERAL, 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_CASE_OR_DEFAULT_LABEL, 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_IS_NOT_AUTOCLOSEABLE, ERROR_TYPE_IS_NOT_DISJUNCTIVE, 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, J2SE_17, J2SE_MAX, J2SE_MIN, 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 WrapperClass(JavaClass thing)
           
 
Method Summary
 void clearCompiledInfo()
          Overrides should chain.
 java.util.Collection getActualTypeArguments()
          Get the type arguments, if any
 int getArrayDimensions()
           
 JavaType getBaseComponentType()
           
 JavaMethod getClinitMethod()
           
 JavaType getComponentType()
           
 java.util.Collection getDeclaredAnnotations()
          Retrieves all the annotations declared on this element.
 java.util.Collection getDeclaredClasses()
          In order to get all inner classes, clients must recurse through direct inner classes.
 java.util.Collection getDeclaredConstructors()
           
 java.util.Collection getDeclaredFields()
           
 java.util.Collection getDeclaredMethods()
           
 int getElementKind()
           
 JavaFile getFile()
           
 java.util.Collection getInterfaces()
          The name "getInterfaces" was chosen to be consistent with java/lang/Class.
 int getModifiers()
           
 java.lang.String getName()
          Gets the simplest name of this type with "[]"s if present.
 JavaElement getOwner()
          TODO: Document me!
 JavaClass getOwningClass()
           
 JavaPackage getPackage()
          Gets the owning package, null if N/A.
 java.lang.String getPackageName()
          Gets the qualified name of the owning package.
 java.lang.String getQualifiedName()
          Gets the fully qualified name of this type in source format.
 java.lang.String getRawName()
          Gets the raw name of this type.
 SourceElement getSourceElement()
           
 JavaType getSuperclass()
          The name "getSuperclass" was chosen to be consistent with java/lang/Class.
 JavaClass getTypeErasure()
          Gets the type erasure of this type, as defined by the JLS3.
 java.util.Collection getTypeParameters()
           
 java.util.Collection<UnresolvedType> getUnresolvedInterfaces()
          When reverse engineering bytecode, some types cannot be resolved if the correct owning project is not associated to the JavaProvider.
 java.net.URL getURL()
          If the input for this type is a *.class file, the returned URL will be for the *.class file.
 java.lang.String getVMName()
          Gets the VM name for this type.
 boolean isAnnotation()
           
 boolean isArray()
           
 boolean isDeprecated()
           
 boolean isEnum()
           
 boolean isExported()
           
 boolean isHidden()
           
 boolean isInterface()
           
 boolean isMemberClass()
          True if this is a member type.
 boolean isPrimitive()
           
 boolean isSourceElement()
           
 
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractClass
getDescriptor, getSignature, getTypeSignature, getUniqueIdentifier
 
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractType
equals, getAnnotation, getAnnotations, getClass, getClasses, getClosestClass, getDeclaredClass, getDeclaredConstructor, getDeclaredField, getDeclaredMethod, getDeclaredMethods, getField, getFields, getHierarchy, getMethod, getMethods, getMethods, getOwningMethod, getResolvedType, getSourceName, getThisValue, getTypeParameter, getUnqualifiedName, getUnresolvedSuperclass, getUnresolvedType, hashCode, isAssignableFrom, isSubtypeOf, printCompiledInfo
 
Methods inherited from class oracle.javatools.parser.java.v2.common.AbstractElement
getDeclaredAnnotation, getSourceSymbol, hasActualTypeArguments, hasTypeParameters, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, isTransient, isVarargs
 
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.JavaType
equals, getClass, getClasses, getClosestClass, getDeclaredClass, getDeclaredConstructor, getDeclaredField, getDeclaredMethod, getDeclaredMethods, getField, getFields, getHierarchy, getMethod, getMethods, getMethods, getThisValue, getUnqualifiedName, getUnresolvedSuperclass, isAssignableFrom, isSubtypeOf
 
Methods inherited from interface oracle.javatools.parser.java.v2.model.JavaIsGeneric
getTypeParameter, hasActualTypeArguments, hasTypeParameters
 
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.JavaHasType
getResolvedType, getUnresolvedType
 
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, printCompiledInfo
 

Field Detail

thing

protected final JavaClass thing
The underlying thing.

Constructor Detail

WrapperClass

protected WrapperClass(JavaClass thing)
Method Detail

getModifiers

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

getElementKind

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

getName

public java.lang.String getName()
Description copied from interface: JavaType
Gets the simplest name of this type with "[]"s if present.

The name of a non-parametrized top-level type of the form "pkg.Cls" is "Cls".

The name of a non-parametrized member type of the form "pkg.Cls.InnerClass" is "InnerClass".

The name of an array type T[] is the name of T suffixed by the appropriate number of "[]"s.

The name of a parametrized type is the same as the name of its raw type. That is, the name of "pkg.Cls<String>" is simply "Cls".

The name of a wildcard type is always "?".

The name of a type parameter should be pretty obvious.

The name of a primitive type should be pretty obvious.

The name of a local inner class is just its name.

An anonymous inner classes does not have a name and will return the empty string.

Specified by:
getName in interface JavaHasName
Specified by:
getName in interface JavaType
Specified by:
getName in class AbstractType
Returns:
The simple name of this type with "[]"s if present.


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.

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.

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.

clearCompiledInfo

public void clearCompiledInfo()
Description copied from class: AbstractElement
Overrides should chain.

Specified by:
clearCompiledInfo in interface JavaClass
Overrides:
clearCompiledInfo in class AbstractType

getFile

public JavaFile getFile()
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.


getOwningClass

public JavaClass getOwningClass()
Specified by:
getOwningClass in interface JavaMember
Overrides:
getOwningClass in class AbstractType
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 AbstractType

getTypeParameters

public java.util.Collection getTypeParameters()
Specified by:
getTypeParameters in interface JavaIsGeneric
Overrides:
getTypeParameters in class AbstractElement
Returns:
The array of type parameters for this generic type. Zero-length if this type is not of generic type. Returns a Collection of JavaTypeVariable's.

getActualTypeArguments

public java.util.Collection getActualTypeArguments()
Description copied from interface: JavaIsGeneric
Get the type arguments, if any

Specified by:
getActualTypeArguments in interface JavaIsGeneric
Overrides:
getActualTypeArguments in class AbstractElement
Returns:
The array of actual type arguments this type or member is bound to. Zero-length if this type is not generic or is not bound or is a type with implied type arguments, such as from the diamond syntax for new class expressions. Returns a Collection of JavaType's.

isExported

public boolean isExported()
Specified by:
isExported in interface JavaType
Overrides:
isExported in class AbstractClass
Returns:
True if this is a top-level class or a member inner class. False otherwise (local classes and anonymous classes).

isInterface

public boolean isInterface()
Specified by:
isInterface in interface JavaType
Overrides:
isInterface in class AbstractClass
Returns:
True if this is an interface type or an annotation type. False otherwise.

isAnnotation

public boolean isAnnotation()
Specified by:
isAnnotation in interface JavaType
Overrides:
isAnnotation in class AbstractClass
Returns:
True if this is an annotation type. False otherwise.

isEnum

public boolean isEnum()
Specified by:
isEnum in interface JavaType
Overrides:
isEnum in class AbstractClass
Returns:
True if this an enumeration type. False otherwise.

isMemberClass

public boolean isMemberClass()
Description copied from interface: JavaType
True if this is a member type.

Specified by:
isMemberClass in interface JavaType
Overrides:
isMemberClass in class AbstractClass

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.

isPrimitive

public boolean isPrimitive()
Specified by:
isPrimitive in interface JavaType
Overrides:
isPrimitive in class AbstractType
Returns:
True if this type is a primitive type.

isArray

public boolean isArray()
Specified by:
isArray in interface JavaType
Overrides:
isArray in class AbstractType
Returns:
True if this type is an array type.

getArrayDimensions

public int getArrayDimensions()
Specified by:
getArrayDimensions in interface JavaType
Overrides:
getArrayDimensions in class AbstractType
Returns:
The array dimensions, zero if this is not an array type.

getComponentType

public JavaType getComponentType()
Specified by:
getComponentType in interface JavaType
Overrides:
getComponentType in class AbstractType
Returns:
The component type of this array. For example, if this type is "int[]", this will return the type for "int". If this is not an array type, this returns null (to match the behavior of java/lang/Class).

getBaseComponentType

public JavaType getBaseComponentType()
Specified by:
getBaseComponentType in interface JavaType
Overrides:
getBaseComponentType in class AbstractType
Returns:
The base component type of this array, that is, the type we get when all array dimensions have been removed. For example, if this type is "int[][]", this will return the type for "int". If this is not an array type, this returns null (to match the behavior of java/lang/Class).

getQualifiedName

public java.lang.String getQualifiedName()
Description copied from interface: JavaType
Gets the fully qualified name of this type in source format. Here, "source format" means the format of a type reference in a source compilation unit. A type's source name uniquely identifies a type in a specific scope but not in the global scope.

The source name of a non-parametrized top-level type of the form "pkg.Cls" is "pkg.Cls".

The source name of a non-parametrized member type of the form T.InnerClass (that is, a member type InnerClass that is a member of type T) is the source name of T suffixed with by ".InnerClass", e.g. "java.util.Map.Entry", "pkg.Cls<?>.InnerClass".

The source name of a parametrized type starts with the source name of the raw type and lists the source name of all of its actual type argumenths, e.g. "java.util.List<java.lang.String>". The source name of an array type T[] is the source name of T suffixed by the appropriate number of "[]"s.

The source name of a wildcard type is the string with which it would appear in a source file. The three possible forms this can take are: "?", "? extends T", "? super T".

The source name of a type parameter is just its name.

The source name of a primitive type should be pretty obvious.

The source name of a local inner class is just its name because a local inner class is referenced, in a source file, by its name.

An anonymous inner classes does not have a source name. It will return the empty string for its source name.

Open for discussion: What should be returned by an anonymous class? Technically, the concept of a source name is irrelevant because anonymous classes may not be referred to in a source compilation unit.

Specified by:
getQualifiedName in interface JavaType
Specified by:
getQualifiedName in class AbstractType
Returns:
The fully qualified source name for this type, empty for anonymous classes. Example values: java.lang.Object java.util.Map<String,String> java.lang.String[][]

getRawName

public java.lang.String getRawName()
Description copied from interface: JavaType
Gets the raw name of this type. Here, we define the raw name to be the fully qualified source name of the raw type.

The raw name of a parametrized top-level or member or local inner type is the source name of its type erasure, as defined by the JLS3. Think of the raw name as the source name with all parametrization stripped out.

The raw name of an array type T[] is the raw name of T suffixed by the appropriate number of "[]"s.

The raw name for any other type is the same as its source name.

Specified by:
getRawName in interface JavaType
Overrides:
getRawName in class AbstractType
Returns:
The source name of the raw type. If "the raw type" does not apply to this type, then the source type is returned.

getVMName

public java.lang.String getVMName()
Description copied from interface: JavaType
Gets the VM name for this type. The JVMS3 defines an internal name format for raw classes. We call this the VM name of a type. It's useful for loading known types such as "java/lang/Object" and "java/lang/Throwable". Here is how we define the "VM name" for all types:

The VM name of a non-parametrized top-level type of the form "pkg.Cls" is "pkg/Cls".

The VM name of a non-parametrized member-level type of the form "pkg.Cls.InnerClass" is "pkg/Cls$InnerClass".

The VM name of a parametrized type is the VM name of the raw type. Because parametrization is stripped at run-time, we will omit it from the VM name.

The VM name of an array type T[] is the VM name of T suffixed by the appropriate number of "[]"s.

The VM name of a local inner class or anonymous inner class is a string that uniquely identifies it from all other types and is usually prefixed with the VM name of its directly enclosing class. For example, an anonymous inner class belonging to the type "pkg.Cls" may return "pkg/Cls$1".

The VM name of any other type is the same as its source name.

Specified by:
getVMName in interface JavaType
Specified by:
getVMName in class AbstractType
Returns:
The raw name, also known as the VM name, of this type. e.g. "java/lang/Object", "java/util/Map$Entry"

getURL

public java.net.URL getURL()
Description copied from interface: JavaType
If the input for this type is a *.class file, the returned URL will be for the *.class file. If the client wants a *.java URL, the client should get the source element and then ask it what it's URL is.

Specified by:
getURL in interface JavaType
Overrides:
getURL in class AbstractType
Returns:
The URL for this JavaType. Null if none.

getTypeErasure

public JavaClass getTypeErasure()
Description copied from interface: JavaType
Gets the type erasure of this type, as defined by the JLS3. A simple way of thinking of a type erasure is that it's the "closest non-generic class" to this type. You can also think of it as the 1.4-compatible class for this type.

Specified by:
getTypeErasure in interface JavaType
Overrides:
getTypeErasure in class AbstractClass
Returns:
The JavaClass for this type's erasure.

getPackage

public JavaPackage getPackage()
Description copied from interface: JavaType
Gets the owning package, null if N/A.

Specified by:
getPackage in interface JavaType
Overrides:
getPackage in class AbstractType
Returns:
The owning compile-model package, null if this is a primitive or an array type. Type parameters and wildcard types return the owning package of the enclosing class.

getPackageName

public java.lang.String getPackageName()
Description copied from interface: JavaType
Gets the qualified name of the owning package. Provided for convenience.

Specified by:
getPackageName in interface JavaType
Overrides:
getPackageName in class AbstractType
Returns:
The qualified name of the owning package. Empty if none.

getSuperclass

public JavaType getSuperclass()
Description copied from interface: JavaType
The name "getSuperclass" was chosen to be consistent with java/lang/Class.

Specified by:
getSuperclass in interface JavaType
Overrides:
getSuperclass in class AbstractType
Returns:
The resolved superclass.

If this is a JavaClass: Null for java/lang/Object and primitive types, non-null otherwise. Where no base class was declared, java/lang/Object is returned, even for interfaces.

If this is a JavaType: Null if no superclass was declared AND an interface was declared.

If this is a JavaWildcardType: Always null.


getInterfaces

public java.util.Collection getInterfaces()
Description copied from interface: JavaType
The name "getInterfaces" was chosen to be consistent with java/lang/Class.

Specified by:
getInterfaces in interface JavaType
Overrides:
getInterfaces in class AbstractType
Returns:
The array of resolved super-interfaces. May be zero-length. Will include all implicit base interfaces, e.g. all array types implement java/lang/Cloneable. Returns a collection of JavaType's.

getUnresolvedInterfaces

public java.util.Collection<UnresolvedType> getUnresolvedInterfaces()
Description copied from interface: JavaType
When reverse engineering bytecode, some types cannot be resolved if the correct owning project is not associated to the JavaProvider. This method returns the set of interfaces this type implements in the form of UnresolvedType's.

Specified by:
getUnresolvedInterfaces in interface JavaType
Overrides:
getUnresolvedInterfaces in class AbstractType
Returns:
The collection of UnresolvedType's.

getDeclaredFields

public java.util.Collection getDeclaredFields()
Specified by:
getDeclaredFields in interface JavaType
Overrides:
getDeclaredFields in class AbstractType
Returns:
The array of all compile-model fields, synthetic or not, including enum constants. Returns a collection of JavaField's.

getDeclaredMethods

public java.util.Collection getDeclaredMethods()
Specified by:
getDeclaredMethods in interface JavaType
Overrides:
getDeclaredMethods in class AbstractType
Returns:
The array of all compile-model methods that are not constructors. (What about the synthetic method? Returns a collection of JavaMethod's.

getDeclaredConstructors

public java.util.Collection getDeclaredConstructors()
Specified by:
getDeclaredConstructors in interface JavaType
Overrides:
getDeclaredConstructors in class AbstractType
Returns:
The array of all compiled-model constructors, synthetic or not. Returns a collection of JavaMethod's.

getClinitMethod

public JavaMethod getClinitMethod()
Specified by:
getClinitMethod in interface JavaType
Overrides:
getClinitMethod in class AbstractType
Returns:
The method belonging to this JavaType. Null if none.

getDeclaredClasses

public java.util.Collection getDeclaredClasses()
Description copied from interface: JavaType
In order to get all inner classes, clients must recurse through direct inner classes.

Specified by:
getDeclaredClasses in interface JavaType
Overrides:
getDeclaredClasses in class AbstractType
Returns:
The array of all direct compile-model inner classes, including local and anonymous classes, synthetic or not. Note that inner classes, including local and anonymous classes, are direct inner classes of the most enclosing class. Hence, inner classes declared within an inner class of the current class are not direct inner classes of the current class. Returns a collection of JavaClass's.

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

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