Package io.openlineage.client.utils
Class TransformationInfo
java.lang.Object
io.openlineage.client.utils.TransformationInfo
Stores information about transformation type of the dependency between two expressions. The
transformation is described by 3 attributes: type, subtype and masking.
type
indicate whether the transformation is direct (target value was derived
from source value) or indirect (target value was influenced by source value). subType
further divide the transformations. masking
indicates whether the transformation obfuscated the source value-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
static enum
-
Constructor Summary
ConstructorsConstructorDescriptionTransformationInfo
(TransformationInfo.Types type, TransformationInfo.Subtypes subType, String description, Boolean masking) -
Method Summary
Modifier and TypeMethodDescriptionstatic TransformationInfo
Method that simplifies the creation of anTransformationInfo
object representing non-masking,TransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.AGGREGATION
transformation.static TransformationInfo
aggregation
(Boolean isMasking) Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.AGGREGATION
transformation.boolean
getType()
int
hashCode()
static TransformationInfo
identity()
Method that simplifies the creation of anTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.IDENTITY
transformation.static TransformationInfo
indirect
(TransformationInfo.Subtypes subType) Method that simplifies the creation ofTransformationInfo
object representing non-masking,TransformationInfo.Types.INDIRECT
transformation.static TransformationInfo
indirect
(TransformationInfo.Subtypes subType, Boolean isMasking) Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.INDIRECT
transformation.merge
(TransformationInfo another) Merges currentTransformationInfo
with another e.g.toString()
static TransformationInfo
Method that simplifies the creation of anTransformationInfo
object representing non-masking,TransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.TRANSFORMATION
transformation.static TransformationInfo
transformation
(Boolean isMasking) Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.TRANSFORMATION
transformation.
-
Constructor Details
-
TransformationInfo
public TransformationInfo(TransformationInfo.Types type, TransformationInfo.Subtypes subType, String description, Boolean masking)
-
-
Method Details
-
identity
Method that simplifies the creation of anTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.IDENTITY
transformation. -
transformation
Method that simplifies the creation of anTransformationInfo
object representing non-masking,TransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.TRANSFORMATION
transformation. -
transformation
Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.TRANSFORMATION
transformation.- Parameters:
isMasking
- - is transformation masking
-
aggregation
Method that simplifies the creation of anTransformationInfo
object representing non-masking,TransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.AGGREGATION
transformation. -
aggregation
Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.DIRECT
,TransformationInfo.Subtypes.AGGREGATION
transformation.- Parameters:
isMasking
- - is transformation masking
-
indirect
Method that simplifies the creation ofTransformationInfo
object representing non-masking,TransformationInfo.Types.INDIRECT
transformation.- Parameters:
subType
- - the subtype of the transformation viable subtypes:TransformationInfo.Subtypes.CONDITIONAL
,TransformationInfo.Subtypes.SORT
,TransformationInfo.Subtypes.GROUP_BY
,TransformationInfo.Subtypes.JOIN
,TransformationInfo.Subtypes.FILTER
,
-
indirect
Method that simplifies the creation ofTransformationInfo
object representingTransformationInfo.Types.INDIRECT
transformation.- Parameters:
subType
- - the subtype of the transformation viable subtypes:TransformationInfo.Subtypes.CONDITIONAL
,TransformationInfo.Subtypes.SORT
,TransformationInfo.Subtypes.GROUP_BY
,TransformationInfo.Subtypes.JOIN
,TransformationInfo.Subtypes.FILTER
,isMasking
- - is transformation masking (no indirect transformation is masking, but their dependencies can be)
-
equals
-
hashCode
public int hashCode() -
merge
Merges currentTransformationInfo
with another e.g. given two dependencies with transformation types a -> b, t1 and b -> c, t2 the result of merge is transformation type for dependency a -> cRules applied here are: 1. if current transformation is indirect, new type and subtype is taken from current 2. if current is not indirect and another is null we can't deduce result so we return null 3. if another is indirect, new type and subtype is taken from another 4. otherwise the the type and subtype are taken from the one with lower
Enum.ordinal()
5. if anyTransformationInfo
has masking set to true, the result has masking set to true- Parameters:
another
- -TransformationInfo
object to be merged with
-
toInputFieldsTransformations
-
toString
-
getType
-
getSubType
-
getDescription
-
getMasking
-