Interface TypeUse

All Known Subinterfaces:
CClass, CNonElement
All Known Implementing Classes:
CArrayInfo, CBuiltinLeafInfo, CClassInfo, CClassRef, CEnumLeafInfo

public interface TypeUse
Information about how another type is referenced.

In practice it is often easier to use CTypeInfo instead of NType, so this interface defines getInfo().

Author:
Kohsuke Kawaguchi
See Also:
  • TypeUseImpl
  • Method Details

    • isCollection

      boolean isCollection()
      If the use can hold multiple values of the specified type.
    • getAdapterUse

      CAdapter getAdapterUse()
      If this type use is adapting the type, returns the adapter. Otherwise return null.
    • getInfo

      CNonElement getInfo()
      Individual item type.
    • idUse

      ID idUse()
      Whether the referenced type (individual item type in case of collection) is ID/IDREF.

      ID is a property of a relationship. When a bean Foo has an ID property called 'bar' whose type is String, Foo isn't an ID, String isn't an ID, but this relationship is an ID (in the sense that Foo uses this String as an ID.)

      The same thing can be said with IDREF. When Foo refers to Bar by means of IDREF, neither Foo nor Bar is IDREF.

      That's why we have this method in .

    • getExpectedMimeType

      MimeType getExpectedMimeType()
      A can have an associated MIME type.
    • createConstant

      JExpression createConstant(Outline outline, XmlString lexical)
      Creates a constant for the given lexical value.

      For example, to create a constant 1 for xs:int, you'd do:

       CBuiltinLeafInfo.INT.createConstant( codeModel, "1", null );
       

      This method is invoked at the backend as a part of the code generation process.

      Returns:
      null if the constant cannot be created for this (such as when it's a collection)
      Throws:
      IllegalStateException - if the type isn't bound to a text in XML.