/*
Copyright (C) 2007 Niels Ott
Copyright (C) 2007 Ramon Ziai
This file is part of Clusterlib.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
*/
package edu.isistan.uima.unified.algorithms.clustering.data;
/**
* An interface specifying the data point as used by
* this clustering library. The minimum requirement for
* a data point is to hold a double and to
* implement <a href="Cluster.html"><i>Cluster</i></a>.
* Most users will make just take
* the <a href="DefaultDataPoint.html">DefaultDataPoint</a>
* class as is or inherit from it. Users needing a
* labeled data point should use or extend
* <a href="LabeledDataPoint.html">LabeledDataPoint</a>.
* The DataPoint interface only needs to be imlemented
* if extending <a href="DefaultDataPoint.html">DefaultDataPoint</a>
* or <a href="LabeledDataPoint.html">LabeledDataPoint</a> is not possible.
*
* This represents the <strong>leaf</strong> in the
* <strong>composite pattern</strong>.
* @author Niels Ott
* @author Ramon Ziai
* @version $Id: DataPoint.java 88 2007-07-27 11:02:42Z niels $
*/
public interface DataPoint extends Cluster {
/**
* Getter for the value held by this data point.
* @return the value held by this data point.
*/
public double getValue();
/**
* Setter for the value held by this data point.
* @param value the value to be held by this data point.
*/
public void setValue(double value);
}