BasicTaxonomy

final class BasicTaxonomy extends TaxonomyLike

Basic implementation of a taxonomy that offers the TaxonomyApi query API. It does not enforce uniqueness of "target expanded names" of concept declarations etc.

Basic implementation of a taxonomy that offers the TaxonomyApi query API. It does not enforce uniqueness of "target expanded names" of concept declarations etc.

It knows nothing about DTSes and closure under DTS discovery rules.

It does not know anything about tables and formulas. It also does not know anything about networks of relationships.

This object is expensive to create (through the build method), primarily due to the mappings from source and target concepts to standard relationships. Looking up schema content by EName is also fast.

Authors

Chris de Vreeze

Companion
object

Value members

Concrete methods

def findAllInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
def findAllNonStandardRelationshipsOfType[A <: NonStandardRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
def findAllRelationshipsOfType[A <: Relationship](relationshipType: ClassTag[A]): IndexedSeq[A]
def findAllStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
def findAllStandardRelationshipsOfType[A <: StandardRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
def findBaseTypeOrSelfUntil(typeEName: EName, p: EName => Boolean): Option[EName]
def findConceptDeclaration(ename: EName): Option[ConceptDeclaration]
def findNamedTypeDefinition(ename: EName): Option[NamedTypeDefinition]

Inherited methods

final def computeHasHypercubeInheritanceForElrReturningPrimaries(elr: String): Map[EName, Set[EName]]
Inherited from
TaxonomySchemaLike
final def filterDimensionalRelationshipsOfType[A <: DimensionalRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
Inherited from
SchemaLike
final def filterIncomingConsecutiveInterConceptRelationshipPaths[A <: InterElementDeclarationRelationship](targetConcept: EName, relationshipType: ClassTag[A])(p: ConsecutiveRelationshipPath[A] => Boolean): IndexedSeq[ConsecutiveRelationshipPath[A]]
final def filterIncomingInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](targetConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterIncomingNonStandardRelationshipsOfType[A <: NonStandardRelationship](target: Node, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterIncomingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](targetConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterIncomingUnrestrictedNonStandardRelationshipPaths[A <: NonStandardRelationship](target: Node, relationshipType: ClassTag[A])(p: RelationshipPath[A] => Boolean): IndexedSeq[RelationshipPath[A]]
final def filterInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterItemDeclarations(p: ItemDeclaration => Boolean): IndexedSeq[ItemDeclaration]
Inherited from
TaxonomySchemaLike
Inherited from
SchemaLike
final def filterNonStandardRelationshipsOfType[A <: NonStandardRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterOutgoingConsecutiveInterConceptRelationshipPaths[A <: InterElementDeclarationRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: ConsecutiveRelationshipPath[A] => Boolean): IndexedSeq[ConsecutiveRelationshipPath[A]]
final def filterOutgoingDomainMemberRelationshipsOnElr(sourceConcept: EName, elr: String): IndexedSeq[DomainMemberRelationship]
final def filterOutgoingHasHypercubeRelationshipsOnElr(sourceConcept: EName, elr: String): IndexedSeq[HasHypercubeRelationship]
final def filterOutgoingInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterOutgoingNonStandardRelationshipsOfType[A <: NonStandardRelationship](source: Node, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterOutgoingParentChildRelationshipsOnElr(sourceConcept: EName, elr: String): IndexedSeq[ParentChildRelationship]
final def filterOutgoingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterOutgoingStandardRelationships(sourceConcept: EName)(p: StandardRelationship => Boolean): IndexedSeq[StandardRelationship]
final def filterOutgoingStandardRelationshipsOfType[A <: StandardRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterOutgoingUnrestrictedNonStandardRelationshipPaths[A <: NonStandardRelationship](source: Node, relationshipType: ClassTag[A])(p: RelationshipPath[A] => Boolean): IndexedSeq[RelationshipPath[A]]
final def filterPresentationRelationshipsOfType[A <: PresentationRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterRelationships(p: Relationship => Boolean): IndexedSeq[Relationship]
final def filterRelationshipsOfType[A <: Relationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterStandardRelationshipsOfType[A <: StandardRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]
final def filterTupleDeclarations(p: TupleDeclaration => Boolean): IndexedSeq[TupleDeclaration]
Inherited from
TaxonomySchemaLike
final def findAllDimensionMembers(hasHypercubeRelationship: HasHypercubeRelationship): Map[EName, Set[EName]]
final def findAllDimensionalRelationshipsOfType[A <: DimensionalRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllIncomingInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](targetConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllIncomingNonStandardRelationshipsOfType[A <: NonStandardRelationship](target: Node, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllIncomingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](targetConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllInheritedHasHypercubesAsElrToPrimariesMap(concept: EName): Map[String, Set[EName]]
Inherited from
TaxonomySchemaLike
final def findAllMembers(dimension: EName, domainElrPairs: Set[(EName, String)]): Set[EName]
final def findAllMembers(dimension: EName, domain: EName, dimensionDomainElr: String): Set[EName]
final def findAllMembers(domain: EName, elr: String): Set[EName]
final def findAllNonUsableDimensionMembers(hasHypercubeRelationship: HasHypercubeRelationship): Map[EName, Set[EName]]
final def findAllNonUsableMembers(dimension: EName, domainElrPairs: Set[(EName, String)]): Set[EName]
final def findAllNonUsableMembers(dimension: EName, domain: EName, dimensionDomainElr: String): Set[EName]
final def findAllNonUsableMembers(domain: EName, elr: String, headUsable: Boolean): Set[EName]
final def findAllOutgoingInterConceptRelationshipsOfType[A <: InterElementDeclarationRelationship](sourceConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllOutgoingNonStandardRelationshipsOfType[A <: NonStandardRelationship](source: Node, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllOutgoingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](sourceConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllOutgoingStandardRelationships(sourceConcept: EName): IndexedSeq[StandardRelationship]
final def findAllOutgoingStandardRelationshipsOfType[A <: StandardRelationship](sourceConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllOwnOrInheritedHasHypercubesAsElrToPrimariesMap(concept: EName): Map[String, Set[EName]]
final def findAllPresentationRelationshipsOfType[A <: PresentationRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]
final def findAllUsableDimensionMembers(hasHypercubeRelationship: HasHypercubeRelationship): Map[EName, Set[EName]]
final def findAllUsableMembers(dimension: EName, domainElrPairs: Set[(EName, String)]): Set[EName]
final def findAllUsableMembers(dimension: EName, domain: EName, dimensionDomainElr: String): Set[EName]
final def findAllUsableMembers(domain: EName, elr: String, headUsable: Boolean): Set[EName]
final def findDimensionDeclaration(ename: EName): Option[DimensionDeclaration]
Inherited from
TaxonomySchemaLike
final def findHypercubeDeclaration(ename: EName): Option[HypercubeDeclaration]
Inherited from
TaxonomySchemaLike
final def findItemDeclaration(ename: EName): Option[ItemDeclaration]
Inherited from
TaxonomySchemaLike
final def findItemDeclaration(p: ItemDeclaration => Boolean): Option[ItemDeclaration]
Inherited from
TaxonomySchemaLike
final def findMemberDeclarationOfTypedDimension(typedDimension: EName): Option[GlobalElementDeclaration]
Inherited from
TaxonomySchemaLike
Inherited from
SchemaLike
Inherited from
SchemaLike
Inherited from
SchemaLike
final def findNamedTypeOfGlobalElementDeclaration(ename: EName): Option[EName]
Inherited from
SchemaLike
final def findPrimaryItemDeclaration(ename: EName): Option[PrimaryItemDeclaration]
Inherited from
TaxonomySchemaLike
final def findTupleDeclaration(ename: EName): Option[TupleDeclaration]
Inherited from
TaxonomySchemaLike
final def findTupleDeclaration(p: TupleDeclaration => Boolean): Option[TupleDeclaration]
Inherited from
TaxonomySchemaLike
Inherited from
TaxonomySchemaLike
final def getConceptDeclaration(ename: EName): ConceptDeclaration
Inherited from
TaxonomySchemaLike
final def getItemDeclaration(ename: EName): ItemDeclaration
Inherited from
TaxonomySchemaLike
Inherited from
SchemaLike
final def getTupleDeclaration(ename: EName): TupleDeclaration
Inherited from
TaxonomySchemaLike
final def isEnumerationConcept(itemDecl: ItemDeclaration): Boolean
Inherited from
TaxonomySchemaLike
final def isEnumerationConcept(ename: EName): Boolean
Inherited from
TaxonomySchemaLike
final def isEnumerationItemType(ename: EName): Boolean
Inherited from
TaxonomySchemaLike
final def isSetValueEnumerationConcept(itemDecl: ItemDeclaration): Boolean
Inherited from
TaxonomySchemaLike
final def isSetValueEnumerationConcept(ename: EName): Boolean
Inherited from
TaxonomySchemaLike
final def isSetValueEnumerationItemType(ename: EName): Boolean
Inherited from
TaxonomySchemaLike
final def isSingleValueEnumerationConcept(itemDecl: ItemDeclaration): Boolean
Inherited from
TaxonomySchemaLike
final def isSingleValueEnumerationConcept(ename: EName): Boolean
Inherited from
TaxonomySchemaLike
final def isSingleValueEnumerationItemType(ename: EName): Boolean
Inherited from
TaxonomySchemaLike

Concrete fields

val relationships: IndexedSeq[Relationship]
val topmostSchemaContentElementsByENameAndId: Map[EName, Map[String, IndexedSeq[SchemaContentElement]]]