Class LinkableBase

All Implemented Interfaces:
IComponent, ILinkable
Direct Known Subclasses:
MappingBase

public abstract class LinkableBase extends PassThroughComponent
Base class for components that can be linked from multiple locations within the binding definition structure. The implemented basic behavior is a simple pass-through component, with the addition of recursion checking during the linking phase.
Author:
Dennis M. Sosnoski
  • Field Details

    • m_isLinking

      private boolean m_isLinking
      Flag for linkage in progress.
    • m_isLinked

      private boolean m_isLinked
      Flag for linkage complete.
  • Constructor Details

  • Method Details

    • handleRecursion

      protected void handleRecursion()
      Handler for recursion. If recursion is found during linking this method will be called. The base class implementation does nothing, but may be overridden by subclases to implement the appropriate behavior.
    • isLinked

      protected boolean isLinked()
      Check if linkage processing for this component is complete.
      Returns:
      true if complete, false if not
    • setLinkages

      public void setLinkages() throws JiBXException
      Description copied from interface: ILinkable
      Establish and validate linkages between binding components. This is called after the basic binding structures have been set up. All linkages between components must be resolved by this method, in order to prevent problems due to the order of definitions between components. This implies that each component must in turn call the same method for each child component. None of the other method calls defined by this interface are valid until after this call.
      Specified by:
      setLinkages in interface ILinkable
      Overrides:
      setLinkages in class PassThroughComponent
      Throws:
      JiBXException - if error in configuration
    • print

      public void print(int depth)
      Specified by:
      print in interface IComponent
      Overrides:
      print in class PassThroughComponent