public class XDTProcessor extends java.lang.Object implements XBRLPlugInProcessor, XBRLCompilableProcessor
Modifier and Type | Field and Description |
---|---|
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.
|
static java.lang.String |
notAll_arcrole_URI
http://xbrl.org/int/dim/arcrole/notAll
|
static java.lang.String |
PROCESSORNAME
The Constant 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.
|
static int |
XDT_25_01_2012
Constant indicating that the processor is running under rules written in the
specification written as of January 1st 2012.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear.
|
XBRLValidationReport |
compileResources()
Compile resources.
|
void |
configure(java.util.Properties properties)
Configure.
|
static XDTProcessor |
create(DTSContainer dts)
Creates the XDTProcessor instance and stores the instance in the DTSContaniner
If an XDTProcessor is already registered for this DTSContainer the already
created instance is returned.
|
void |
freeUnnecessary()
Free unnecessary.
|
XBRLArcroleType |
getArcroleTypeAll()
Gets the arcrole type all.
|
XBRLArcroleType |
getArcroleTypeDimensionDefault()
Gets the arcrole type dimension default.
|
XBRLArcroleType |
getArcroleTypeDimensionDomain()
Gets the arcrole type dimension domain.
|
XBRLArcroleType |
getArcroleTypeDomainMember()
Gets the arcrole type domain member.
|
XBRLArcroleType |
getArcroleTypeHypercubeDimension()
Gets the arcrole type hypercube dimension.
|
XBRLArcroleType |
getArcroleTypeNotAll()
Gets the arcrole type not all.
|
static java.lang.String |
getConsecutiveArcroleType(java.lang.String art)
Gets the consecutive arcrole type.
|
DTSContainer |
getContainer()
Gets the container.
|
int |
getContainerForPrimaryItemAndDimension(javax.xml.namespace.QName dimension,
javax.xml.namespace.QName primaryItem)
Helper function to find the context container associated to a dimension under the light
of a primary item.
|
java.lang.String |
getDescription()
Gets the description.
|
static java.lang.String |
getDescriptionStatic()
Gets the description static.
|
java.util.Map<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.Map<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.
|
XDTDomainMember |
getDomainMember(javax.xml.namespace.QName q)
Returns the XDTDomainMember object for the given QName or null if the item is not a domain member
|
static javax.xml.namespace.QName |
getExplicitDimensionValue(XBRLContext context,
javax.xml.namespace.QName dimension)
Helper method to obtain a explicit dimension value without any validation or check
about where the dimension is located in regard with the hypercubes.
|
static XMLFragment |
getExplicitDimFragment(DTSContainer dts,
javax.xml.namespace.QName dimension,
javax.xml.namespace.QName member)
Helper method to create the XMLFragment container for an explicit dimension.
|
XDTHypercube |
getHypercube(javax.xml.namespace.QName hypercube)
Access to an XDTHypercube from its hypercube name or null if the QName does
not refer to an hypercube in the loaded DTS.
|
java.util.Iterator<XDTHypercube> |
getHypercubes()
Access to the list of all hypercubes defined in the DTS.
|
java.lang.String |
getName()
Gets the name.
|
java.lang.Integer |
getPreferredContainer(javax.xml.namespace.QName elementQName,
javax.xml.namespace.QName qDim,
int container)
Gets the preferred container.
|
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 XMLFragment |
getTypedDimensionValue(XBRLContext context,
javax.xml.namespace.QName dimension)
Helper method to obtain a explicit dimension value without any validation or check
about where the dimension is located in regard with the hypercubes.
|
static XMLFragment |
getTypedDimFragment(DTSContainer dts,
javax.xml.namespace.QName dimension,
net.sf.saxon.s9api.XdmValue value)
Helper method to create the XMLFragment container for a typed dimension.
|
static XMLFragment |
getTypedDimFragment(DTSContainer dts,
javax.xml.namespace.QName dimension,
XMLFragment value)
Helper method to create the XMLFragment container for a typed dimension.
|
static java.lang.Boolean |
getUsable(XBRLRelationship rel)
Gets the usable.
|
int |
getXDTVersion()
This functions returns an integer constant that is cached in the XDTProcessor
and indicates the version of the XDTSpecification to be used.
|
static boolean |
isClosed(XBRLRelationship rel)
Returns the value or default value of the xbrldt:closed attribute on the relationship
indicated in the rel parameter.
|
boolean |
isHidden()
Checks if is hidden.
|
static void |
registerProcessorStatic()
Register processor static.
|
void |
removeDomainMember(XMLFragment fragment)
Removes the domain member.
|
XBRLValidationReport |
validate()
Validate.
|
XBRLValidationReport |
validate(XBRLDocument doc)
Validates all facts in the instance document.
|
public static final java.lang.String PROCESSORNAME
public static final javax.xml.namespace.QName hypercubeItemQName
public static final javax.xml.namespace.QName dimensionItemQName
public static final javax.xml.namespace.QName explicitMemberContainerQName
public static final javax.xml.namespace.QName typedMemberContainerQName
public static final javax.xml.namespace.QName typedDomainRefQName
public static final javax.xml.namespace.QName dimensionQName
public static final javax.xml.namespace.QName usableQName
public static final javax.xml.namespace.QName targetRole
public static final javax.xml.namespace.QName closedQName
public static final javax.xml.namespace.QName contextElement
public static final java.lang.String all_arcrole_URI
public static final java.lang.String notAll_arcrole_URI
public static final java.lang.String hypercube_dimension_arcrole_URI
public static final java.lang.String domain_member_arcrole_URI
public static final java.lang.String dimension_domain_arcrole_URI
public static final java.lang.String dimension_default_arcrole_URI
public static final int XDT_07_09_2009
public static final int XDT_18_09_2006
public static final int XDT_25_01_2012
public static XDTProcessor create(DTSContainer dts) throws com.rs.lic.LicenseVerificationException, XBRLValidationException
dts
- the dtscom.rs.lic.LicenseVerificationException
- the license verification exceptionXBRLValidationException
- the XBRL validation exceptionpublic static void registerProcessorStatic()
public void configure(java.util.Properties properties)
configure
in interface XBRLPlugInProcessor
properties
- the propertiespublic XDTPrimaryItem getPrimaryItem(javax.xml.namespace.QName q)
q
- QName the concept QNamepublic XDTDomainMember getDomainMember(javax.xml.namespace.QName q)
q
- QName the concept QNamepublic java.util.Iterator<javax.xml.namespace.QName> getPrimaryItems()
public java.util.Iterator<XDTDimension> getDimensions()
public java.util.Iterator<XDTHypercube> getHypercubes()
public void removeDomainMember(XMLFragment fragment)
fragment
- the fragmentpublic static XBRLRoleType getTargetRole(XBRLRelationship rel)
If the relationship does not contains a xbrldt:targetRole attribute, the returned value is null.
rel
- XBRLRelationshippublic DTSContainer getContainer()
getContainer
in interface HasDTSContainer
public XBRLArcroleType getArcroleTypeAll()
public XBRLArcroleType getArcroleTypeDomainMember()
public XBRLArcroleType getArcroleTypeHypercubeDimension()
public XBRLArcroleType getArcroleTypeNotAll()
public XBRLArcroleType getArcroleTypeDimensionDomain()
public XBRLArcroleType getArcroleTypeDimensionDefault()
public int getXDTVersion()
DTSContainer.USE_XDT_1_0_AS_OF_7_SEP_2009
and
DTSContainer.USE_XDT_1_0_AS_OF_18_SEP_2006
and
DTSContainer.USE_XDT_1_0_AS_OF_25_JAN_2012
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
public java.util.Map<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLFactItem fact, int contextElement, boolean bThrowValidationExceptions)
fact
- the factcontextElement
- the context element, either XDTHypercubeUse.SCENARIO or XDTHypercubeUse.SEGMENTbThrowValidationExceptions
- the b throw validation exceptionspublic java.util.Map<javax.xml.namespace.QName,XMLFragment> getDimData(XBRLDimensionsContainer dimData, boolean throwValidationExceptions)
dimData
- the XBRLDimensionsContainerthrowValidationExceptions
- the throw validation exceptionspublic XBRLValidationReport validate(XBRLDocument doc)
validate
in interface XBRLPlugInProcessor
doc
- the docpublic XBRLValidationReport validate()
validate
in interface XBRLPlugInProcessor
public XDTDimension getDimension(javax.xml.namespace.QName dimension)
dimension
- the dimensionpublic XDTHypercube getHypercube(javax.xml.namespace.QName hypercube)
hypercube
- the hypercubepublic static java.lang.Boolean getUsable(XBRLRelationship rel)
rel
- the relpublic static boolean isClosed(XBRLRelationship rel)
rel
- relationshippublic java.lang.String getDescription()
getDescription
in interface XBRLPlugInProcessor
public java.lang.String getName()
getName
in interface XBRLPlugInProcessor
public static java.lang.String getDescriptionStatic()
public static XMLFragment getExplicitDimFragment(DTSContainer dts, javax.xml.namespace.QName dimension, javax.xml.namespace.QName member)
dts
- The DTSContainer the new fragment will belong todimension
- the QName of the dimension container. Note it is not validated the dimension exist on the DTSmember
- the QName value for the dimension. Note it is not validated the qname is a dimension member.public static XMLFragment getTypedDimFragment(DTSContainer dts, javax.xml.namespace.QName dimension, XMLFragment value)
dts
- The DTSContainer the new fragment will belong todimension
- the QName of the dimension container. Note it is not validated the dimension exist on the DTSvalue
- the typed dimension child elementpublic static XMLFragment getTypedDimFragment(DTSContainer dts, javax.xml.namespace.QName dimension, net.sf.saxon.s9api.XdmValue value)
dts
- The DTSContainer the new fragment will belong todimension
- the QName of the dimension container. Note it is not validated the dimension exist on the DTSvalue
- the typed dimension child elementpublic int getContainerForPrimaryItemAndDimension(javax.xml.namespace.QName dimension, javax.xml.namespace.QName primaryItem)
dimension
- the dimensionprimaryItem
- the primary itemXDTHypercubeUse.SCENARIO
, XDTHypercubeUse.SEGMENT
or XDTHypercubeUse.UNDEFINED
in case the primary item
is open and does not contain a explicit container for the dimension or any other reasonpublic java.lang.Integer getPreferredContainer(javax.xml.namespace.QName elementQName, javax.xml.namespace.QName qDim, int container)
elementQName
- the element Q nameqDim
- the q dimcontainer
- the containerpublic boolean isHidden()
isHidden
in interface XBRLPlugInProcessor
public void clear()
clear
in interface XBRLPlugInProcessor
public XBRLValidationReport compileResources()
compileResources
in interface XBRLCompilableProcessor
public void freeUnnecessary() throws com.rs.lic.LicenseVerificationException, XBRLValidationException
freeUnnecessary
in interface XBRLCompilableProcessor
com.rs.lic.LicenseVerificationException
- the license verification exceptionXBRLValidationException
- the XBRL validation exceptionpublic static java.lang.String getConsecutiveArcroleType(java.lang.String art)
art
- the artpublic static javax.xml.namespace.QName getExplicitDimensionValue(XBRLContext context, javax.xml.namespace.QName dimension)
context
- the contextdimension
- the dimensionpublic static XMLFragment getTypedDimensionValue(XBRLContext context, javax.xml.namespace.QName dimension)
context
- the contextdimension
- the dimensionCopyright 2006-2015 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa