Class ArrayMetaData

All Implemented Interfaces:
Serializable

public class ArrayMetaData extends ContainerMetaData
Representation of the Meta-Data for an Array.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • element

      protected ContainerComponent element
      Representation of the element of the array.
    • mayContainPersistableElements

      protected boolean mayContainPersistableElements
      wether this array may contain persistable elements
  • Constructor Details

    • ArrayMetaData

      public ArrayMetaData(ArrayMetaData arrmd)
      Constructor to create a copy of the passed metadata.
      Parameters:
      arrmd - The metadata to copy
    • ArrayMetaData

      public ArrayMetaData()
      Default constructor. Set the fields using setters, before populate().
  • Method Details

    • populate

      public void populate(ClassLoaderResolver clr, ClassLoader primary)
      Method to populate any defaults, and check the validity of the MetaData.
      Parameters:
      clr - ClassLoaderResolver to use in loading any classes
      primary - the primary ClassLoader to use (or null)
    • elementIsPersistent

      public boolean elementIsPersistent()
    • getElementClassMetaData

      public AbstractClassMetaData getElementClassMetaData(ClassLoaderResolver clr)
      Convenience accessor for the Element ClassMetaData.
      Parameters:
      clr - ClassLoader resolver (in case we need to initialise it)
      Returns:
      element ClassMetaData
    • mayContainPersistableElements

      public boolean mayContainPersistableElements()
      Returns whether this array may contain persistable elements (as indicated by the user). TODO Remove this. The element-type of the array defines such things and this is not the solution
      Returns:
      whether this array may contain persistable elements
    • isEmbeddedElement

      public boolean isEmbeddedElement()
      Accessor for the embedded-element value
      Returns:
      embedded-element value
    • isSerializedElement

      public boolean isSerializedElement()
      Accessor for the serialized-element tag value
      Returns:
      serialized-element tag value
    • isDependentElement

      public boolean isDependentElement()
      Accessor for The dependent-element attribute indicates that the collection's element contains a reference that is to be deleted if the referring instance is deleted.
      Returns:
      dependent-element tag value
    • getElementType

      public String getElementType()
      Accessor for the element implementation types (when element is a reference type).
      Returns:
      element implementation types
    • getElementTypes

      public String[] getElementTypes()
    • setElementType

      public ArrayMetaData setElementType(String type)
    • setEmbeddedElement

      public ArrayMetaData setEmbeddedElement(boolean embedded)
    • setSerializedElement

      public ArrayMetaData setSerializedElement(boolean serialized)
    • setDependentElement

      public ArrayMetaData setDependentElement(boolean dependent)
    • getReferencedClassMetaData

      void getReferencedClassMetaData(List<AbstractClassMetaData> orderedCmds, Set<AbstractClassMetaData> referencedCmds, ClassLoaderResolver clr)
      Accessor for all AbstractClassMetaData referenced by this array.
      Parameters:
      orderedCmds - List of ordered AbstractClassMetaData objects (added to).
      referencedCmds - Set of all AbstractClassMetaData objects (added to).
      clr - the ClassLoaderResolver
    • toString

      public String toString()
      Overrides:
      toString in class Object