Package

eu.cdevreeze.tqa.base

relationship

Permalink

package relationship

This package contains relationships. Relationships are like their underlying arcs, but resolving the locators. Note that an arc may represent more than 1 relationship.

This package mainly contains:

Relationship factories extract relationships from a eu.cdevreeze.tqa.base.dom.TaxonomyBase. They can be used directly, but typically they are used implicitly when creating a eu.cdevreeze.tqa.base.taxonomy.BasicTaxonomy.

This package has no knowledge about and dependency on XPath processing.

For the usage of this API, see packages eu.cdevreeze.tqa.base.queryapi and eu.cdevreeze.tqa.base.taxonomy.

This package unidirectionally depends on the eu.cdevreeze.tqa.base.dom package.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. relationship
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class AllRelationship extends HasHypercubeRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/all".

  2. final case class BooleanAttributeValue(value: Boolean) extends TypedAttributeValue with Product with Serializable

    Permalink
  3. sealed class CalculationRelationship extends InterConceptRelationship

    Permalink

    Calculation relationship.

    Calculation relationship. Its underlying arc is of type eu.cdevreeze.tqa.base.dom.CalculationArc.

  4. final class ConceptLabelRelationship extends ConceptResourceRelationship

    Permalink

    Concept-label relationship.

    Concept-label relationship. Its underlying arc is of type eu.cdevreeze.tqa.base.dom.LabelArc.

  5. final class ConceptReferenceRelationship extends ConceptResourceRelationship

    Permalink

    Concept-reference relationship.

    Concept-reference relationship. Its underlying arc is of type eu.cdevreeze.tqa.base.dom.ReferenceArc.

  6. sealed abstract class ConceptResourceRelationship extends StandardRelationship

    Permalink

    Standard concept-resource relationship.

  7. final case class DecimalAttributeValue(value: BigDecimal) extends TypedAttributeValue with Product with Serializable

    Permalink
  8. final class DefaultRelationshipFactory extends RelationshipFactory

    Permalink

    Default extractor of relationships from a "taxonomy base".

    Default extractor of relationships from a "taxonomy base".

    When choosing for lenient processing, XLink arcs may be broken in that the XLink labels are corrupt, and XLink locators may be broken in that the locator href URIs cannot be resolved. When choosing for strict processing, XLink arcs and locators may not be broken.

    Lenient processing makes sense when the taxonomy base has not yet been validated. Strict processing makes sense when the taxonomy is XBRL valid, and we want to use that fact, for example when validating XBRL instances against it.

  9. sealed class DefinitionRelationship extends InterConceptRelationship

    Permalink

    Definition relationship.

    Definition relationship. Its underlying arc is of type eu.cdevreeze.tqa.base.dom.DefinitionArc.

  10. final class DimensionDefaultRelationship extends DimensionalRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/dimension-default".

  11. final class DimensionDomainRelationship extends DomainAwareRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/dimension-domain".

  12. sealed abstract class DimensionalRelationship extends DefinitionRelationship

    Permalink

    Dimensional definition relationship.

  13. sealed abstract class DomainAwareRelationship extends DimensionalRelationship

    Permalink

    Either an eu.cdevreeze.tqa.base.relationship.DimensionDomainRelationship or a eu.cdevreeze.tqa.base.relationship.DomainMemberRelationship.

  14. final class DomainMemberRelationship extends DomainAwareRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/domain-member".

  15. final case class DoubleAttributeValue(value: Double) extends TypedAttributeValue with Product with Serializable

    Permalink
  16. final case class ENameAttributeValue(value: EName) extends TypedAttributeValue with Product with Serializable

    Permalink
  17. final class ElementLabelRelationship extends ElementResourceRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.NonStandardRelationship with arcrole "http://xbrl.org/arcrole/2008/element-label".

  18. final class ElementMessageRelationship extends NonStandardRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.NonStandardRelationship whose target is a msg:message element.

  19. final class ElementReferenceRelationship extends ElementResourceRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.NonStandardRelationship with arcrole "http://xbrl.org/arcrole/2008/element-reference".

  20. sealed abstract class ElementResourceRelationship extends NonStandardRelationship

    Permalink

    Either an eu.cdevreeze.tqa.base.relationship.ElementLabelRelationship or an eu.cdevreeze.tqa.base.relationship.ElementReferenceRelationship.

  21. final class EssenceAliasRelationship extends DefinitionRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DefinitionRelationship with arcrole "http://www.xbrl.org/2003/arcrole/essence-alias".

  22. final case class FloatAttributeValue(value: Float) extends TypedAttributeValue with Product with Serializable

    Permalink
  23. final class GeneralSpecialRelationship extends DefinitionRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DefinitionRelationship with arcrole "http://www.xbrl.org/2003/arcrole/general-special".

  24. sealed abstract class HasHypercubeRelationship extends DimensionalRelationship

    Permalink

    Either an eu.cdevreeze.tqa.base.relationship.AllRelationship or a eu.cdevreeze.tqa.base.relationship.NotAllRelationship.

  25. final class HypercubeDimensionRelationship extends DimensionalRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/hypercube-dimension".

  26. sealed abstract class InterConceptRelationship extends StandardRelationship

    Permalink

    Standard inter-concept relationship.

  27. final case class InterConceptRelationshipPath[A <: InterConceptRelationship] extends Product with Serializable

    Permalink

    Inter-concept relationship path.

    Inter-concept relationship path. Subsequent relationships in the path must match in target and source concept, respectively. It is not required that the arc role remains the same, or that targetRole attributes are followed, although in practice this will be the case. A relationship path must have at least one relationship.

    In practice, inter-concept relationship paths are "ELR-valid", that is, their relationships are in the same ELR, or, in the case of dimensional relationship paths, their relationships are consecutive relationships.

  28. final class NonExemptAttributeMap extends AnyRef

    Permalink

    The non-exempt attributes in a relationship key.

    The non-exempt attributes in a relationship key. It is designed for (fast) value equality, thus supporting fast value equality for relationship keys.

    Equality of non-exempt attributes is sensitive. Why?

    • Attributes can be default or fixed attributes, according to the corresponding schema.
    • Attributes have types, so equality should take their types into account.
    • Some attributes, such as the "order" attribute, are implicitly always there, even if the schema does not say so.
  29. sealed abstract class NonStandardRelationship extends Relationship

    Permalink

    Non-standard relationship.

    Non-standard relationship. Typically a generic relationship.

  30. final class NotAllRelationship extends HasHypercubeRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DimensionalRelationship with arcrole "http://xbrl.org/int/dim/arcrole/notAll".

  31. final class OtherNonStandardRelationship extends NonStandardRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.NonStandardRelationship not falling in the other categories of non-standard relationships.

  32. final class ParentChildRelationship extends PresentationRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.PresentationRelationship with arcrole "http://www.xbrl.org/2003/arcrole/parent-child".

  33. sealed class PresentationRelationship extends InterConceptRelationship

    Permalink

    Presentation relationship.

    Presentation relationship. Its underlying arc is of type eu.cdevreeze.tqa.base.dom.PresentationArc.

  34. sealed abstract class Relationship extends AnyRef

    Permalink

    Any relationship.

    Any relationship. Relationships are like their underlying arcs, but resolving the locators. Note that an underlying arc may represent more than 1 relationship.

    These objects must be very efficient to create.

    Like for the underlying taxonomy elements, relationship creation is designed not to fail, but the type may be of an unexpected "catch-all relationship type". There is an exception to this leniency, though, and that is that each arc must have an XLink arcole attribute, or else an exception is thrown. This can be circumvented in practice by using an arc filter when instantiating a taxonomy object.

    Unlike relationship creation (with the missing arcrole exception), instance methods on relationships may fail, however.

    This relationship type hierarchy knows about standard relationships, including dimensional relationships. It also knows about a few specific generic relationships. It does not know about table and formula relationships, which are only seen as non-standard or unknown relationships.

    Each relationship is either a eu.cdevreeze.tqa.base.relationship.StandardRelationship, a eu.cdevreeze.tqa.base.relationship.NonStandardRelationship, or an eu.cdevreeze.tqa.base.relationship.UnknownRelationship.

  35. trait RelationshipFactory extends AnyRef

    Permalink

    Extractor of relationships from a "taxonomy base".

  36. final case class RelationshipKey(baseSetKey: BaseSetKey, sourceKey: XmlFragmentKey, targetKey: XmlFragmentKey, nonExemptAttributes: NonExemptAttributeMap) extends Product with Serializable

    Permalink

    Relationship key.

    Relationship key. It has been designed for value equality.

    Relationships are equivalent if they have the same relationship key. Prohibition/overriding resolution is performed on equivalent relationships. After prohibition/overriding resolution, the remaining relationships form networks of relationships, one network per base set key.

  37. final class RequiresElementRelationship extends DefinitionRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DefinitionRelationship with arcrole "http://www.xbrl.org/2003/arcrole/requires-element".

  38. sealed trait ResolvedLocatorOrResource[E <: AnyTaxonomyElem] extends AnyRef

    Permalink

    Resolved locator or resource.

    Resolved locator or resource. This can act as the resolved "from" or "to" side of a relationship. It holds both the XLink locator or XLink resource and the resolved element. Sub-type ResolvedLocatorOrResource.Locator is used for resolved XLink locators, and sub-type ResolvedLocatorOrResource.Resource is used for XLink resources, where the XLink resource and its "resolution" are one and the same element.

    A "remote resource" (XLink locator to an XLink resource) is a specific Locator where the resolved element type is an XLink resource type.

    These objects must be very efficient to create, in order to make relationship creation fast.

  39. final class SimilarTuplesRelationship extends DefinitionRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.DefinitionRelationship with arcrole "http://www.xbrl.org/2003/arcrole/similar-tuples".

  40. sealed abstract class StandardRelationship extends Relationship

    Permalink

    Standard relationship.

  41. final case class StringAttributeValue(value: String) extends TypedAttributeValue with Product with Serializable

    Permalink
  42. final class SummationItemRelationship extends CalculationRelationship

    Permalink

    A eu.cdevreeze.tqa.base.relationship.CalculationRelationship with arcrole "http://www.xbrl.org/2003/arcrole/summation-item".

  43. sealed trait TypedAttributeValue extends AnyRef

    Permalink

    Typed attribute value, as used in the non-exempt attributes in a relationship key.

    Typed attribute value, as used in the non-exempt attributes in a relationship key. The sub-classes are designed for value equality.

    See http://www.xbrl.org/Specification/XBRL-2.1/REC-2003-12-31/XBRL-2.1-REC-2003-12-31+corrected-errata-2013-02-20.html#_4.10.

  44. final class UnknownRelationship extends Relationship

    Permalink

    Unknown relationship, so a relationship that is neither a standard nor a non-standard relationship.

    Unknown relationship, so a relationship that is neither a standard nor a non-standard relationship. It may be an invalid relationship.

Inherited from AnyRef

Inherited from Any

Ungrouped