com.ihr.xbrl.om.formula
Class XBRLVariableResource

java.lang.Object
  extended by com.ihr.xbrl.om.XMLFragment
      extended by com.ihr.xbrl.om.exLinks.XLinkElement
          extended by com.ihr.xbrl.om.exLinks.XBRLPointerOfARelationship
              extended by com.ihr.xbrl.om.exLinks.XBRLResource
                  extended by com.ihr.xbrl.om.formula.XBRLFormulaResource
                      extended by com.ihr.xbrl.om.formula.XBRLVariableResource
All Implemented Interfaces:
XBRLRelationshipPoint, HasFormulaProcessor, XBRLVariableFormulaEvaluable, XBRLValidation, XBRLValueKey, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext
Direct Known Subclasses:
XBRLVariableFact, XBRLVariableGeneral, XBRLVariableParameter

public abstract class XBRLVariableResource
extends XBRLFormulaResource
implements XBRLVariableFormulaEvaluable

Author:
Ignacio

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ihr.xbrl.om.XBRLValidation
XBRLValidation.Direction
 
Field Summary
static javax.xml.namespace.QName as
           
static javax.xml.namespace.QName bindAsSequence
           
static org.apache.log4j.Logger log
           
static javax.xml.namespace.QName name
           
static javax.xml.namespace.QName order
           
 
Fields inherited from class com.ihr.xbrl.om.exLinks.XBRLResource
nullResource
 
Fields inherited from class com.ihr.xbrl.om.exLinks.XLinkElement
actuate, ACTUATE, ARC, arcrole, ARCROLE, ETITLE, EXTENDED, from, FROM, href, HREF, label, LABEL, LOCATOR, RESOURCE, role, ROLE, show, SHOW, SIMPLE, title, TITLE, to, TO, TYPE
 
Fields inherited from class com.ihr.xbrl.om.XMLFragment
CONCEPT_LABEL, CONCEPT_QNAME, EMPTYRELATIONSHIPSITERATORINSTANCE, EMPTYXMLFRAGMENTITERATORINSTANCE, FACT_CONCEPT_DATATYPE, FACT_CONCEPT_LABEL, FACT_QNAME, idQName, NO_POSITION, OrderComparator, PERIOD_TYPE, PERIOD_VALUE, SHORT_TEXT, SOURCE_DOCUMENT, XPATH, XPOINTER
 
Constructor Summary
XBRLVariableResource(XBRLFormulaProcessor proc, XBRLExtendedLink parent, net.sf.saxon.s9api.XdmNode resNode)
           
XBRLVariableResource(XBRLFormulaProcessor proc, XBRLResource res)
           
XBRLVariableResource(XBRLFormulaResource other)
           
 
Method Summary
 net.sf.saxon.s9api.XdmValue adjustValueAccordingToType(net.sf.saxon.s9api.XdmValue val, net.sf.saxon.s9api.XdmItem item)
          Checks if the variable has a "as" attribute and: * if it exist; the value in the item parameter is converted to the type indicated * if it does not exist; the value of the val parameter is returned
 boolean bindAsSequence()
          In the case of resource based variables this reads the surrounding syntax and returns the value of the bindAsSequence.
 int getAllAspectsFiltered()
          Access to all aspects filtered as an integer constant
abstract  java.lang.String getExpression()
          Used only for debug purposes.
 java.util.List<XBRLFilterUse> getFilters(int aspect)
           
 java.util.Set<java.lang.Integer> getKeysAspectsFiltered()
           
 XBRLVariableResourceUse getUse(XBRLRelationship rel, XBRLVariablesHolder set)
          Creates a new XBRLVariableResourceUse instance for this variable resource in the variable resource set.
 XBRLVariableType getVariableType()
           
 boolean hasFilterAspect(int aspect, javax.xml.namespace.QName dimName)
           
 
Methods inherited from class com.ihr.xbrl.om.formula.XBRLFormulaResource
getProcessor
 
Methods inherited from class com.ihr.xbrl.om.exLinks.XBRLResource
addChild, clear, equals, generateLocatorToNode, generateNode, getAttributes, getDTSBase, getFriendlyName, getFriendlyName, getParent, getRoleType, getType, getValidationReport, getValueKey, hashCode, invalidate, invalidate, isComplexType, isOnValidation, isSimpleType, setComplexType, setDTSBase, setId, setParent, setRole, setRoleType, setSimpleType, setValue, validate
 
Methods inherited from class com.ihr.xbrl.om.exLinks.XLinkElement
getActuate, getArcrole, getFromTxt, getHRef, getLabel, getRole, getShow, getStaticLabel, getSType, getTitle, getToTxt, isRequiredAttribute, isValidAttribute, setActuate, setArcrole, setFrom, setHRef, setLabel, setShow, setSType, setTitle, setTo
 
