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`

### Constructor Summary

Constructors
Constructor and Description
`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 String` `explainSingleLineageItem(LineageItem li)`
`static LineageItem[]` `getLineage(ExecutionContext ec, CPOperand... operands)`
`static LineageItem[]` `getLineageItemInputstoSB(ArrayList<String> inputs, ExecutionContext ec)`
`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

### 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)