sleep.runtime
Interface ScalarType

All Superinterfaces:
java.io.Serializable

public interface ScalarType
extends java.io.Serializable

This interface makes it possible to create a new scalar type. A scalar type is responsible for being able to convert itself to any type of scalar value.

To store a custom scalar type in a scalar:

 Scalar temp = SleepUtils.getScalar(); // returns an empty scalar.
 temp.setValue(new MyScalarType()); 
 

In the above example MyScalarType is an instance that implements the ScalarType interface.


Method Summary
 ScalarType copyValue()
          create a clone of this scalar's value.
 double doubleValue()
          convert the scalar to a double
 java.lang.Class getType()
          returns the Class type of this ScalarType.
 int intValue()
          convert the scalar to an int
 long longValue()
          convert the scalar to a long
 java.lang.Object objectValue()
          convert the scalar to an object value *shrug*
 java.lang.String toString()
          convert the scalar to a string
 

Method Detail

copyValue

ScalarType copyValue()
create a clone of this scalar's value. It is important to note that you should return a copy here unless you really want scalars of your scalar type to be passed by reference.


intValue

int intValue()
convert the scalar to an int


longValue

long longValue()
convert the scalar to a long


doubleValue

double doubleValue()
convert the scalar to a double


toString

java.lang.String toString()
convert the scalar to a string

Overrides:
toString in class java.lang.Object

objectValue

java.lang.Object objectValue()
convert the scalar to an object value *shrug*


getType

java.lang.Class getType()
returns the Class type of this ScalarType. Use this instead of getClass to allow other functions to wrap ScalarType's without breaking functionality