Methods inherited from class com.ihr.xbrl.om.XMLFragment
addAttribute, addFromRelationship, addNamespace, addNamespace, addToRelationship, addXMLChild, changeBase, checkBase, clone, clone, delAttribute, delAttribute, equalXdmValues, evaluateBoolean, evaluateList, evaluateNode, evaluateNumber, evaluateString, generateId, generateNodeNamespacesAndAttributes, generateNodeValue, generatePrefix, getAttribute, getAttributeQNameValue, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getDocument, getElements, getFragment, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getId, getLang, getNamespaceURI, getNodeName, getNumberOfElements, getNumberOfFromRelationships, getNumberOfToRelationships, getOrGenerateId, getPrefix, getPrefixes, getQNameValue, getRelationshipsBases, getRelationshipsChain, getRelationshipTypes, getStaticNamespace, getStringValue, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getValue, getXPathNamespaceContext, getXPathToNode, getXPathToRoot, getXPointerElementScheme, getXPointerElementScheme, getXPointerShorthandScheme, getXPointerToNode, isDead, isNamespaceDefined, objEquals, objHashCode, qNameToString, removeAttribute, removeChild, removeChild, removeFromRelationship, removeToRelationship, removeXMLChild, resetElements, resetHash, resolveHRef, resolveHRef, s_equal2, s_equal2, setAttributes, setBase, setDocument, setDocumentAndReload, setElements, setLang, setNamespaceContext, setNamespaces, setNode, setNodeName, setParent, setValue, setVariablesDefined, toString, valueEquals, xEqual
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ihr.xbrl.om.formula.XBRLVariableFormulaEvaluable
checkVariable, evaluateValue, getProcessor, getVariablesRequired, rawEvaluateValue
 
Methods inherited from interface com.ihr.xbrl.om.exLinks.XBRLRelationshipPoint
addFromRelationship, addToRelationship, getFromRelationships, getToRelationships, removeFromRelationship, removeToRelationship
 

Field Detail

log

public static org.apache.log4j.Logger log

name

public static final javax.xml.namespace.QName name

order

public static final javax.xml.namespace.QName order

bindAsSequence

public static final javax.xml.namespace.QName bindAsSequence

as

public static final javax.xml.namespace.QName as
Constructor Detail

XBRLVariableResource

public XBRLVariableResource(XBRLFormulaProcessor proc,
                            XBRLExtendedLink parent,
                            net.sf.saxon.s9api.XdmNode resNode)
Parameters:
proc -
parent -
resNode -

XBRLVariableResource

public XBRLVariableResource(XBRLFormulaProcessor proc,
                            XBRLResource res)
Parameters:
proc -
res -

XBRLVariableResource

public XBRLVariableResource(XBRLFormulaResource other)
Parameters:
other -
Method Detail

getUse

public XBRLVariableResourceUse getUse(XBRLRelationship rel,
                                      XBRLVariablesHolder set)
                               throws XFValidationException
Creates a new XBRLVariableResourceUse instance for this variable resource in the variable resource set.

Parameters:
rel - Relationship that links the set with the variable
set - the XBRLVariableSetResource that contains this variable use
Returns:
new instance of an XBRLVariableResourceUse
Throws:
XFValidationException - in the form of a XFxbrlveVariableNameResolutionFailure

bindAsSequence

public boolean bindAsSequence()
Description copied from interface: XBRLVariableFormulaEvaluable
In the case of resource based variables this reads the surrounding syntax and returns the value of the bindAsSequence.

In other cases relays on the implementation

Specified by:
bindAsSequence in interface XBRLVariableFormulaEvaluable
Returns:

getFilters

public java.util.List<XBRLFilterUse> getFilters(int aspect)
Specified by:
getFilters in interface XBRLVariableFormulaEvaluable
Parameters:
concept -
Returns:

getKeysAspectsFiltered

public java.util.Set<java.lang.Integer> getKeysAspectsFiltered()

getAllAspectsFiltered

public int getAllAspectsFiltered()
Access to all aspects filtered as an integer constant

Returns:
integer constant. bitmap
See Also:
CommonAspectRule} All constants defined there

hasFilterAspect

public boolean hasFilterAspect(int aspect,
                               javax.xml.namespace.QName dimName)
Specified by:
hasFilterAspect in interface XBRLVariableFormulaEvaluable
Parameters:
aspect -
dimName - if aspect is DIMENSION then dimName is the dimension name
Returns:

adjustValueAccordingToType

public net.sf.saxon.s9api.XdmValue adjustValueAccordingToType(net.sf.saxon.s9api.XdmValue val,
                                                              net.sf.saxon.s9api.XdmItem item)
                                                       throws XFValidationException
Checks if the variable has a "as" attribute and: * if it exist; the value in the item parameter is converted to the type indicated * if it does not exist; the value of the val parameter is returned

Specified by:
adjustValueAccordingToType in interface XBRLVariableFormulaEvaluable
Parameters:
item - the value that must be converted to the type indicated in the as attribute
val - value to be returned when no "as" attribute exist on variable
Returns:
XdmValue (atomic) or the value of the val parameter
Throws:
XFValidationException

getVariableType

public XBRLVariableType getVariableType()
Specified by:
getVariableType in interface XBRLVariableFormulaEvaluable
Returns:

getExpression

public abstract java.lang.String getExpression()
Used only for debug purposes.

Returns the XPath expression used to evaluate this variable

Returns:
String


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