org.knime.core.data.def
Class FuzzyNumberCell

java.lang.Object
  extended by org.knime.core.data.DataCell
      extended by org.knime.core.data.def.FuzzyNumberCell
All Implemented Interfaces:
Serializable, DataValue, FuzzyIntervalValue, FuzzyNumberValue

public final class FuzzyNumberCell
extends DataCell
implements FuzzyNumberValue, FuzzyIntervalValue

A data cell implementation holding a Fuzzy number by storing this value in three private double members, that is one for the core and two for the min/max of the support. It also provides a fuzzy interval value.

The height of the membership value at the core value is assumed to be 1.

Author:
Michael Berthold, University of Konstanz
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.knime.core.data.FuzzyNumberValue
FuzzyNumberValue.FuzzyNumberUtilityFactory
 
Nested classes/interfaces inherited from interface org.knime.core.data.FuzzyIntervalValue
FuzzyIntervalValue.FuzzyIntervalUtilityFactory
 
Nested classes/interfaces inherited from interface org.knime.core.data.DataValue
DataValue.UtilityFactory
 
Field Summary
static DataType TYPE
          Convenience access member for DataType.getType(FuzzyNumberCell.class).
 
Fields inherited from interface org.knime.core.data.FuzzyNumberValue
UTILITY
 
Fields inherited from interface org.knime.core.data.FuzzyIntervalValue
UTILITY
 
Constructor Summary
FuzzyNumberCell(double minSupp, double core, double maxSupp)
          Creates a new fuzzy number cell based on min, max support, and core.
 
Method Summary
protected  boolean equalsDataCell(DataCell dc)
          Derived classes implement their specific equals function here.
static org.knime.core.data.def.FuzzyNumberCell.FuzzyNumberSerializer getCellSerializer()
          Returns the factory to read/write DataCells of this class from/to a DataInput/DataOutput.
 double getCenterOfGravity()
           
 double getCore()
           
 double getMaxCore()
           
 double getMaxSupport()
           
 double getMinCore()
           
 double getMinSupport()
           
static Class<? extends DataValue> getPreferredValueClass()
          Returns the preferred value class of this cell implementation.
 int hashCode()
          This method must be implemented in order to ensure that two equal DataCell objects return the same hash code.
 String toString()
          Returns the String representation of this cell's value.
 
Methods inherited from class org.knime.core.data.DataCell
equals, getType, isMissing
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final DataType TYPE
Convenience access member for DataType.getType(FuzzyNumberCell.class).

See Also:
DataType.getType(Class)
Constructor Detail

FuzzyNumberCell

public FuzzyNumberCell(double minSupp,
                       double core,
                       double maxSupp)
Creates a new fuzzy number cell based on min, max support, and core.

Parameters:
minSupp - Minimum support value.
core - Core value.
maxSupp - Maximum support value.
Throws:
IllegalArgumentException - If not minSupp <= core <= maxSupp.
Method Detail

getCellSerializer

public static final org.knime.core.data.def.FuzzyNumberCell.FuzzyNumberSerializer getCellSerializer()
Returns the factory to read/write DataCells of this class from/to a DataInput/DataOutput. This method is called via reflection.

Returns:
A serializer for reading/writing cells of this kind.
See Also:
DataCell

getPreferredValueClass

public static final Class<? extends DataValue> getPreferredValueClass()
Returns the preferred value class of this cell implementation. This method is called per reflection to determine which is the preferred renderer, comparator, etc.

Returns:
FuzzyNumberValue.class;

getMinSupport

public double getMinSupport()
Specified by:
getMinSupport in interface FuzzyIntervalValue
Specified by:
getMinSupport in interface FuzzyNumberValue
Returns:
Minimum support value.

getCore

public double getCore()
Specified by:
getCore in interface FuzzyNumberValue
Returns:
Core value.

getMaxSupport

public double getMaxSupport()
Specified by:
getMaxSupport in interface FuzzyIntervalValue
Specified by:
getMaxSupport in interface FuzzyNumberValue
Returns:
Maximum support value.

getMinCore

public double getMinCore()
Specified by:
getMinCore in interface FuzzyIntervalValue
Returns:
#getCore()

getMaxCore

public double getMaxCore()
Specified by:
getMaxCore in interface FuzzyIntervalValue
Returns:
#getCore()

getCenterOfGravity

public double getCenterOfGravity()
Specified by:
getCenterOfGravity in interface FuzzyIntervalValue
Returns:
The center of gravity of this trapezoid membership function which are the weighted (by the area) gravities of each of the two areas (left triangle, right triangle). This value is divided by the overall membership function volume.

equalsDataCell

protected boolean equalsDataCell(DataCell dc)
Derived classes implement their specific equals function here. The argument is guaranteed to be not null or a missing value, to be of the same class like this.

Specified by:
equalsDataCell in class DataCell
Parameters:
dc - the cell to compare this to
Returns:
true if this is equal to the argument, false if not

hashCode

public int hashCode()
This method must be implemented in order to ensure that two equal DataCell objects return the same hash code.

Specified by:
hashCode in class DataCell
Returns:
the hash code of your specific DataCell
See Also:
Object.hashCode(), DataCell.equals(java.lang.Object)

toString

public String toString()
Returns the String representation of this cell's value.

Specified by:
toString in class DataCell
Returns:
a String representation of this cell's value


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.