public final class TypeConversion
extends java.lang.Object
OdiDataType
to
one target OdiDataType
, each of them related to a distinct
OdiTechnology
.
Ideally this class should be defined as domain value object and not entity.
However, Eclipselink doesn't allow to define such class as value object
because this entity is an association entity with a composite ID (so can be
shared by several in-memory instances), but eclipselink isn't able to manage
persistent object replacement by another one sharing a same ID (
remove(oldone)
and then persist(newone)
is not
possible)... Thus, this class is mutable and provides method
setTargetType(OdiDataType)
to update target data type. However, this
class doesn't extend from IRepositoryEntity
because there is no need
for this now.
This class is only used internally and is restricted to this package's scope. Its only purpose is to maintain data types' conversion relationships integrity.
Constructor and Description |
---|
TypeConversion(OdiDataType pSourceType,
OdiDataType pTargetType) |
TypeConversion(OdiDataType pSourceType,
OdiTechnology pTargetTechnology,
OdiDataType pTargetType) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
boolean |
evaluateCondition(java.lang.Integer pColLength,
java.lang.Integer pColScale) |
static boolean |
evaluateCondition(java.lang.String condition,
java.lang.Integer pColLength,
java.lang.Integer pColScale) |
java.lang.Integer |
evaluateExpression1(java.lang.Integer pSourceLength,
java.lang.Integer pSourceScale) |
java.lang.Integer |
evaluateExpression2(java.lang.Integer pSourceLength,
java.lang.Integer pSourceScale) |
static java.lang.Integer |
evaluateIntegerExpression(java.lang.String condition,
java.lang.Integer pColLength,
java.lang.Integer pColScale) |
java.lang.String |
getExpression1()
Get output expression 1 for this
TypeConversion . |
java.lang.String |
getExpression2()
Get output expression2 for this
OdiDataType . |
OdiDataType |
getSourceType()
Get the source type for this
TypeConversion . |
OdiTechnology |
getTargetTechnology()
Get the target technology for this
TypeConversion . |
OdiDataType |
getTargetType()
Get the target type for this
TypeConversion . |
java.lang.String |
getTargetTypeCondition()
Get the target type condition for this
TypeConversion . |
int |
hashCode() |
static void |
main(java.lang.String[] args) |
void |
setExpression1(java.lang.String expression1) |
void |
setExpression2(java.lang.String expression2) |
void |
setTargetType(OdiDataType pTargetType) |
void |
setTargetTypeCondition(java.lang.String cond) |
static boolean |
validateConversionCondition(java.lang.String condition)
Return true if the type conversion condition is valid.
|
static boolean |
validateConversionExpression(java.lang.String expression)
Return true if the type conversion expression is valid.
|
public TypeConversion(OdiDataType pSourceType, OdiTechnology pTargetTechnology, OdiDataType pTargetType)
public TypeConversion(OdiDataType pSourceType, OdiDataType pTargetType)
public OdiDataType getSourceType()
TypeConversion
.public OdiDataType getTargetType()
TypeConversion
.public void setTargetType(OdiDataType pTargetType)
getTargetType()
public OdiTechnology getTargetTechnology()
TypeConversion
.public java.lang.String getTargetTypeCondition()
TypeConversion
. If this
condition evaluates to true for the given source type and target
technology, then this target type is suitable for converting the source
type.public java.lang.String getExpression1()
TypeConversion
.public java.lang.String getExpression2()
OdiDataType
.public void setExpression1(java.lang.String expression1)
public void setExpression2(java.lang.String expression2)
public void setTargetTypeCondition(java.lang.String cond)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public static boolean validateConversionCondition(java.lang.String condition)
public static boolean validateConversionExpression(java.lang.String expression)
public boolean evaluateCondition(java.lang.Integer pColLength, java.lang.Integer pColScale) throws OdiInvalidDataTypeConditionException
public static boolean evaluateCondition(java.lang.String condition, java.lang.Integer pColLength, java.lang.Integer pColScale) throws OdiInvalidDataTypeConditionException
public java.lang.Integer evaluateExpression1(java.lang.Integer pSourceLength, java.lang.Integer pSourceScale) throws OdiInvalidDataTypeConditionException
public java.lang.Integer evaluateExpression2(java.lang.Integer pSourceLength, java.lang.Integer pSourceScale) throws OdiInvalidDataTypeConditionException
public static java.lang.Integer evaluateIntegerExpression(java.lang.String condition, java.lang.Integer pColLength, java.lang.Integer pColScale) throws OdiInvalidDataTypeConditionException
public static void main(java.lang.String[] args)