case class Function(loc: At, id: Definitions.Identifier, input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, types: Seq[Type] = Seq.empty[Type], functions: Seq[Function] = Seq.empty[Function], examples: Seq[Example] = Seq.empty[Example], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.FunctionDefinition]] = Seq
.empty[Include[FunctionDefinition]], options: Seq[Definitions.FunctionOption] = Seq.empty[FunctionOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[FunctionOption, FunctionDefinition] with WithTypes with SagaDefinition with EntityDefinition with ContextDefinition with FunctionDefinition with Product with Serializable
A function definition which can be part of a bounded context or an entity.
- loc
The location of the function definition
- id
The identifier that names the function
- input
An optional type expression that names and types the fields of the input of the function
- output
An optional type expression that names and types the fields of the output of the function
- examples
The set of examples that define the behavior of the function.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the function.
- Alphabetic
- By Inheritance
- Function
- Serializable
- Product
- Equals
- FunctionDefinition
- ContextDefinition
- EntityDefinition
- SagaDefinition
- WithTypes
- VitalDefinition
- WithTerms
- WithIncludes
- WithAuthors
- WithOptions
- Definition
- Container
- BrieflyDescribedValue
- DescribedValue
- RiddlValue
- RiddlNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Function(loc: At, id: Definitions.Identifier, input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, types: Seq[Type] = Seq.empty[Type], functions: Seq[Function] = Seq.empty[Function], examples: Seq[Example] = Seq.empty[Example], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.FunctionDefinition]] = Seq
.empty[Include[FunctionDefinition]], options: Seq[Definitions.FunctionOption] = Seq.empty[FunctionOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None)- loc
The location of the function definition
- id
The identifier that names the function
- input
An optional type expression that names and types the fields of the input of the function
- output
An optional type expression that names and types the fields of the output of the function
- examples
The set of examples that define the behavior of the function.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the function.
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
- val authors: Seq[AuthorRef]
- Definition Classes
- Function → WithAuthors
- implicit def bool2int(b: Boolean): Int
Implicit conversion of boolean to Int for easier computation of statistics below
Implicit conversion of boolean to Int for easier computation of statistics below
- b
The boolean to convert to an Int
- Definition Classes
- VitalDefinition
- val brief: Option[Definitions.LiteralString]
- Definition Classes
- Function → BrieflyDescribedValue
- def briefValue: String
- Definition Classes
- BrieflyDescribedValue
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def completeness: (Int, Int)
Compute the completeness of this definition.
Compute the completeness of this definition. Vital definitions should have options, terms, and authors but includes are optional. Incompleteness is signalled by child definitions that are empty.
- returns
A numerator and denominator for percent complete
- Definition Classes
- VitalDefinition
- lazy val contents: Seq[Definitions.FunctionDefinition]
- Definition Classes
- Function → WithIncludes → Container
- val description: Option[Definitions.Description]
- Definition Classes
- Function → DescribedValue
- def descriptionValue: String
- Definition Classes
- DescribedValue
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val examples: Seq[Example]
- def find(name: String): Option[Definitions.Definition]
- Definition Classes
- Definition
- def format: String
Format the node to a string
Format the node to a string
- Definition Classes
- WithOptions → RiddlNode
- val functions: Seq[Function]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getOptionValue[OPT <: Definitions.FunctionOption](implicit arg0: ClassTag[OPT]): Option[Seq[Definitions.LiteralString]]
- Definition Classes
- WithOptions
- def hasAuthors: Boolean
- Definition Classes
- WithAuthors → Definition
- def hasOption[OPT <: Definitions.FunctionOption](implicit arg0: ClassTag[OPT]): Boolean
- Definition Classes
- WithOptions
- def hasOptions: Boolean
- Definition Classes
- WithOptions → Definition
- def hasTerms: Boolean
- Definition Classes
- WithTerms
- def hasTypes: Boolean
- Definition Classes
- WithTypes → Definition
- val id: Definitions.Identifier
- Definition Classes
- Function → Definition
- def identify: String
- Definition Classes
- Definition
- def identifyWithLoc: String
- Definition Classes
- Definition
- val includes: Seq[Include[Definitions.FunctionDefinition]]
- Definition Classes
- Function → WithIncludes
- val input: Option[Definitions.Aggregation]
- def isContainer: Boolean
Determine if this node is a container or not
- def isEmpty: Boolean
determine if this node is empty or not.
determine if this node is empty or not. Non-containers are always empty
- Definition Classes
- Function → WithOptions → Container → RiddlNode
- def isImplicit: Boolean
- Definition Classes
- Definition
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRootContainer: Boolean
- Definition Classes
- Container
- def isVital: Boolean
- Definition Classes
- VitalDefinition → Definition
- final val kind: String
- Definition Classes
- Function → Definition
- val loc: At
The location in the parse at which this RiddlValue occurs
The location in the parse at which this RiddlValue occurs
- Definition Classes
- Function → RiddlValue
- def maturity: Int
Compute the 'maturity' of a definition.
Compute the 'maturity' of a definition. Maturity is a score with no maximum but with scoring rules that target 100 points per definition. Maturity is broken down this way:
- has a description - up to 50 points depending on # of non empty lines
- has a brief description - 5 points
- has options specified - 5 points
- has terms defined -
- has an author in or above the definition - 5 points \-
- definition specific things: 0.65
- Definition Classes
- Function → VitalDefinition
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nonEmpty: Boolean
- Definition Classes
- RiddlNode
- Annotations
- @deprecatedOverriding()
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val options: Seq[Definitions.FunctionOption]
- Definition Classes
- Function → WithOptions
- val output: Option[Definitions.Aggregation]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terms: Seq[Term]
- val types: Seq[Type]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated