com.ihr.xbrl.om.xdt
Class XDTProcessor

java.lang.Object
  extended by com.ihr.xbrl.om.xdt.XDTProcessor
All Implemented Interfaces:
XBRLPlugInProcessor

public class XDTProcessor
extends java.lang.Object
implements XBRLPlugInProcessor

Author:
Ignacio

Field Summary
static java.lang.String all_arcrole_URI
          http://xbrl.org/int/dim/arcrole/all
static javax.xml.namespace.QName closedQName
          xbrldt:closed
static javax.xml.namespace.QName contextElement
          xbrldt:contextElement
static java.lang.String dimension_default_arcrole_URI
          http://xbrl.org/int/dim/arcrole/dimension-default
static java.lang.String dimension_domain_arcrole_URI
          http://xbrl.org/int/dim/arcrole/dimension-domain
static javax.xml.namespace.QName dimensionItemQName
          xbrldt:dimensionItem
static javax.xml.namespace.QName dimensionQName
          "dimension" as a QName in the no namespace
static java.lang.String domain_member_arcrole_URI
          http://xbrl.org/int/dim/arcrole/domain-member
static javax.xml.namespace.QName explicitMemberContainerQName
          xbrldi:explicitMember
static java.lang.String hypercube_dimension_arcrole_URI
          http://xbrl.org/int/dim/arcrole/hypercube-dimension
static javax.xml.namespace.QName hypercubeItemQName
          xbrldt:hypercubeItem
 java.util.logging.Logger logger
           
static java.lang.String notAll_arcrole_URI
          http://xbrl.org/int/dim/arcrole/notAll
static java.lang.String PROCESSORNAME
           
static javax.xml.namespace.QName targetRole
          xbrldt:targetrole
static javax.xml.namespace.QName typedDomainRefQName
          xbtldt:typedDomainRef
static javax.xml.namespace.QName typedMemberContainerQName
          xbrldi:typedMember
static javax.xml.namespace.QName usableQName
          "usable" as a QName in the no namespace
static int XDT_07_09_2009
          Constant indicating that the processor is running under rules written in the specification written as of September 7th 2009
static int XDT_18_09_2006
          Constant indicating that the processor is running under rules written in the specification written as of September 18th 2006
 
Method Summary
static XDTProcessor create(DTSContainer dts)
           
 XBRLArcroleType getArcroleTypeAll()
           
 XBRLArcroleType getArcroleTypeDimensionDefault()
           
 XBRLArcroleType getArcroleTypeDimensionDomain()
           
 XBRLArcroleType getArcroleTypeDomainMember()
           
 XBRLArcroleType getArcroleTypeHypercubeDimension()
           
 XBRLArcroleType getArcroleTypeNotAll()
           
 DTSContainer getContainer()
           
 java.lang.String getDescription()
          Returns the processor description so it can be written in validation reports
 java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLDimensionsContainer dimData, boolean throwValidationExceptions)
          Process a fact item and one of the dimensions container (segment or scenario) and collects all dimensional information in there.
 java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLFactItem fact, int contextElement, boolean bThrowValidationExceptions)
          Process a fact item in an XBRL report and collects data from the context according to dimensions defined in the hypercubes.
 XDTDimension getDimension(javax.xml.namespace.QName dimension)
          Access to an XDTDimension from its dimension name or null if the QName does not refer to a dimension in the loaded DTS
 java.util.Iterator<XDTDimension> getDimensions()
          Access to the list of all dimensions defined in the DTS
 java.lang.String getName()
          Returns the processor name so it can be written in validation reports
 XDTPrimaryItem getPrimaryItem(javax.xml.namespace.QName q)
          Returns the XDTPrimatyItem object for the given QName or null if the item does not have dimensions (associated hypercubes or dimensional information)
 java.util.Iterator<javax.xml.namespace.QName> getPrimaryItems()
          Returns an iterator over QNames that are primary items in this dimensional DTS.
static XBRLRoleType getTargetRole(XBRLRelationship rel)
          Returns the XBRLRoleType pointed to by the xbrldt:targetRole attribute on the relationship rel.
static java.lang.Boolean getUsable(XBRLRelationship rel)
           
 int getXDTVersion()
          This functions returns an integer constant that is cached in the XDTProcessor and indicates the version of the XDTSpecification to be used The value -1 is returned in case the property XDT_VERSION is defined for the DTSContainer but the property value is not any of the registered property values
 void removeDomainMember(XMLFragment fragment)
           
 XBRLValidationReport validate()
          Validates the content of the DTS according to the rules indicated this plug-in processor.
 XBRLValidationReport validate(XBRLDocument doc)
          Validates all facts in the instance document.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROCESSORNAME

public static final java.lang.String PROCESSORNAME
See Also:
Constant Field Values

hypercubeItemQName

public static final javax.xml.namespace.QName hypercubeItemQName
xbrldt:hypercubeItem


dimensionItemQName

public static final javax.xml.namespace.QName dimensionItemQName
xbrldt:dimensionItem


explicitMemberContainerQName

public static final javax.xml.namespace.QName explicitMemberContainerQName
xbrldi:explicitMember


typedMemberContainerQName

public static final javax.xml.namespace.QName typedMemberContainerQName
xbrldi:typedMember


typedDomainRefQName

public static final javax.xml.namespace.QName typedDomainRefQName
xbtldt:typedDomainRef


dimensionQName

public static final javax.xml.namespace.QName dimensionQName
"dimension" as a QName in the no namespace


usableQName

public static final javax.xml.namespace.QName usableQName
"usable" as a QName in the no namespace


targetRole

public static final javax.xml.namespace.QName targetRole
xbrldt:targetrole


closedQName

