de.lmu.ifi.dbs.elki.distance.distancevalue
Class IntegerDistance

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance<D>
      extended by de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance<IntegerDistance,Integer>
          extended by de.lmu.ifi.dbs.elki.distance.distancevalue.IntegerDistance
All Implemented Interfaces:
Distance<IntegerDistance>, Externalizable, Serializable, Comparable<IntegerDistance>

public class IntegerDistance
extends NumberDistance<IntegerDistance,Integer>

Provides an integer distance value.

See Also:
Serialized Form

Field Summary
static IntegerDistance FACTORY
          The static factory instance
private static long serialVersionUID
          Created serial version UID.
(package private)  int value
          The distance value
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance
DOUBLE_PATTERN, INFINITY_PATTERN, INTEGER_PATTERN
 
Constructor Summary
IntegerDistance()
          Empty constructor for serialization purposes.
IntegerDistance(int value)
          Constructor
 
Method Summary
 int compareTo(IntegerDistance other)
          Compares this NumberDistance with the given NumberDistance wrt the represented value.
 double doubleValue()
          Get the value as double.
 int externalizableSize()
          Returns the number of Bytes this distance uses if it is written to an external file.
 IntegerDistance fromDouble(double val)
          Build a new instance from a double value.
 Pattern getPattern()
          Get the pattern accepted by this distance
 Integer getValue()
          Returns the value of this NumberDistance.
 IntegerDistance infiniteDistance()
          Provides an infinite distance.
 int intValue()
          Get the value as int.
 boolean isInfiniteDistance()
          Returns true, if the distance is an infinite distance, false otherwise.
 boolean isNullDistance()
          Returns true, if the distance is a null distance, false otherwise.
 boolean isUndefinedDistance()
          Returns true, if the distance is an undefined distance, false otherwise.
 long longValue()
          Get the value as long.
 IntegerDistance minus(IntegerDistance distance)
          Returns a new Distance by subtracting the given distance from this distance.
 IntegerDistance nullDistance()
          Provides a null distance.
 IntegerDistance parseString(String val)
          Provides a measurement suitable to this measurement function based on the given pattern.
 IntegerDistance plus(IntegerDistance distance)
          Returns a new distance as sum of this distance and the given distance.
 void readExternal(ObjectInput in)
          Reads the integer value of this IntegerDistance from the specified stream.
(package private)  void setValue(Integer value)
          Sets the value of this NumberDistance.
 IntegerDistance undefinedDistance()
          Provides an undefined distance.
 void writeExternal(ObjectOutput out)
          Writes the integer value of this IntegerDistance to the specified stream.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance
byteValue, floatValue, hashCode, shortValue, toString
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance
equals, requiredInputPattern, testInputPattern
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

FACTORY

public static final IntegerDistance FACTORY
The static factory instance


value

int value
The distance value


serialVersionUID

private static final long serialVersionUID
Created serial version UID.

See Also:
Constant Field Values
Constructor Detail

IntegerDistance

public IntegerDistance()
Empty constructor for serialization purposes.


IntegerDistance

public IntegerDistance(int value)
Constructor

Parameters:
value - distance value
Method Detail

fromDouble

public IntegerDistance fromDouble(double val)
Description copied from class: NumberDistance
Build a new instance from a double value.

Specified by:
fromDouble in class NumberDistance<IntegerDistance,Integer>
Parameters:
val - Value
Returns:
Distance

minus

public IntegerDistance minus(IntegerDistance distance)
Description copied from interface: Distance
Returns a new Distance by subtracting the given distance from this distance.

Parameters:
distance - the distance to be subtracted from this distance
Returns:
a new Distance by subtracting the given distance from this distance

plus

public IntegerDistance plus(IntegerDistance distance)
Description copied from interface: Distance
Returns a new distance as sum of this distance and the given distance.

Parameters:
distance - the distance to be added to this distance
Returns:
a new distance as sum of this distance and the given distance

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Writes the integer value of this IntegerDistance to the specified stream.

Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException
Reads the integer value of this IntegerDistance from the specified stream.

Throws:
IOException

externalizableSize

public int externalizableSize()
Returns the number of Bytes this distance uses if it is written to an external file.

Returns:
4 (4 Byte for an integer value)

getValue

public Integer getValue()
Description copied from class: NumberDistance
Returns the value of this NumberDistance.

Specified by:
getValue in class NumberDistance<IntegerDistance,Integer>
Returns:
the value of this NumberDistance

setValue

void setValue(Integer value)
Description copied from class: NumberDistance
Sets the value of this NumberDistance.

Specified by:
setValue in class NumberDistance<IntegerDistance,Integer>
Parameters:
value - the value to be set

doubleValue

public double doubleValue()
Description copied from class: NumberDistance
Get the value as double.

Specified by:
doubleValue in class NumberDistance<IntegerDistance,Integer>
Returns:
same result as getValue().doubleValue() but may be more efficient.

longValue

public long longValue()
Description copied from class: NumberDistance
Get the value as long.

Specified by:
longValue in class NumberDistance<IntegerDistance,Integer>
Returns:
same result as getValue().longValue() but may be more efficient.

intValue

public int intValue()
Description copied from class: NumberDistance
Get the value as int.

Overrides:
intValue in class NumberDistance<IntegerDistance,Integer>
Returns:
same result as getValue().intValue() but may be more efficient.

compareTo

public int compareTo(IntegerDistance other)
Description copied from class: NumberDistance
Compares this NumberDistance with the given NumberDistance wrt the represented value.

d1.compareTo(d2) is the same as Double.compare(d1.value.doubleValue(), d2.value.doubleValue()). Subclasses may need to overwrite this method if necessary.

Specified by:
compareTo in interface Comparable<IntegerDistance>
Overrides:
compareTo in class NumberDistance<IntegerDistance,Integer>
Parameters:
other - Other object
Returns:
a negative integer, zero, or a positive integer as the value of this NumberDistance is less than, equal to, or greater than the value of the specified NumberDistance.

nullDistance

public IntegerDistance nullDistance()
Description copied from interface: Distance
Provides a null distance.

Returns:
a null distance

undefinedDistance

public IntegerDistance undefinedDistance()
Description copied from interface: Distance
Provides an undefined distance.

Returns:
an undefined distance

infiniteDistance

public IntegerDistance infiniteDistance()
Description copied from interface: Distance
Provides an infinite distance.

Returns:
an infinite distance

isInfiniteDistance

public boolean isInfiniteDistance()
Description copied from interface: Distance
Returns true, if the distance is an infinite distance, false otherwise.

Specified by:
isInfiniteDistance in interface Distance<IntegerDistance>
Overrides:
isInfiniteDistance in class AbstractDistance<IntegerDistance>
Returns:
true, if the distance is an infinite distance, false otherwise

isNullDistance

public boolean isNullDistance()
Description copied from interface: Distance
Returns true, if the distance is a null distance, false otherwise.

Specified by:
isNullDistance in interface Distance<IntegerDistance>
Overrides:
isNullDistance in class AbstractDistance<IntegerDistance>
Returns:
true, if the distance is a null distance, false otherwise

isUndefinedDistance

public boolean isUndefinedDistance()
Description copied from interface: Distance
Returns true, if the distance is an undefined distance, false otherwise.

Specified by:
isUndefinedDistance in interface Distance<IntegerDistance>
Overrides:
isUndefinedDistance in class AbstractDistance<IntegerDistance>
Returns:
true, if the distance is an undefined distance, false otherwise

parseString

public IntegerDistance parseString(String val)
                            throws IllegalArgumentException
Description copied from interface: Distance
Provides a measurement suitable to this measurement function based on the given pattern.

Parameters:
val - a pattern defining a similarity suitable to this measurement function
Returns:
a measurement suitable to this measurement function based on the given pattern
Throws:
IllegalArgumentException - if the given pattern is not compatible with the requirements of this measurement function

getPattern

public Pattern getPattern()
Description copied from class: AbstractDistance
Get the pattern accepted by this distance

Specified by:
getPattern in class AbstractDistance<IntegerDistance>
Returns:
Pattern

Release 0.4.0 (2011-09-20_1324)