Class CClassRef

java.lang.Object
com.sun.tools.xjc.model.CClassRef
All Implemented Interfaces:
CClass, CCustomizable, CElement, CNonElement, CTypeInfo, NClass, NType, TypeUse, Locatable, Element<NType,NClass>, NonElement<NType,NClass>, TypeInfo<NType,NClass>

public final class CClassRef extends Object implements NClass, CClass
Reference to an existing class.
Author:
Kohsuke Kawaguchi
  • Constructor Details

  • Method Details

    • setAbstract

      public void setAbstract()
      Description copied from interface: CElement
      Marks this element as an abstract element.
      Specified by:
      setAbstract in interface CElement
    • isAbstract

      public boolean isAbstract()
      Description copied from interface: CElement
      Returns true iff this element is an abstract element.
      Specified by:
      isAbstract in interface CElement
      Specified by:
      isAbstract in interface NClass
    • getType

      public NType getType()
      Description copied from interface: TypeInfo
      Gets the underlying Java type that object represents.
      Specified by:
      getType in interface TypeInfo<NType,NClass>
      Returns:
      always non-null.
    • toType

      public JClass toType(Outline o, Aspect aspect)
      Description copied from interface: NType
      Returns the representation of this type in code model.

      This operation requires the whole model to be built, and hence it takes Outline.

      Under some code generation strategy, some bean classes are considered implementation specific (such as impl.FooImpl class) These classes always have accompanying "exposed" type (such as the Foo interface).

      For such Jekyll and Hyde type, the aspect parameter determines which personality is returned.

      Specified by:
      toType in interface CTypeInfo
      Specified by:
      toType in interface NClass
      Specified by:
      toType in interface NType
      Parameters:
      aspect - If Aspect.IMPLEMENTATION, this method returns the implementation specific class that this type represents. If Aspect.EXPOSED, this method returns the publicly exposed type that this type represents. For ordinary classes, the aspect parameter is meaningless.
      See Also:
    • fullName

      public String fullName()
      Description copied from interface: NType
      Human readable name of this type.
      Specified by:
      fullName in interface NType
    • getTypeName

      public QName getTypeName()
      Description copied from interface: NonElement
      Gets the primary XML type ANYTYPE_NAME of the class.

      A Java type can be mapped to multiple XML types, but one of them is considered "primary" and used when we generate a schema.

      Specified by:
      getTypeName in interface NonElement<NType,NClass>
      Returns:
      null if the object doesn't have an explicit type ANYTYPE_NAME (AKA anonymous.)
    • getInfo

      @Deprecated public CNonElement getInfo()
      Deprecated.
      Guaranteed to return this.
      Specified by:
      getInfo in interface CNonElement
      Specified by:
      getInfo in interface TypeUse
    • getSubstitutionHead

      public CElement getSubstitutionHead()
      Description copied from interface: Element
      If this element can substitute another element, return that element.

      Substitutability of elements are transitive.

      Specified by:
      getSubstitutionHead in interface Element<NType,NClass>
      Returns:
      null if no such element exists.
    • getScope

      public CClassInfo getScope()
      Description copied from interface: Element
      If non-null, this element is only active inside the given scope.
      Specified by:
      getScope in interface Element<NType,NClass>
    • getElementName

      public QName getElementName()
      Description copied from interface: Element
      Gets the element name of the class.
      Specified by:
      getElementName in interface Element<NType,NClass>
      Returns:
      Always non-null.
    • isBoxedType

      public boolean isBoxedType()
      Description copied from interface: NType
      Returns true iff this type represents a class that has a unboxed form. For example, for String this is false, but for Integer this is true.
      Specified by:
      isBoxedType in interface NType
    • isSimpleType

      public boolean isSimpleType()
      Description copied from interface: NonElement
      Returns true if this NonElement maps to text in XML, without any attribute nor child elements.
      Specified by:
      isSimpleType in interface NonElement<NType,NClass>
    • getLocator

      public Locator getLocator()
      Description copied from interface: CCustomizable
      Gets the source location in the schema from which this model component is created.
      Specified by:
      getLocator in interface CCustomizable
      Returns:
      never null.
    • isCollection

      public final boolean isCollection()
    • getAdapterUse

      public final CAdapter getAdapterUse()
    • idUse

      public final ID idUse()
    • getSchemaComponent

      public final XSComponent getSchemaComponent()
      Description copied from interface: CCustomizable
      If this model object is built from XML Schema, this property returns a schema component from which the model is built.
      Specified by:
      getSchemaComponent in interface CCustomizable
      Returns:
      null if the model is built from sources other than XML Schema (such as DTD.)
    • canBeReferencedByIDREF

      public final boolean canBeReferencedByIDREF()
      Deprecated.
      why are you calling an unimplemented method?
      Description copied from interface: TypeInfo
      True if this type is a valid target from a property annotated with XmlIDREF.
      Specified by:
      canBeReferencedByIDREF in interface TypeInfo<NType,NClass>
    • getExpectedMimeType

      public MimeType getExpectedMimeType()
      No default MimeType.
    • getCustomizations

      public CCustomizations getCustomizations()
      Description copied from interface: CCustomizable
      Gets the list of customizations attached to this model component.
      Specified by:
      getCustomizations in interface CCustomizable
      Returns:
      can be an empty list but never be null. The returned list is read-only. Do not modify.
      See Also:
    • createConstant

      public JExpression createConstant(Outline outline, XmlString lexical)
    • getUpstream

      public final Locatable getUpstream()
      Description copied from interface: Locatable
      Gets the upstream Location information.
      Specified by:
      getUpstream in interface Locatable
      Returns:
      can be null.
    • getLocation

      public final Location getLocation()
      Description copied from interface: Locatable
      Gets the location object that this object points to. This operation could be inefficient and costly.
      Specified by:
      getLocation in interface Locatable