public static final javax.xml.namespace.QName closedQName
xbrldt:closed


contextElement

public static final javax.xml.namespace.QName contextElement
xbrldt:contextElement


all_arcrole_URI

public static final java.lang.String all_arcrole_URI
http://xbrl.org/int/dim/arcrole/all


notAll_arcrole_URI

public static final java.lang.String notAll_arcrole_URI
http://xbrl.org/int/dim/arcrole/notAll


hypercube_dimension_arcrole_URI

public static final java.lang.String hypercube_dimension_arcrole_URI
http://xbrl.org/int/dim/arcrole/hypercube-dimension


domain_member_arcrole_URI

public static final java.lang.String domain_member_arcrole_URI
http://xbrl.org/int/dim/arcrole/domain-member


dimension_domain_arcrole_URI

public static final java.lang.String dimension_domain_arcrole_URI
http://xbrl.org/int/dim/arcrole/dimension-domain


dimension_default_arcrole_URI

public static final java.lang.String dimension_default_arcrole_URI
http://xbrl.org/int/dim/arcrole/dimension-default


logger

public java.util.logging.Logger logger

XDT_07_09_2009

public static final int XDT_07_09_2009
Constant indicating that the processor is running under rules written in the specification written as of September 7th 2009

See Also:
Constant Field Values

XDT_18_09_2006

public static final int XDT_18_09_2006
Constant indicating that the processor is running under rules written in the specification written as of September 18th 2006

See Also:
Constant Field Values
Method Detail

create

public static XDTProcessor create(DTSContainer dts)
                           throws com.rs.lic.LicenseVerificationException,
                                  XBRLValidationException
Throws:
com.rs.lic.LicenseVerificationException
XBRLValidationException

getPrimaryItem

public XDTPrimaryItem getPrimaryItem(javax.xml.namespace.QName q)
Returns the XDTPrimatyItem object for the given QName or null if the item does not have dimensions (associated hypercubes or dimensional information)

Parameters:
q - QName the concept QName
Returns:
XDTPrimaryItem

getPrimaryItems

public java.util.Iterator<javax.xml.namespace.QName> getPrimaryItems()
Returns an iterator over QNames that are primary items in this dimensional DTS. Never returns null. If the DTS does not has primary items, the returned iterator has no elements

Returns:
Iterator may be an empty iterator if this is not a dimensional DTS

getDimensions

public java.util.Iterator<XDTDimension> getDimensions()
Access to the list of all dimensions defined in the DTS

Returns:
Iterator<XDTDimension>

removeDomainMember

public void removeDomainMember(XMLFragment fragment)
Parameters:
fragment -

getTargetRole

public static XBRLRoleType getTargetRole(XBRLRelationship rel)
Returns the XBRLRoleType pointed to by the xbrldt:targetRole attribute on the relationship rel.

If the relationship does not contains a xbrldt:targetRole attribute, the returned value is null.

Parameters:
rel - XBRLRelationship
Returns:
XBRLRoleType or null if not set
Since:
2.6.10

getContainer

public DTSContainer getContainer()

getArcroleTypeAll

public XBRLArcroleType getArcroleTypeAll()

getArcroleTypeDomainMember

public XBRLArcroleType getArcroleTypeDomainMember()

getArcroleTypeHypercubeDimension

public XBRLArcroleType getArcroleTypeHypercubeDimension()

getArcroleTypeNotAll

public XBRLArcroleType getArcroleTypeNotAll()

getArcroleTypeDimensionDomain

public XBRLArcroleType getArcroleTypeDimensionDomain()

getArcroleTypeDimensionDefault

public XBRLArcroleType getArcroleTypeDimensionDefault()

getXDTVersion

public int getXDTVersion()
This functions returns an integer constant that is cached in the XDTProcessor and indicates the version of the XDTSpecification to be used

The value -1 is returned in case the property XDT_VERSION is defined for the DTSContainer but the property value is not any of the registered property values

Returns:
integer constant

getDimData

public java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLFactItem fact,
                                                                             int contextElement,
                                                                             boolean bThrowValidationExceptions)
Process a fact item in an XBRL report and collects data from the context according to dimensions defined in the hypercubes.

Parameters:
fact -
contextElement -
Returns:
Hashtable<QName,XMLFragment>

getDimData

public java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLDimensionsContainer dimData,
                                                                             boolean throwValidationExceptions)
Process a fact item and one of the dimensions container (segment or scenario) and collects all dimensional information in there.

Parameters:
dimData -
Returns:
Hashtable<QName,XMLFragment>

validate

public XBRLValidationReport validate(XBRLDocument doc)
Validates all facts in the instance document. This call does not validate the taxonomy.

Parameters:
doc -

validate

public XBRLValidationReport validate()
Description copied from interface: XBRLPlugInProcessor
Validates the content of the DTS according to the rules indicated this plug-in processor.

Specified by:
validate in interface XBRLPlugInProcessor
Returns:
an XBRLValidationReport object XBRLValidationReport

getDimension

public XDTDimension getDimension(javax.xml.namespace.QName dimension)
Access to an XDTDimension from its dimension name or null if the QName does not refer to a dimension in the loaded DTS

Parameters:
dimension -

getUsable

public static java.lang.Boolean getUsable(XBRLRelationship rel)
Parameters:
rel -
Returns:

getDescription

public java.lang.String getDescription()
Description copied from interface: XBRLPlugInProcessor
Returns the processor description so it can be written in validation reports

Specified by:
getDescription in interface XBRLPlugInProcessor

getName

public java.lang.String getName()
Description copied from interface: XBRLPlugInProcessor
Returns the processor name so it can be written in validation reports

Specified by:
getName in interface XBRLPlugInProcessor


Copyright 2006-2009 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa