Package org.apache.nemo.common.ir.vertex
Class IRVertex
- java.lang.Object
-
- org.apache.nemo.common.dag.Vertex
-
- org.apache.nemo.common.ir.vertex.IRVertex
-
- Direct Known Subclasses:
LoopVertex
,OperatorVertex
,SamplingVertex
,SourceVertex
public abstract class IRVertex extends Vertex implements Cloneable<IRVertex>
The basic unit of operation in a dataflow program, as well as the most important data structure in Nemo. An IRVertex is created and modified in the compiler, and executed in the runtime.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copyExecutionPropertiesTo(IRVertex thatVertex)
Static function to copy executionProperties from a vertex to the other.ExecutionPropertyMap<VertexExecutionProperty>
getExecutionProperties()
protected com.fasterxml.jackson.databind.node.ObjectNode
getIRVertexPropertiesAsJsonNode()
<T extends java.io.Serializable>
java.util.Optional<T>getPropertyValue(java.lang.Class<? extends VertexExecutionProperty<T>> executionPropertyKey)
Get the executionProperty of the IRVertex.java.lang.Boolean
isUtilityVertex()
IRVertex
setProperty(VertexExecutionProperty<?> executionProperty)
Set an executionProperty of the IRVertex.IRVertex
setPropertyPermanently(VertexExecutionProperty<?> executionProperty)
Set an executionProperty of the IRVertex, permanently.-
Methods inherited from class org.apache.nemo.common.dag.Vertex
getId, getNumericId, getPropertiesAsJsonNode
-
-
-
-
Constructor Detail
-
IRVertex
public IRVertex()
Constructor of IRVertex.
-
IRVertex
public IRVertex(IRVertex that)
Copy Constructor for IRVertex.- Parameters:
that
- the source object for copying
-
-
Method Detail
-
copyExecutionPropertiesTo
public final void copyExecutionPropertiesTo(IRVertex thatVertex)
Static function to copy executionProperties from a vertex to the other.- Parameters:
thatVertex
- the edge to copy executionProperties to.
-
setProperty
public final IRVertex setProperty(VertexExecutionProperty<?> executionProperty)
Set an executionProperty of the IRVertex.- Parameters:
executionProperty
- new execution property.- Returns:
- the IRVertex with the execution property set.
-
setPropertyPermanently
public final IRVertex setPropertyPermanently(VertexExecutionProperty<?> executionProperty)
Set an executionProperty of the IRVertex, permanently.- Parameters:
executionProperty
- new execution property.- Returns:
- the IRVertex with the execution property set.
-
isUtilityVertex
public final java.lang.Boolean isUtilityVertex()
-
getPropertyValue
public final <T extends java.io.Serializable> java.util.Optional<T> getPropertyValue(java.lang.Class<? extends VertexExecutionProperty<T>> executionPropertyKey)
Get the executionProperty of the IRVertex.- Type Parameters:
T
- Type of the return value.- Parameters:
executionPropertyKey
- key of the execution property.- Returns:
- the execution property.
-
getExecutionProperties
public final ExecutionPropertyMap<VertexExecutionProperty> getExecutionProperties()
- Returns:
- the ExecutionPropertyMap of the IRVertex.
-
getIRVertexPropertiesAsJsonNode
protected final com.fasterxml.jackson.databind.node.ObjectNode getIRVertexPropertiesAsJsonNode()
- Returns:
- IRVertex properties as JSON node.
-
-