Package org.apache.sysds.runtime.lineage

## Class LineageItemUtils

- java.lang.Object
- - org.apache.sysds.runtime.lineage.LineageItemUtils

    public class LineageItemUtils
    extends Object

### Field Summary

Fields
`static String` `LPLACEHOLDER`
`static String` `SERIALIZATION_OPCODE`

### Constructor Summary

Constructors
`LineageItemUtils()`

### Method Summary

All Methods Static Methods Concrete Methods Deprecated Methods
`static void` `addAllDataLineage​(ExecutionContext ec)`
`static void` `checkCycles​(LineageItem current)`
`static void` `constructLineageFromHops​(Hop[] roots, String claName, Hop[] inputs, HashMap<Long,​Hop> spoofmap)`
`static boolean` `containsRandDataGen​(HashSet<LineageItem> entries, LineageItem root)`
`static LineageItem` `createScalarLineageItem​(LiteralOp lop)`
`static String` `explainSingleLineageItem​(LineageItem li)`
`static LineageItem[]` `getLineage​(ExecutionContext ec, CPOperand... operands)`
`static LineageItem[]` `getLineageItemInputstoSB​(ArrayList<String> inputs, ExecutionContext ec)`
`static LineageItem` `getSerializedFedResponseLineageItem​(LineageItem li)`
`static LineageItem.LineageItemType` `getType​(String str)`
`static void` `rCheckCycles​(LineageItem current, Set<Long> probe, boolean useObjIdent)`
`static void` `rConstructLineageFromHops​(Hop root, Hop[] inputs, Map<Long,​LineageItem> operands, HashMap<Long,​Hop> spoofmap)`
`static LineageItem` `rDecompress​(LineageItem item)` Deprecated.
`static LineageItem` `replace​(LineageItem root, LineageItem liOld, LineageItem liNew)`
`static void` `replaceDagLeaves​(ExecutionContext ec, LineageItem root, CPOperand[] newLeaves)`
`static void` `rGetDagLeaves​(HashSet<LineageItem> leaves, LineageItem root)`
`static void` `rReplaceDagLeaves​(LineageItem root, LineageItem[] newleaves)`
`static void` `rReplaceNR​(LineageItem current, LineageItem liOld, LineageItem liNew)` Non-recursive equivalent of `rReplace(LineageItem, LineageItem, LineageItem)` for robustness with regard to stack overflow errors.
`static FederatedResponse` `setUDFResponse​(FederatedUDF udf, MatrixObject mo)`
`static void` `traceFedUDF​(ExecutionContext ec, FederatedUDF udf)`
`static void` `writeTraceToHDFS​(String trace, String fname)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### LPLACEHOLDER

    public static final String LPLACEHOLDER

See Also:
  Constant Field Values

#### SERIALIZATION_OPCODE

    public static final String SERIALIZATION_OPCODE

See Also:
  Constant Field Values

### Constructor Detail

#### LineageItemUtils

    public LineageItemUtils()

### Method Detail

#### getType

    public static LineageItem.LineageItemType getType​(String str)

#### explainSingleLineageItem

    public static String explainSingleLineageItem​(LineageItem li)

#### getLineage

    public static LineageItem[] getLineage​(ExecutionContext ec,
                                           CPOperand... operands)

#### traceFedUDF

    public static void traceFedUDF​(ExecutionContext ec,
                                   FederatedUDF udf)

#### setUDFResponse

    public static FederatedResponse setUDFResponse​(FederatedUDF udf,
                                                   MatrixObject mo)

#### constructLineageFromHops

    public static void constructLineageFromHops​(Hop[] roots,
                                                String claName,
                                                Hop[] inputs,
                                                HashMap<Long,​Hop> spoofmap)

#### rConstructLineageFromHops

    public static void rConstructLineageFromHops​(Hop root,
                                                 Hop[] inputs,
                                                 Map<Long,​LineageItem> operands,
                                                 HashMap<Long,​Hop> spoofmap)

#### rDecompress

    @Deprecated
    public static LineageItem rDecompress​(LineageItem item)

Deprecated.

#### writeTraceToHDFS

    public static void writeTraceToHDFS​(String trace,
                                        String fname)

#### replace

    public static LineageItem replace​(LineageItem root,
                                      LineageItem liOld,
                                      LineageItem liNew)

#### rReplaceNR

    public static void rReplaceNR​(LineageItem current,
                                  LineageItem liOld,
                                  LineageItem liNew)

Non-recursive equivalent of `rReplace(LineageItem, LineageItem, LineageItem)` for robustness with regard to stack overflow errors.

Parameters:
  `current` - Current lineage item
  `liOld` - Old lineage item
  `liNew` - New Lineage item.

#### replaceDagLeaves

    public static void replaceDagLeaves​(ExecutionContext ec,
                                        LineageItem root,
                                        CPOperand[] newLeaves)

#### rReplaceDagLeaves

    public static void rReplaceDagLeaves​(LineageItem root,
                                         LineageItem[] newleaves)

#### rGetDagLeaves

    public static void rGetDagLeaves​(HashSet<LineageItem> leaves,
                                     LineageItem root)

#### checkCycles

    public static void checkCycles​(LineageItem current)

#### rCheckCycles

    public static void rCheckCycles​(LineageItem current,
                                    Set<Long> probe,
                                    boolean useObjIdent)

#### containsRandDataGen

    public static boolean containsRandDataGen​(HashSet<LineageItem> entries,
                                              LineageItem root)

#### getLineageItemInputstoSB

    public static LineageItem[] getLineageItemInputstoSB​(ArrayList<String> inputs,
                                                         ExecutionContext ec)

#### addAllDataLineage

    public static void addAllDataLineage​(ExecutionContext ec)

#### createScalarLineageItem

    public static LineageItem createScalarLineageItem​(LiteralOp lop)

#### getSerializedFedResponseLineageItem

    public static LineageItem getSerializedFedResponseLineageItem​(LineageItem li)