Class MkCoPLeafEntry

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

    class MkCoPLeafEntry
    extends MTreeLeafEntry
    implements MkCoPEntry
    Represents an entry in a leaf node of a MkCoP-Tree. Additionally to an MTreeLeafEntry an MkCoPLeafEntry holds the conservative and progressive approximation of its knn-distances.
    Since:
    0.1
    Author:
    Elke Achtert
    • Field Detail

      • serialVersionUID

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

        private ApproximationLine conservativeApproximation
        The conservative approximation.
      • progressiveApproximation

        private ApproximationLine progressiveApproximation
        The progressive approximation.
    • Constructor Detail

      • MkCoPLeafEntry

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

        public MkCoPLeafEntry​(DBID objectID,
                              double parentDistance,
                              ApproximationLine conservativeApproximation,
                              ApproximationLine progressiveApproximation)
        Constructor.
        Parameters:
        objectID - the id of the underlying data object
        parentDistance - the distance from the underlying data object to its parent's routing object
        conservativeApproximation - the conservative approximation of the knn distances
        progressiveApproximation - the progressive 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
      • approximateProgressiveKnnDistance

        public double approximateProgressiveKnnDistance​(int k)
        Returns the progressive approximated knn distance of the entry.
        Parameters:
        k - the parameter k of the knn distance
        Returns:
        the progressive approximated knn distance of the entry
      • getProgressiveKnnDistanceApproximation

        public ApproximationLine getProgressiveKnnDistanceApproximation()
        Returns the progressive approximation line.
        Returns:
        the progressive approximation line
      • 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
      • setProgressiveKnnDistanceApproximation

        public void setProgressiveKnnDistanceApproximation​(ApproximationLine progressiveApproximation)
        Sets the progressive approximation line
        Parameters:
        progressiveApproximation - the progressive 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 and progressive approximation of the knn distances of this entry to the specified stream.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class MTreeLeafEntry
        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 and progressive 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 MTreeLeafEntry
        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.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object