Class ClassInfo

  • All Implemented Interfaces:
    NatureExtendable, PropertyHolder

    public final class ClassInfo
    extends java.lang.Object
    implements PropertyHolder
    This class holds the necessary information so that Castor can properly map a JPA annotated Class to the database.
    Since:
    1.3
    Author:
    Peter Schmidt
    • Constructor Detail

      • ClassInfo

        public ClassInfo()
        Creates a new empty ClassInfo.
      • ClassInfo

        public ClassInfo​(java.lang.Class<?> describedClass)
        Creates a new ClassInfo, describing a given Class.
        Parameters:
        describedClass - the Class that is described by this ClassInfo.
    • Method Detail

      • getDescribedClass

        public java.lang.Class<?> getDescribedClass()
        Returns the reference to the Class object that is described by this ClassInfo.
        Returns:
        The reference to the Class object that is described by this ClassInfo.
      • setDescribedClass

        public void setDescribedClass​(java.lang.Class<?> describedClass)
        Sets the Class that is described by this ClassInfo.
        Parameters:
        describedClass - The Class that is described by this ClassInfo.
      • getFieldInfoByName

        public FieldInfo getFieldInfoByName​(java.lang.String memberName)
        Returns a FieldInfo that corresponds to an element with the given node name.
        Parameters:
        memberName - the name of the field to get.
        Returns:
        a FieldInfo that corresponds to an element with the given node name or null if that field does not exist.
      • getFieldInfos

        public java.util.Set<FieldInfo> getFieldInfos()
        Returns Set of associated fields. If no fields are associated, null is returned. This returned set is just a copy of the internal one, so changes to the Set will not affect the internal Set.
        Returns:
        a Set of associated fields.
      • addKey

        public void addKey​(FieldInfo key)
        Add a FieldInfo to the key set of this ClassInfo (keys and attributes are disjunct!). It is only inserted once in each of these lists, so normal elements can be "raised" to be keys after first adding them to the class.
        Parameters:
        key - - the FieldInfo to add to the set of key fields.
      • getKeyFieldCount

        public int getKeyFieldCount()
        Returns:
        the number of FieldInfo definitions for this ClassInfo's key.
      • getKeyFieldInfoByName

        public FieldInfo getKeyFieldInfoByName​(java.lang.String keyName)
        Returns a FieldInfo that corresponds to a key element with the given node name.
        Parameters:
        keyName - the name of the key field to get.
        Returns:
        a FieldInfo that corresponds to a key element with the given node name or null if that field is not in the key set.
      • getKeyFieldInfos

        public java.util.Set<FieldInfo> getKeyFieldInfos()
        Returns Set of key fields. If no fields are associated, null is returned. This returned Set is just a copy of the internal one, so changes to the Set will not affect the internal key set.
        Returns:
        an array of associated fields.
      • getExtendedClass

        public java.lang.Class<?> getExtendedClass()
        Get the reference to the Class object that is extended by this class.
        Returns:
        the superclass of the described class.