XBRLAPI

A Java API for XBRL


org.xbrlapi.xdt.validation
Class XDTAnalyser

java.lang.Object
  extended by org.xbrlapi.xdt.validation.XDTAnalyser
All Implemented Interfaces:
Serializable

public class XDTAnalyser
extends Object
implements Serializable

This class gives easy access to static methods from environments like Freemarker. It makes it more straightforward to analyse XDT structures by enabling determination of hypercube structures that are pertinent to a given concept.

Author:
Geoff Shuetrim (geoff@galexy.net)
See Also:
Serialized Form

Constructor Summary
XDTAnalyser()
           
 
Method Summary
 SortedSet<Relationship> getAncestorDomainMemberRelationships(Relationship relationship)
          Provides access to static methods.
 SortedSet<Relationship> getDomainMemberRelationshipsFrom(URI linkRole, Concept concept)
          Provides access to static methods.
 SortedSet<Relationship> getDomainMemberRelationshipsTo(Concept concept)
          Provides access to static methods.
 Set<Concept> getHypercubeInheritanceConcepts(Concept concept)
          Provides access to static methods.
 SortedSet<Relationship> getInheritedDomainMemberRelationships(Concept concept)
          Provides access to static methods.
 com.google.common.collect.ListMultimap<URI,Relationship> getInheritedHasHypercubeRelationships(Concept concept)
          Provides access to static methods.
 com.google.common.collect.ListMultimap<URI,Hypercube> getInheritedHypercubes(Concept concept)
          Provides access to static methods.
 com.google.common.collect.ListMultimap<URI,Relationship> getOwnHasHypercubeRelationships(Concept concept)
          Provides access to static methods.
 com.google.common.collect.ListMultimap<URI,Hypercube> getOwnHypercubes(Concept concept)
          Provides access to static methods.
 SortedSet<Relationship> getPreviousDomainMemberRelationships(Relationship relationship)
          Provides access to static methods.
 URI getTargetRole(Relationship relationship)
           
 boolean isClosedCube(Relationship relationship)
           
 boolean isScenarioCube(Relationship relationship)
           
 boolean isSegmentCube(Relationship relationship)
           
 boolean isUsableMember(Relationship relationship)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XDTAnalyser

public XDTAnalyser()
Method Detail

getInheritedHypercubes

public com.google.common.collect.ListMultimap<URI,Hypercube> getInheritedHypercubes(Concept concept)
                                                                             throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getInheritedHypercubes(Concept)

getOwnHypercubes

public com.google.common.collect.ListMultimap<URI,Hypercube> getOwnHypercubes(Concept concept)
                                                                       throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getOwnHypercubes(Concept)

getInheritedHasHypercubeRelationships

public com.google.common.collect.ListMultimap<URI,Relationship> getInheritedHasHypercubeRelationships(Concept concept)
                                                                                               throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getInheritedHasHypercubeRelationships(Concept)

getOwnHasHypercubeRelationships

public com.google.common.collect.ListMultimap<URI,Relationship> getOwnHasHypercubeRelationships(Concept concept)
                                                                                         throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getOwnHasHypercubeRelationships(Concept)

getDomainMemberRelationshipsTo

public SortedSet<Relationship> getDomainMemberRelationshipsTo(Concept concept)
                                                       throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getDomainMemberRelationshipsTo(Concept)

getPreviousDomainMemberRelationships

public SortedSet<Relationship> getPreviousDomainMemberRelationships(Relationship relationship)
                                                             throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getPreviousDomainMemberRelationships(Relationship)

getAncestorDomainMemberRelationships

public SortedSet<Relationship> getAncestorDomainMemberRelationships(Relationship relationship)
                                                             throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getAncestorDomainMemberRelationships(Relationship)

getHypercubeInheritanceConcepts

public Set<Concept> getHypercubeInheritanceConcepts(Concept concept)
                                             throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getHypercubeInheritanceConcepts(Concept)

getInheritedDomainMemberRelationships

public SortedSet<Relationship> getInheritedDomainMemberRelationships(Concept concept)
                                                              throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
HypercubeImpl.getInheritedDomainMemberRelationships(Concept)

getDomainMemberRelationshipsFrom

public SortedSet<Relationship> getDomainMemberRelationshipsFrom(URI linkRole,
                                                                Concept concept)
                                                         throws XBRLException
Provides access to static methods.

Throws:
XBRLException
See Also:
ExplicitDimensionImpl.getDomainMemberRelationshipsFrom(URI, Concept)

getTargetRole

public URI getTargetRole(Relationship relationship)
                  throws XBRLException
Parameters:
relationship - The XDT relationship to be analysed
Returns:
the actual value of the targetRole attribute if it is an attribute on the arc expressing the relationship and the link role of the arc otherwise.
Throws:
XBRLException - if the arc does not have an XDT arcrole.

isClosedCube

public boolean isClosedCube(Relationship relationship)
                     throws XBRLException
Parameters:
relationship - the has-hypercube relationship.
Returns:
true if the relationship is closed and false otherwise.
Throws:
XBRLException - if the relationship is not a has-hypercube relationship.

isSegmentCube

public boolean isSegmentCube(Relationship relationship)
                      throws XBRLException
Parameters:
relationship - The has-hypercube relationship
Returns:
true if the relationship is for a segment hypercube and false otherwise.
Throws:
XBRLException - if the relationship is not a has-hypercube relationship.

isScenarioCube

public boolean isScenarioCube(Relationship relationship)
                       throws XBRLException
Parameters:
relationship - The has-hypercube relationship
Returns:
true if the relationship is for a segment hypercube and false otherwise.
Throws:
XBRLException - if the relationship is not a has-hypercube relationship.

isUsableMember

public boolean isUsableMember(Relationship relationship)
                       throws XBRLException
Parameters:
relationship - The dimension-domain or domain-member relationship
Returns:
true if the relationship target is usable as a dimension value and false otherwise.
Throws:
XBRLException - if the relationship is not of the right kind.

Get Java XBRL API implementation at SourceForge.net.