class PortSpecification extends AnyRef
Specify the valid bindings for step inputs or outputs
The core engine doesn't care what steps are connected or what ports they're connected on.
But in practice, many steps do care. If you have a step that expects to read a single
document off the source
port and to write a sequence of documents to the result
port,
it does no good to run a pipeline where those ports aren't connected.
A port binding specification identifies the ports that the step expects to read from (or write to) and what the acceptable cardinality of documents is on those ports.
The port named PortSpecification.WILDCARD
serves as a wildcard for ports of any name
- Alphabetic
- By Inheritance
- PortSpecification
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
PortSpecification(spec: Map[String, PortCardinality])
A port binding specification.
A port binding specification.
- spec
A map from port names to cardinalities.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def cardinality(port: String): Option[PortCardinality]
-
def
checkInputCardinality(port: String, count: Long): Unit
Check the actual input cardinality against the specification.
Check the actual input cardinality against the specification.
This method throws a com.jafpl.exceptions.JafplException if the
count
of documents provided on this port is not acceptable according to the defined cardinality.- port
The port name.
- count
The number of documents that appeared on that port.
-
def
checkOutputCardinality(port: String, count: Long): Unit
Check the actual output cardinality against the specification.
Check the actual output cardinality against the specification.
This method throws a com.jafpl.exceptions.JafplException if the
count
of documents provided on this port is not acceptable according to the defined cardinality.- port
The port name.
- count
The number of documents that appeared on that port.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
ports: Set[String]
List the ports in this specification.
List the ports in this specification.
- returns
the set of ports
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
Just Another Fine Pipeline Language
This is a pipeline framework. It’s built on top of Akka actors to support arbitrary data flow pipelines. It is wholly agnostic to the kinds of data that flow through the pipelines and the implementations of the steps that process them.
See http://jafpl.com/ for more general information.