SubstitutionGroupMap

final case class SubstitutionGroupMap(mappings: Map[EName, EName])

A collection of substitution groups, typically extracted from a taxonomy. It maps substitution groups to their own substitution groups, if any. Well-known substitution groups such as xbrli:item, xbrli:tuple, xbrldt:hypercubeItem and xbrldt:dimensionItem must not occur as keys in the mapping, but typically do occur as mapped values.

A collection of substitution groups, typically extracted from a taxonomy. It maps substitution groups to their own substitution groups, if any. Well-known substitution groups such as xbrli:item, xbrli:tuple, xbrldt:hypercubeItem and xbrldt:dimensionItem must not occur as keys in the mapping, but typically do occur as mapped values.

This class is essential for providing the necessary context in order to determine whether a global element declaration is a concept declaration, and, if so, what kind of concept declaration.

Cycles are not allowed when following mappings, but this is not checked.

Authors

Chris de Vreeze

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

Returns SubstitutionGroupMap(this.mappings ++ sgm.mappings).

Returns SubstitutionGroupMap(this.mappings ++ sgm.mappings).

def effectiveMappings: Map[EName, EName]

The mappings, plus the implicit mappings for hypercube and dimension items.

The mappings, plus the implicit mappings for hypercube and dimension items.

def isOrInheritsItemSubstitutionGroup(sg: EName): Boolean
def isOrInheritsTupleSubstitutionGroup(sg: EName): Boolean
def transitivelyInheritedSubstitutionGroups(substGroup: EName): IndexedSeq[EName]

Finds all transitively inherited substitution groups from the given substitution group, as found in this mapping. The result is returned in order of ancestry, this substitution group first.

Finds all transitively inherited substitution groups from the given substitution group, as found in this mapping. The result is returned in order of ancestry, this substitution group first.

def transitivelyInheritedSubstitutionGroupsIncludingSelf(substGroup: EName): IndexedSeq[EName]

Finds all transitively inherited substitution groups from the given substitution group, as found in this mapping, returning this substitution group as well. The result is returned in order of ancestry, this substitution group first.

Finds all transitively inherited substitution groups from the given substitution group, as found in this mapping, returning this substitution group as well. The result is returned in order of ancestry, this substitution group first.

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product

Concrete fields

val substitutionGroupDerivations: Map[EName, Set[EName]]

A map from substitution groups to other substitution groups directly derived from them. In other words, the reverse of effectiveMappings.

A map from substitution groups to other substitution groups directly derived from them. In other words, the reverse of effectiveMappings.