org.jnetstream.lang.npl.type
Class AbstractDataType

java.lang.Object
  extended by org.jnetstream.lang.npl.type.AbstractDataType
All Implemented Interfaces:
DataOperations, DataType

public abstract class AbstractDataType
extends java.lang.Object
implements DataType

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jnetstream.lang.npl.type.DataOperations
DataOperations.DataOperation
 
Constructor Summary
AbstractDataType()
           
 
Method Summary
<R extends DataType,O extends DataType>
R
doAdd(O operand)
          Default implementation always throws UnsupportOperationException.
<O extends DataType>
java.util.Set<DataOperations.DataOperation>
getNativeCapability(java.lang.Class<O> c)
          Default abstract implementation always returns an empty set.
<O extends DataType>
java.util.Set<DataOperations.DataOperation>
getTranslatedCapability(java.lang.Class<O> c)
          Default abstract implementation always returns an empty set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jnetstream.lang.npl.type.DataType
getNplName
 

Constructor Detail

AbstractDataType

public AbstractDataType()
Method Detail

doAdd

public <R extends DataType,O extends DataType> R doAdd(O operand)
Default implementation always throws UnsupportOperationException. Must override inorder to implement this operation.

Specified by:
doAdd in interface DataOperations
See Also:
DataOperations.doAdd(org.jnetstream.lang.npl.type.DataType)

getNativeCapability

public <O extends DataType> java.util.Set<DataOperations.DataOperation> getNativeCapability(java.lang.Class<O> c)
Default abstract implementation always returns an empty set. Must override in order to return something different.

Specified by:
getNativeCapability in interface DataOperations
See Also:
DataOperations.getNativeCapability(java.lang.Class)

getTranslatedCapability

public <O extends DataType> java.util.Set<DataOperations.DataOperation> getTranslatedCapability(java.lang.Class<O> c)
Default abstract implementation always returns an empty set. Must override in order to return something different.

Specified by:
getTranslatedCapability in interface DataOperations
Type Parameters:
O - right operand type
Parameters:
c - class of the right operand
Returns:
set of capabilities that this data type can perform on the operand
See Also:
DataOperations.getTranslatedCapability(java.lang.Class)