Class Shape

java.lang.Object
org.apache.pekko.stream.Shape
Direct Known Subclasses:
AbstractShape, AmorphousShape, BidiShape, ClosedShape, FanInShape, FanOutShape, FlowShape, SinkShape, SourceShape

public abstract class Shape extends Object
A Shape describes the inlets and outlets of a Graph. In keeping with the philosophy that a Graph is a freely reusable blueprint, everything that matters from the outside are the connections that can be made with it, otherwise it is just a black box.
  • Constructor Details

    • Shape

      public Shape()
  • Method Details

    • hasOnePort

      public static boolean hasOnePort(scala.collection.immutable.Seq<?> ports)
      inlets and outlets can be Vector or List so this method checks the size of 1 in an optimized way.
    • inlets

      public abstract scala.collection.immutable.Seq<Inlet<?>> inlets()
      Scala API: get a list of all input ports
    • outlets

      public abstract scala.collection.immutable.Seq<Outlet<?>> outlets()
      Scala API: get a list of all output ports
    • deepCopy

      public abstract Shape deepCopy()
      Create a copy of this Shape object, returning the same type as the original; this constraint can unfortunately not be expressed in the type system.
    • getInlets

      public List<Inlet<?>> getInlets()
      Java API: get a list of all input ports
    • getOutlets

      public List<Outlet<?>> getOutlets()
      Java API: get a list of all output ports
    • hasSamePortsAs

      public boolean hasSamePortsAs(Shape s)
      Compare this to another shape and determine whether the set of ports is the same (ignoring their ordering).
    • hasSamePortsAndShapeAs

      public boolean hasSamePortsAndShapeAs(Shape s)
      Compare this to another shape and determine whether the arrangement of ports is the same (including their ordering).
    • requireSamePortsAs

      public void requireSamePortsAs(Shape s)
    • requireSamePortsAndShapeAs

      public void requireSamePortsAndShapeAs(Shape s)