case class Projection(loc: At, id: Definitions.Identifier, authors: Seq[AuthorRef] = Seq.empty[AuthorRef], options: Seq[Definitions.ProjectionOption] = Seq.empty[ProjectionOption], includes: Seq[Include[Definitions.ProjectionDefinition]] = Seq
.empty[Include[ProjectionDefinition]], types: Seq[Type] = Seq.empty[Type], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], handlers: Seq[Handler] = Seq.empty[Handler], invariants: Seq[Invariant] = Seq.empty[Invariant], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[ProjectionOption, ProjectionDefinition] with ContextDefinition with WithTypes with Product with Serializable
Projections get their name from Euclidean Geometry but are probably more analogous to a relational database view. The concept is very simple in RIDDL: projections gather data from entities and other sources, transform that data into a specific record type, and support querying that data arbitrarily.
- loc
Location in the source of the Projection
- id
The unique identifier for this Projection
- authors
The authors of this definition
- options
Options that can be used by the translators
- types
The type definitions necessary to construct the query results
- handlers
Specifies how to handle
- terms
Definitions of terms about this Projection
- brief
A brief description of this Projection
- description
A detailed description of this Projection
- See also
https://en.wikipedia.org/wiki/View_(SQL)).
https://en.wikipedia.org/wiki/Projection_(mathematics)
- Alphabetic
- By Inheritance
- Projection
- Serializable
- Product
- Equals
- ContextDefinition
- Processor
- WithTypes
- VitalDefinition
- WithTerms
- WithIncludes
- WithAuthors
- WithOptions
- Definition
- Container
- BrieflyDescribedValue
- DescribedValue
- RiddlValue
- RiddlNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Projection(loc: At, id: Definitions.Identifier, authors: Seq[AuthorRef] = Seq.empty[AuthorRef], options: Seq[Definitions.ProjectionOption] = Seq.empty[ProjectionOption], includes: Seq[Include[Definitions.ProjectionDefinition]] = Seq
.empty[Include[ProjectionDefinition]], types: Seq[Type] = Seq.empty[Type], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], handlers: Seq[Handler] = Seq.empty[Handler], invariants: Seq[Invariant] = Seq.empty[Invariant], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None)- loc
Location in the source of the Projection
- id
The unique identifier for this Projection
- authors
The authors of this definition
- options
Options that can be used by the translators
- types
The type definitions necessary to construct the query results
- handlers
Specifies how to handle
- terms
Definitions of terms about this Projection
- brief
A brief description of this Projection
- description
A detailed description of this Projection
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
- Projection → 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
- Projection → 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.ProjectionDefinition]
- Definition Classes
- Projection → WithIncludes → Container
- val description: Option[Definitions.Description]
- Definition Classes
- Projection → DescribedValue
- def descriptionValue: String
- Definition Classes
- DescribedValue
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getOptionValue[OPT <: Definitions.ProjectionOption](implicit arg0: ClassTag[OPT]): Option[Seq[Definitions.LiteralString]]
- Definition Classes
- WithOptions
- val handlers: Seq[Handler]
- Definition Classes
- Projection → Processor
- def hasAuthors: Boolean
- Definition Classes
- WithAuthors → Definition
- def hasInlets: Boolean
- Definition Classes
- Processor
- def hasOption[OPT <: Definitions.ProjectionOption](implicit arg0: ClassTag[OPT]): Boolean
- Definition Classes
- WithOptions
- def hasOptions: Boolean
- Definition Classes
- WithOptions → Definition
- def hasOutlets: Boolean
- Definition Classes
- Processor
- def hasTerms: Boolean
- Definition Classes
- WithTerms
- def hasTypes: Boolean
- Definition Classes
- WithTypes → Definition
- val id: Definitions.Identifier
- Definition Classes
- Projection → Definition
- def identify: String
- Definition Classes
- Definition
- def identifyWithLoc: String
- Definition Classes
- Definition
- val includes: Seq[Include[Definitions.ProjectionDefinition]]
- Definition Classes
- Projection → WithIncludes
- val inlets: Seq[Inlet]
- Definition Classes
- Projection → Processor
- val invariants: Seq[Invariant]
- 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
- 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
- Projection → 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
- Projection → 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
- Projection → 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.ProjectionOption]
- Definition Classes
- Projection → WithOptions
- val outlets: Seq[Outlet]
- Definition Classes
- Projection → Processor
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terms: Seq[Term]
- Definition Classes
- Projection → WithTerms
- val types: Seq[Type]
- Definition Classes
- Projection → WithTypes
- 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