Package org.pentaho.reporting.libraries.formula.typing

# Interface TypeRegistry

All Known Implementing Classes:
  `DefaultTypeRegistry`

public interface TypeRegistry
The type registry manages the known value types.

Author:
  Thomas Morgner

## Method Summary

Modifier and Type
Method
Description
`TypeValuePair`
`convertTo(Type targetType, TypeValuePair valuePair)`
Checks whether the target type would accept the specified value object and value type.
`ArrayCallback`
`convertToArray(Type type, Object value)`
`Date`
`convertToDate(Type type1, Object value)`
Converts the object of the given type into a date.
`Boolean`
`convertToLogical(Type type1, Object value)`
Converts the object of the given type into a boolean.
`Number`
`convertToNumber(Type type1, Object value)`
Converts the object of the given type into a number.
`NumberSequence`
`convertToNumberSequence(Type type, Object value, boolean strictTypeChecks)`
Converts the given (type,value) pair into a numeric sequence.
`Sequence`
`convertToSequence(Type type, Object value)`
`String`
`convertToText(Type type1, Object value)`
(This conversion is used by the operator implementations.)
`ExtendedComparator`
`getComparator(Type type1, Type type2)`
Returns an comparator for the given types.
`Type`
`guessTypeOfObject(Object o)`

## Method Details

### getComparator

ExtendedComparator getComparator(Type type1, Type type2)
Returns an comparator for the given types.

Parameters:
  `type1` -
  `type2` -
Returns:

### convertToNumber

Number convertToNumber(Type type1, Object value) throws EvaluationException
Converts the object of the given type into a number. If the object is not convertible, a NumberFormatException is thrown. (This conversion is used by the operator implementations.)

Parameters:
  `type1` -
  `value` -
Returns:
  the value as number or ZERO if the value is unconvertible.
Throws:
  `TypeConversionException` - if the type cannot be represented as number.
  `EvaluationException`

### convertToText

String convertToText(Type type1, Object value) throws EvaluationException
(This conversion is used by the operator implementations.)

Parameters:
  `type1` -
  `value` -
Returns:
  the value as string or an empty string, if the value given is null.
Throws:
  `TypeConversionException`
  `EvaluationException`

### convertToLogical

Boolean convertToLogical(Type type1, Object value) throws EvaluationException
Converts the object of the given type into a boolean.

Parameters:
  `type1` -
  `value` -
Returns:
  The value as Boolean or null.
Throws:
  `EvaluationException`

### convertToDate

Date convertToDate(Type type1, Object value) throws EvaluationException
Converts the object of the given type into a date.

Parameters:
  `type1` -
  `value` -
Returns:
  The value as Date or null.
Throws:
  `EvaluationException`

### convertToNumberSequence

NumberSequence convertToNumberSequence(Type type, Object value, boolean strictTypeChecks) throws EvaluationException
Converts the given (type,value) pair into a numeric sequence. If the flag "strictTypeChecks" is set to true, the value sequence will only evaluate numeric values. A non-strict sequence will treat text as zero and logical values as 0 or 1.

Parameters:
  `type` -
  `value` -
  `strictTypeChecks` -
Returns:
Throws:
  `TypeConversionException`
  `EvaluationException`

### convertToSequence

Sequence convertToSequence(Type type, Object value) throws EvaluationException

Throws:
  `EvaluationException`

### convertToArray

ArrayCallback convertToArray(Type type, Object value) throws EvaluationException

Throws:
  `EvaluationException`

### convertTo

TypeValuePair convertTo(Type targetType, TypeValuePair valuePair) throws EvaluationException
Checks whether the target type would accept the specified value object and value type. (This conversion is used by the functions.)

Parameters:
  `targetType` -
  `valuePair` -
Throws:
  `EvaluationException`

### guessTypeOfObject

Type guessTypeOfObject(Object o)