Package org.apache.nemo.common.ir.edge
Class IREdge
- java.lang.Object
-
- org.apache.nemo.common.dag.Edge<IRVertex>
-
- org.apache.nemo.common.ir.edge.IREdge
-
- All Implemented Interfaces:
java.io.Serializable
public final class IREdge extends Edge<IRVertex>
Physical execution plan of intermediate data movement.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description IREdge(CommunicationPatternProperty.Value commPattern, IRVertex src, IRVertex dst)
Constructor of IREdge.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copyExecutionPropertiesTo(IREdge thatEdge)
Static function to copy executionProperties from an edge to the other.boolean
equals(java.lang.Object o)
ExecutionPropertyMap<EdgeExecutionProperty>
getExecutionProperties()
com.fasterxml.jackson.databind.node.ObjectNode
getPropertiesAsJsonNode()
<T extends java.io.Serializable>
java.util.Optional<T>getPropertyValue(java.lang.Class<? extends EdgeExecutionProperty<T>> executionPropertyKey)
Get the executionProperty of the IREdge.int
hashCode()
java.lang.Boolean
hasSameItineraryAs(IREdge edge)
IREdge
setProperty(EdgeExecutionProperty<?> executionProperty)
Set an executionProperty of the IREdge.IREdge
setPropertyPermanently(EdgeExecutionProperty<?> executionProperty)
Set an executionProperty of the IREdge, permanently.-
Methods inherited from class org.apache.nemo.common.dag.Edge
getDst, getId, getNumericId, getSrc
-
-
-
-
Constructor Detail
-
IREdge
public IREdge(CommunicationPatternProperty.Value commPattern, IRVertex src, IRVertex dst)
Constructor of IREdge.- Parameters:
commPattern
- data communication pattern type of the edge.src
- source vertex.dst
- destination vertex.
-
-
Method Detail
-
setProperty
public IREdge setProperty(EdgeExecutionProperty<?> executionProperty)
Set an executionProperty of the IREdge.- Parameters:
executionProperty
- the execution property.- Returns:
- the IREdge with the execution property set.
-
setPropertyPermanently
public IREdge setPropertyPermanently(EdgeExecutionProperty<?> executionProperty)
Set an executionProperty of the IREdge, permanently.- Parameters:
executionProperty
- the execution property.- Returns:
- the IREdge with the execution property set.
-
getPropertyValue
public <T extends java.io.Serializable> java.util.Optional<T> getPropertyValue(java.lang.Class<? extends EdgeExecutionProperty<T>> executionPropertyKey)
Get the executionProperty of the IREdge.- Type Parameters:
T
- Type of the return value.- Parameters:
executionPropertyKey
- key of the execution property.- Returns:
- the execution property.
-
getExecutionProperties
public ExecutionPropertyMap<EdgeExecutionProperty> getExecutionProperties()
- Returns:
- the ExecutionPropertyMap of the IREdge.
-
hasSameItineraryAs
public java.lang.Boolean hasSameItineraryAs(IREdge edge)
- Parameters:
edge
- edge to compare.- Returns:
- whether or not the edge has the same itinerary
-
copyExecutionPropertiesTo
public void copyExecutionPropertiesTo(IREdge thatEdge)
Static function to copy executionProperties from an edge to the other.- Parameters:
thatEdge
- the edge to copy executionProperties to.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getPropertiesAsJsonNode
public com.fasterxml.jackson.databind.node.ObjectNode getPropertiesAsJsonNode()
- Overrides:
getPropertiesAsJsonNode
in classEdge<IRVertex>
- Returns:
- JSON representation of additional properties
-
-