Class MkCoPDirectoryEntry

  • All Implemented Interfaces:
    DirectoryEntry, MkCoPEntry, MTreeEntry, java.io.Externalizable, java.io.Serializable

    class MkCoPDirectoryEntry
    extends MTreeDirectoryEntry
    implements MkCoPEntry
    Represents an entry in a directory node of an MkCop-Tree. Additionally to an MTreeDirectoryEntry an MkCoPLeafEntry holds the conservative approximation of its knn-distances.
    Since:
    0.1
    Author:
    Elke Achtert
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serialization version number.
        See Also:
        Constant Field Values
      • conservativeApproximation

        private ApproximationLine conservativeApproximation
        The conservative approximation.
    • Constructor Detail

      • MkCoPDirectoryEntry

        public MkCoPDirectoryEntry()
        Empty constructor for serialization purposes.
      • MkCoPDirectoryEntry

        public MkCoPDirectoryEntry​(DBID objectID,
                                   double parentDistance,
                                   int nodeID,
                                   double coveringRadius,
                                   ApproximationLine conservativeApproximation)
        Constructor.
        Parameters:
        objectID - the id of the routing object
        parentDistance - the distance from the object to its parent
        nodeID - the id of the underlying node
        coveringRadius - the covering radius of the entry
        conservativeApproximation - the conservative approximation of the knn distances
    • Method Detail

      • approximateConservativeKnnDistance

        public double approximateConservativeKnnDistance​(int k)
        Returns the conservative approximated knn distance of the entry.
        Specified by:
        approximateConservativeKnnDistance in interface MkCoPEntry
        Parameters:
        k - the parameter k of the knn distance
        Returns:
        the conservative approximated knn distance of the entry
      • setConservativeKnnDistanceApproximation

        public void setConservativeKnnDistanceApproximation​(ApproximationLine conservativeApproximation)
        Sets the conservative approximation line
        Specified by:
        setConservativeKnnDistanceApproximation in interface MkCoPEntry
        Parameters:
        conservativeApproximation - the conservative approximation line to be set
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Calls the super method and writes the conservative approximation of the knn distances of this entry to the specified stream.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class MTreeDirectoryEntry
        Parameters:
        out - the stream to write the object to
        Throws:
        java.io.IOException - Includes any I/O exceptions that may occur
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Calls the super method and reads the the conservative approximation of the knn distances of this entry from the specified input stream.
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class MTreeDirectoryEntry
        Parameters:
        in - the stream to read data from in order to restore the object
        Throws:
        java.io.IOException - if I/O errors occur
        java.lang.ClassNotFoundException - If the class for an object being restored cannot be found.