package reftree
Type Members
-
trait
CompileInFn[T] extends Serializable
Front-end of com.here.platform.data.processing.java.compiler.RefTreeCompiler.
Front-end of com.here.platform.data.processing.java.compiler.RefTreeCompiler. Produces values of a custom type given input partitions and resolved references. These values are then grouped per output partitions and further processed by the back-end.
- Note
The implementation must be scala.Serializable as this is copied to workers and run inside Spark map functions.
,Users should implement on the interfaces extending this one to their implementation of com.here.platform.data.processing.java.compiler.RefTreeCompiler according to the behaviour wanted.
,This is a Java friendly version of com.here.platform.data.processing.compiler.reftree.CompileInFn.
- trait CompileInFnWithRefs[T] extends CompileInFn[T]
- trait CompileInFnWithRefsReturnsReferences[T] extends CompileInFn[T]
-
class
Ref extends RefBase
Reference from layer A to layer B means that a partition on layer A may potentially require one or more partitions on layer B for compilation.
Reference from layer A to layer B means that a partition on layer A may potentially require one or more partitions on layer B for compilation.
Describes a reference that goes from some unknown in this context source layer to the layer defined by the field layer. It also defines child references that go from the layer to other layers.
-
abstract
class
RefBase extends AnyRef
A base for subject and referenced layers.
A base for subject and referenced layers. It has a layer and references that reference other layers.
-
class
RefTree extends AnyRef
Represents the reference model that describes hierarchical dependency of a layer on other layers.
Represents the reference model that describes hierarchical dependency of a layer on other layers. Hierarchical here means that not only this layer may have references but also the layers that are referenced by it may also have their own references.
The elements of the RefTree each form the root layers of one reference tree. These layers are also called subject layers, as these layers are the point where the compilation process starts, they are the one driving the compilation, accessing references and providing material for the compilation of output partitions.
Example: We have a catalog Cat, with a subject layer A, which references objects in a second layer B. We assign to this reference a name "abReference". For this case we need two levels in the RefTree, the root level defines the subject layer A, the second level defines the reference from A to B:
Java code:
RefTree exampleRefTree = new RefTree() .addSubject(new Subject(new Pair<>("Cat", "A") .addRef(new Ref("abReference", new Pair<>("Cat", "B")))));
- Note
This is a Java friendly version of com.here.platform.data.processing.compiler.reftree.RefTree.
Example: -
trait
ResolveInFn extends Serializable
Front-end of com.here.platform.data.processing.java.compiler.RefTreeCompiler.
Front-end of com.here.platform.data.processing.java.compiler.RefTreeCompiler.
Produces references of an input partition. This process is coordinated by com.here.platform.data.processing.java.compiler.RefTreeCompiler.refStructure.
- Note
The implementation must be scala.Serializable as this is copied to workers and run inside Spark map functions.
,This is a Java friendly version of com.here.platform.data.processing.compiler.reftree.ResolveInFn.
-
class
Subject extends RefBase
The root of the reference tree.
The root of the reference tree. It does not have source layers, only references to target layers. There may be several subject layers for one compiler.