Interface IMapping

All Superinterfaces:
ILinkable
All Known Implementing Classes:
MappingBase, MappingDefinition, MappingDirect, PrecompiledAbstractMapping, PrecompiledConcreteMapping

public interface IMapping extends ILinkable
Interface for mapping definitions.
Author:
Dennis M. Sosnoski
  • Method Details

    • getBoundType

      String getBoundType()
      Get class name handled by mapping.
      Returns:
      name of class bound by mapping
    • getReferenceType

      String getReferenceType()
      Get class name of type to be assumed for references to this mapping.
      Returns:
      reference type class name name
    • getImplComponent

      IComponent getImplComponent()
      Get binding component implementing mapping. This call is only valid for mappings with child components, not for mappings defined using marshallers or unmarshallers.
      Returns:
      binding component implementing this mapping
    • getMarshaller

      ClassFile getMarshaller() throws JiBXException
      Get marshaller class used for mapping.
      Returns:
      marshaller class information
      Throws:
      JiBXException - if error in configuration
    • getUnmarshaller

      ClassFile getUnmarshaller() throws JiBXException
      Get unmarshaller class used for mapping.
      Returns:
      unmarshaller class information
      Throws:
      JiBXException - if error in configuration
    • getName

      NameDefinition getName()
      Get mapped element name.
      Returns:
      mapped element name information (may be null if no element name defined for mapping)
    • getTypeName

      String getTypeName()
      Get type name.
      Returns:
      qualified type name, in text form (null if unnamed)
    • getMappingName

      String getMappingName()
      Get the mapping name used in binding tables.
      Returns:
      name
    • addNamespace

      void addNamespace(NamespaceDefinition ns) throws JiBXException
      Add namespace. This adds a namespace definition to those active for the mapping.
      Parameters:
      ns - namespace definition to be added
      Throws:
      JiBXException - if error in defining namespace
    • isAbstract

      boolean isAbstract()
      Check if mapping is abstract.
      Returns:
      true if an abstract mapping, false if not
    • isBase

      boolean isBase()
      Check if mapping has extensions.
      Returns:
      true if one or more mappings extend this mapping, false if not
    • addExtension

      void addExtension(MappingDefinition mdef) throws JiBXException
      Add extension to abstract mapping. This call is only valid for abstract mappings.
      Parameters:
      mdef - extension mapping definition
      Throws:
      JiBXException - if configuration error
    • buildRef

      IComponent buildRef(IContainer parent, IContextObj objc, String type, PropertyDefinition prop) throws JiBXException
      Build reference to mapping. Constructs and returns the component for handling the mapping.
      Parameters:
      parent - containing binding definition structure
      objc - current object context
      type - mapped value type
      prop - property definition (may be null)
      Returns:
      constructed mapping reference component
      Throws:
      JiBXException - if configuration error
    • getNamespaces

      ArrayList getNamespaces()
      Get namespaces defined for mapping.
      Returns:
      namespace definitions (may be null if none)
    • generateCode

      void generateCode(boolean force) throws JiBXException
      Generate required code for mapping.
      Parameters:
      force - add marshaller/unmarshaller classes for abstract non-base mappings flag (not passed on to children)
      Throws:
      JiBXException - if error in transformation
    • getBinding

      ITypeBinding getBinding()
      Get the actual binding for a mapping. This is only usable with mappings defined by a binding; if the mapping is instead defined by specifying marshaller and unmarshaller classes this will just return null.
      Returns:
      binding structure, or null if none