Package org.apache.sysds.runtime.controlprogram.federated

# Class FederatedUDF

java.lang.Object
org.apache.sysds.runtime.controlprogram.federated.FederatedUDF

All Implemented Interfaces:
  `Serializable`, `LineageTraceable`

Direct Known Subclasses:
  `FederatedData.GetPrivacyConstraints`, `FederatedStatistics.FedStatsCollectFunction`, `MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder`, `MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder`, `ParameterizedBuiltinFEDInstruction.DecodeMatrix`, `QuantilePickFEDInstruction.CreateMatrixFromFrame`, `QuantilePickFEDInstruction.GetHistogram`, `QuantilePickFEDInstruction.GetValuesInRange`, `QuantilePickFEDInstruction.GetValuesInRanges`, `QuantilePickFEDInstruction.MinMax`, `ReorgFEDInstruction.DiagMatrix`, `ReorgFEDInstruction.Rdiag`, `ReorgFEDInstruction.SliceMatrix`

public abstract class FederatedUDF extends Object implements Serializable, LineageTraceable

See Also:
  - Serialized Form

## Method Summary

Modifier and Type
Method
Description
`abstract FederatedResponse`
`execute(ExecutionContext ec, Data... data)`
Execute the user-defined function on a set of data objects (e.g., matrix objects, frame objects, or scalars), which are looked up by specified input IDs and passed in the same order.
`final long[]`
`getInputIDs()`
`List<Long>`
`getOutputIds()`

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

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

### Methods inherited from interface org.apache.sysds.runtime.lineage.LineageTraceable

`getLineageItem, getLineageItems, hasSingleLineage`

## Method Details

### getInputIDs

public final long[] getInputIDs()

### getOutputIds

public List<Long> getOutputIds()

### execute

public abstract FederatedResponse execute(ExecutionContext ec, Data... data)
Execute the user-defined function on a set of data objects (e.g., matrix objects, frame objects, or scalars), which are looked up by specified input IDs and passed in the same order. Output data objects (potentially many) can be directly added to the passed execution context and its variable map.

Parameters:
  `ec` - execution context
  `data` - one or many data objects
Returns:
  federated response, with none or many output objects