Class DataTypeImpl

    • Field Detail

      • defaultSettings

        protected Settings defaultSettings
    • Method Detail

      • getValueClass

        public java.lang.Class<?> getValueClass​(Settings settings)
        Description copied from interface: DataType
        Get the Class of the value to be returned by this data type.
        Specified by:
        getValueClass in interface DataType
        Parameters:
        settings - the relevant settings to use or null for default.
        Returns:
        Class of the value to be returned by this data type or null if it can vary or is unspecified. Types which correspond to a string or char array will return the String class.
      • getDefaultSettings

        public Settings getDefaultSettings()
        Description copied from interface: DataType
        Gets the default settings for this data type.
        Specified by:
        getDefaultSettings in interface DataType
        Returns:
        the default settings for this dataType.
      • getSettingsDefinitions

        public SettingsDefinition[] getSettingsDefinitions()
        Description copied from interface: DataType
        Gets a list of all the settingsDefinitions used by this data type.
        Specified by:
        getSettingsDefinitions in interface DataType
        Returns:
        a list of the settingsDefinitions used by this data type.
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
      • setDefaultSettings

        public void setDefaultSettings​(Settings settings)
        Description copied from interface: DataType
        Set the default settings for this data type.
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        setDefaultSettings in interface DataType
        Parameters:
        settings - the settings to be used as this dataTypes default settings.
      • getPathName

        public java.lang.String getPathName()
        Description copied from interface: DataType
        Returns the full category path name that includes this dataType's name. If the category is null, then this just returns the dataType's name.
        Specified by:
        getPathName in interface DataType
        Overrides:
        getPathName in class AbstractDataType
      • getAlignment

        public int getAlignment()
        Description copied from interface: DataType
        Gets the alignment to be used when aligning this data type within another data type.
        Specified by:
        getAlignment in interface DataType
        Returns:
        this data type's alignment.
      • addParent

        public void addParent​(DataType dt)
        Description copied from interface: DataType
        Inform this data type that it has the given parent
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        addParent in interface DataType
        Overrides:
        addParent in class AbstractDataType
        Parameters:
        dt - parent data type
      • removeParent

        public void removeParent​(DataType dt)
        Description copied from interface: DataType
        Remove a parent data type
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        removeParent in interface DataType
        Overrides:
        removeParent in class AbstractDataType
        Parameters:
        dt - parent data type
      • notifySizeChanged

        protected void notifySizeChanged()
        Notify any parent data types that my size has changed.
      • notifyNameChanged

        protected void notifyNameChanged​(java.lang.String oldName)
        Notify any parents that my name has changed.
        Parameters:
        oldName -
      • notifyDeleted

        protected void notifyDeleted()
        Notify any parents that I am deleted.
      • notifyReplaced

        protected void notifyReplaced​(DataType replacement)
        Notify any parents that I have been replaced.
        Parameters:
        replacement - replacement data type
      • getLastChangeTime

        public long getLastChangeTime()
        Description copied from interface: DataType
        Get the timestamp corresponding to the last time this type was changed within its data type manager
        Specified by:
        getLastChangeTime in interface DataType
        Overrides:
        getLastChangeTime in class AbstractDataType
        Returns:
        timestamp of last change within data type manager
      • getUniversalID

        public UniversalID getUniversalID()
        Description copied from interface: DataType
        Get the universal ID for this data type. This value is intended to be a unique identifier across all programs and archives. The same ID indicates that two data types were originally the same one. Keep in mind names, categories, and component makeup may differ and have changed since there origin.
        Specified by:
        getUniversalID in interface DataType
        Overrides:
        getUniversalID in class AbstractDataType
        Returns:
        data type UniversalID
      • replaceWith

        public void replaceWith​(DataType dataType)
        Description copied from interface: DataType
        For dataTypes that support change, this method replaces the internals of this dataType with the internals of the given dataType. The dataTypes must be of the same "type" (i.e. structure can only be replacedWith another structure.
        Specified by:
        replaceWith in interface DataType
        Overrides:
        replaceWith in class AbstractDataType
        Parameters:
        dataType - the dataType that contains the internals to upgrade to.
      • setLastChangeTime

        public void setLastChangeTime​(long lastChangeTime)
        Description copied from interface: DataType
        Sets the lastChangeTime for this dataType. Normally, this is updated automatically when a dataType is changed, but when committing or updating while synchronizing an archive, the lastChangeTime may need to be updated externally.
        Specified by:
        setLastChangeTime in interface DataType
        Overrides:
        setLastChangeTime in class AbstractDataType
        Parameters:
        lastChangeTime - the time to use as the lastChangeTime for this dataType
      • setLastChangeTimeInSourceArchive

        public void setLastChangeTimeInSourceArchive​(long lastChangeTimeInSourceArchive)
        Description copied from interface: DataType
        Sets the lastChangeTimeInSourceArchive for this dataType. This is used by when a dataType change is committed back to its source archive.
        Specified by:
        setLastChangeTimeInSourceArchive in interface DataType
        Overrides:
        setLastChangeTimeInSourceArchive in class AbstractDataType
        Parameters:
        lastChangeTimeInSourceArchive - the time to use as the lastChangeTimeInSourceArchive for this dataType
      • setDescription

        public void setDescription​(java.lang.String description)
                            throws java.lang.UnsupportedOperationException
        Sets a String briefly describing this DataType.
        If a data type that extends this class wants to allow the description to be changed, then it must override this method.
        Specified by:
        setDescription in interface DataType
        Overrides:
        setDescription in class AbstractDataType
        Parameters:
        description - a one-liner describing this DataType.
        Throws:
        java.lang.UnsupportedOperationException - if the description is not allowed to be set for this data type.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object