public abstract class XBRLVariableSetResource extends XBRLFormulaResource implements XBRLVariablesHolder, HasUncoveredAspectValueResolver, HasFallbackValueResolver, HasUncoveredDimensionalAspectsResolver, HasUncoveredNonDimensionalAspectsResolver
| Modifier and Type | Class and Description | 
|---|---|
| static class  | XBRLVariableSetResource.PreconditionAndSelectorThe Class PreconditionAndSelector. | 
XMLFragment.NodeNameIterator<T extends XMLFragment>, XMLFragment.NodeTypeIterator<T extends XMLFragment>XBRLVariablesHolder.ModelTypeXBRLValidation.Direction| Modifier and Type | Field and Description | 
|---|---|
| static javax.xml.namespace.QName | aspectModelThe Constant aspectModel. | 
| static javax.xml.namespace.QName | implicitFilteringThe Constant implicitFiltering. | 
| static org.apache.log4j.Logger | logThe log. | 
nullResourceactuate, ARC, arcrole, ETITLE, EXTENDED, from, href, label, LOCATOR, RESOURCE, role, show, SIMPLE, title, to, X_ACTUATE, X_ARCROLE, X_FROM, X_HREF, X_LABEL, X_ROLE, X_SHOW, X_TITLE, X_TO, X_TYPE, XLINKPREFIXADD_NAMESPACE_INHERIT, baseQName, CONCEPT_LABEL, CONCEPT_QNAME, EASY_TO_READ, ELEMENT_LABEL, EMPTYRELATIONSHIPSITERATORINSTANCE, EMPTYXMLFRAGMENTITERATORINSTANCE, FACT_CONCEPT_DATATYPE, FACT_CONCEPT_LABEL, FACT_QNAME, FACT_VALUE, HIDE_COMMON_ACCURACY, idQName, langQName, nil, NO_POSITION, OrderComparator, OrderComparator2, OrderComparatorReverse, PERIOD_BOP, PERIOD_TYPE, PERIOD_VALUE, RELATIONSHIP_TYPE, RESOURCE_TYPE, SHORT_TEXT, SOURCE_DOCUMENT, XPATH, XPOINTER| Constructor and Description | 
|---|
| XBRLVariableSetResource(XBRLFormulaProcessor proc,
                       XBRLExtendedLink parent,
                       XMLFragment node)Instantiates a new XBRL variable set resource. | 
| XBRLVariableSetResource(XBRLFormulaProcessor proc,
                       XBRLResource other)Instantiates a new XBRL variable set resource. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | bindCycle(XPathHelper xph)Bind cycle. | 
| TraceVariablesBind | bindLastEvaluatedVariableValues(net.sf.saxon.s9api.XPathSelector xpathExpression,
                               java.util.Collection<javax.xml.namespace.QName> requiredVariables,
                               net.sf.saxon.s9api.XdmValue context)This method should be called when there is no need to advance to the next values in the sequence. | 
| void | bindParameters(net.sf.saxon.s9api.XPathSelector xpathExpression,
              java.util.Collection<javax.xml.namespace.QName> requiredVariables)Bind parameters. | 
| void | bindVariableValue(net.sf.saxon.s9api.QName varName,
                 net.sf.saxon.s9api.XPathSelector sel)Bind variable value. | 
| void | checkCyclicDependencies(javax.xml.namespace.QName source)Starting variable to check cycles from. | 
| void | clear()Clear. | 
| void | compileFilters()Compile filters. | 
| net.sf.saxon.s9api.XPathExecutable | compileFormulaExpression(java.lang.String expression,
                        boolean namespaces,
                        boolean variables)Compile formula expression. | 
| java.util.Collection<javax.xml.namespace.QName> | declareVariables(net.sf.saxon.s9api.XPathCompiler compiler,
                boolean bNamespaces,
                boolean bVariables,
                javax.xml.namespace.QName name)Declare variables. | 
| boolean | evaluatePrecondition(XBRLVariableSetResource.PreconditionAndSelector pre)Evaluates one precondition. | 
| boolean | evaluatePreconditions()Evaluate preconditions. | 
| XBRLVariablesHolder.ModelType | getAspectModel()Gets the aspect model. | 
| java.util.Collection<net.sf.saxon.s9api.QName> | getBindableVariableNames()Gets the bindable variable names. | 
| static java.util.Set<Aspect> | getCoveredAspectsSet(java.util.Collection<XBRLVariableResourceUse> variableUses,
                    XBRLVariablesHolder set)Computes uncovered aspects in common in all variables in the set. | 
| java.util.Collection<XBRLFilterUse> | getFilters()Gets the filters. | 
| net.sf.saxon.tree.linked.NodeImpl | getFirstChild() | 
| net.sf.saxon.tree.linked.NodeImpl | getLastChild() | 
| int | getNumberOfChildren() | 
| int | getNumberOfVariables()Gets the number of variables. | 
| java.util.List<XBRLVariableSetResource.PreconditionAndSelector> | getPreconditions(java.util.Set<javax.xml.namespace.QName> collectPreviousVariableSet,
                javax.xml.namespace.QName varName)Obtains the list of preconditions that can be evaluated for the . | 
| net.sf.saxon.s9api.XdmValue | getUncoveredAspectValue(Aspect aspect,
                       Aspect dimName)Gets the uncovered aspect value. | 
| java.util.Collection<net.sf.saxon.value.QNameValue> | getUncoveredDimensionalAspects()Gets the uncovered dimensional aspects. | 
| java.util.Collection<net.sf.saxon.value.StringValue> | getUncoveredNonDimensionalAspects()Gets the uncovered non dimensional aspects. | 
| XBRLVariableFormulaEvaluable | getVariableResource(javax.xml.namespace.QName variableName)Gets the variable resource. | 
| java.util.Collection<XBRLVariableResourceUse> | getVariableResourceUses()Access to variables linked with this variable set. | 
| XBRLVariableResourceUse | getVariableUse(javax.xml.namespace.QName variableName)Obtains the instance of the XBRLVariableResourceUse on this variable set using the
 variable name. | 
| net.sf.saxon.s9api.XdmValue | getVariableValue(javax.xml.namespace.QName variableName)Gets the variable value. | 
| net.sf.saxon.s9api.XdmValue | getVariableValue(javax.xml.namespace.QName variableName,
                Aspect aspect)Gets the variable value. | 
| net.sf.saxon.s9api.XdmValue | getVariableValue(javax.xml.namespace.QName variableName,
                Aspect aspect,
                Aspect dimName)Access to the variable value using the variable name. | 
| XFIImplicitFilterOptimizer | getXFIImplicitFilterOptimizer()Gets the XFI implicit filter optimizer. | 
| boolean | hasChildNodes() | 
| boolean | isCovered(javax.xml.namespace.QName source,
         Aspect aspect)Returns true when the variable used in the source parameter is covered. | 
| boolean | isImplicitFilter()Returns the value of the implicitfiltering attribute for this variableSet. | 
addRequiredVariable, clearVariableSetDicoveredDuringExpressionCompilation, getProcessor, getRequiredVariableSetDiscoveredDuringExpressionCompilation, getResourceaddChild, clone, clone, equals, generateNode, getAttributes, getCode, getDTSBase, getFriendlyName, getFriendlyName, getFriendlyName, getParentXBRL, getResourceIdentifier, getRoleType, getType, getValidationReport, getValueKey, hashCode, invalidate, invalidate, isComplexType, isHashDependsOnAtribute, isOnValidation, isSimpleType, setCode, setComplexType, setDTSBase, setId, setRawParentXBRL, setRole, setRoleType, setSimpleType, setValue, validategetActuate, getArcrole, getFromTxt, getHRef, getHRefDocument, getHRefDocumentResolved, getHRefResolved, getLabel, getRawHRef, getReference, getRole, getShow, getStaticLabel, getSType, getTitle, getToTxt, isRequiredAttribute, isValidAttribute, setActuate, setArcrole, setFrom, setHRef, setLabel, setShow, setSType, setTitle, setTo, validateXPointeraddAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addChildArray, addChildAt, addChildNode, addChildNodeArray, addChildNodeAt, addChildNodeInBatch, addComment, addFromRelationship, addNamespace, addNamespace, addPropertyChangeListener, addToRelationship, changeBase, checkBase, childExists, commitBatch, copy, createComment, delAttribute, delAttribute, delete, equalXdmValues, findFirstNodeOfClass, findPosition, firePropertyChangeEvent, generateId, generateLocatorToNode, generatePrefix, getAllAttributes, getAttribute, getAttributeAtomicValue, getAttributeBooleanValue, getAttributeGroundedValue, getAttributeQNameValue, getAttributeValue, getBase, getBase, getBooleanValue, getChildren, getChildStringValue, getConfiguration, getContainer, getContainerDocumentURI, getDocument, getElement, getElement, getElements, getFirstChildNoComment, getFragment, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getId, getInScopeNamespaces, getLang, getLastChildNoComment, getNamePool, getNamespaceBinding, getNamespaceURI, getNextSiblingNoComment, getNodeName, getNthElement, getNumberOfElements, getNumberOfFromRelationships, getNumberOfToRelationships, getOrGenerateId, getParentDocument, getPrefix, getPrefixes, getPropertyChangeListeners, getQNameValue, getRelationshipsBases, getRelationshipsChain, getRelationshipTypes, getStaticNamespace, getStringValue, getToolTipText, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getValue, getXPath, getXPathFromXPointer, getXPathNamespaceContext, getXPathToRoot, getXPointerElementScheme, getXPointerElementScheme, getXPointerShorthandScheme, getXPointerXPath2Scheme, initialise, internalToString, isAttribute, isChangeHashEnabled, isDead, isEmpty, isNamespaceDefined, isNil, moveNamespacesUp, objEquals, objHashCode, reindex, removeChild, removeChildNode, removeFromRelationship, removeNamespace, removePropertyChangeListener, removeToRelationship, replace, replaceChild, replaceStringValue, resetElements, resolveHRef, s_equal2_xp2, s_equal2_xp2, s_equal2, s_equal2, s_equal2, s_equal2, setAttributeList, setAttributes, setBase, setChildrenClone, setDirty, setElements, setLang, setModified, setNamespaceDeclarations, setNamespaces, setNil, setNodeName, setValue, setValue, setValue, setValue, setValue, setValue, setValue, toString, valueEquals, xEqualaddAttribute, addNamespace, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNamespaceList, getNodeKind, getRoot, getSchemaType, getSystemId, getTypeAnnotation, getURIForPrefix, gsetAttributeCollection, isId, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, setLocation, setNameCode, setNamespaceList, setSystemId, setTypeAnnotationatomize, compareOrder, comparePosition, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getSiblingPosition, getSuccessorElement, getURI, head, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterate, iterateAxis, iterateAxis, newBuilder, replacegetResourcegetProcessorpublic static final org.apache.log4j.Logger log
public static final javax.xml.namespace.QName implicitFiltering
public static final javax.xml.namespace.QName aspectModel
public XBRLVariableSetResource(XBRLFormulaProcessor proc, XBRLExtendedLink parent, XMLFragment node) throws XFValidationException
proc - the procparent - the parentnode - the res nodeXFValidationException - the XF validation exceptionpublic XBRLVariableSetResource(XBRLFormulaProcessor proc, XBRLResource other) throws XFValidationException
proc - the procother - the otherXFValidationException - the XF validation exceptionpublic XBRLVariablesHolder.ModelType getAspectModel()
getAspectModel in interface XBRLVariablesHolderpublic boolean isImplicitFilter()
isImplicitFilter in interface HasUncoveredAspectValueResolverisImplicitFilter in interface XBRLVariablesHolderpublic boolean bindCycle(XPathHelper xph) throws XFValidationException
xph - the xphXFValidationException - the XF validation exceptionpublic java.util.Collection<XBRLVariableResourceUse> getVariableResourceUses()
public TraceVariablesBind bindLastEvaluatedVariableValues(net.sf.saxon.s9api.XPathSelector xpathExpression, java.util.Collection<javax.xml.namespace.QName> requiredVariables, net.sf.saxon.s9api.XdmValue context)
xpathExpression - the xpath expressionrequiredVariables - the required variablescontext - the contextpublic void bindParameters(net.sf.saxon.s9api.XPathSelector xpathExpression,
                           java.util.Collection<javax.xml.namespace.QName> requiredVariables)
xpathExpression - the xpath expressionrequiredVariables - the required variablespublic java.util.Collection<javax.xml.namespace.QName> declareVariables(net.sf.saxon.s9api.XPathCompiler compiler,
                                                                        boolean bNamespaces,
                                                                        boolean bVariables,
                                                                        javax.xml.namespace.QName name)
                                                                 throws XFValidationException
compiler - the XPath compilerbNamespaces - if true, namespaces on this XMLFragment will be declared on the XPath compilerbVariables - if true, variables on this variableSet will be added to the compilername - the nameXFValidationException - the XF validation exceptionpublic boolean evaluatePreconditions()
                              throws XFValidationException
XFValidationException - the XF validation exceptionpublic boolean evaluatePrecondition(XBRLVariableSetResource.PreconditionAndSelector pre) throws XFValidationException
pre - the precondition to evaluateXFValidationException - the XF validation exceptionpublic void checkCyclicDependencies(javax.xml.namespace.QName source)
                             throws XFValidationException
source - QNameXFValidationException - the XF validation exceptionpublic XBRLVariableResourceUse getVariableUse(javax.xml.namespace.QName variableName)
The constructor of the XBRLVariableSetResource already calls readVariables so it is almost impossible this method raises XFRuntimeException
getVariableUse in interface HasFallbackValueResolvervariableName - the variable namepublic XBRLVariableFormulaEvaluable getVariableResource(javax.xml.namespace.QName variableName)
getVariableResource in interface XBRLVariablesHoldervariableName - the variable namepublic net.sf.saxon.s9api.XdmValue getVariableValue(javax.xml.namespace.QName variableName)
                                             throws XFValidationException
getVariableValue in interface XBRLVariablesHoldervariableName - the variable nameXFValidationException - the XF validation exceptionpublic net.sf.saxon.s9api.XdmValue getVariableValue(javax.xml.namespace.QName variableName,
                                                    Aspect aspect)
                                             throws XFValidationException
variableName - the variable nameaspect - the aspectXFValidationException - the XF validation exceptionpublic net.sf.saxon.s9api.XdmValue getVariableValue(javax.xml.namespace.QName variableName,
                                                    Aspect aspect,
                                                    Aspect dimName)
                                             throws XFValidationException
This function is able to deal with the formula:uncovered variable name and obtains the SAV according to the specification.
variableName - the variable nameaspect - the aspectdimName - Optional, dimension name. Used only when aspect is DIMENSIONXFValidationException - the XF validation exceptionpublic net.sf.saxon.s9api.XdmValue getUncoveredAspectValue(Aspect aspect, Aspect dimName) throws XFValidationException
getUncoveredAspectValue in interface HasUncoveredAspectValueResolveraspect - the aspectdimName - the dim nameXFValidationException - the XF validation exceptionpublic java.util.Collection<net.sf.saxon.value.QNameValue> getUncoveredDimensionalAspects()
getUncoveredDimensionalAspects in interface HasUncoveredDimensionalAspectsResolverpublic java.util.Collection<net.sf.saxon.value.StringValue> getUncoveredNonDimensionalAspects()
getUncoveredNonDimensionalAspects in interface HasUncoveredNonDimensionalAspectsResolverpublic void compileFilters()
                    throws XFValidationException
XFValidationException - the XF validation exceptionpublic java.util.Collection<XBRLFilterUse> getFilters()
getFilters in interface XBRLVariablesHolderpublic net.sf.saxon.s9api.XPathExecutable compileFormulaExpression(java.lang.String expression,
                                                                   boolean namespaces,
                                                                   boolean variables)
                                                            throws XFValidationException
expression - the expressionnamespaces - if true, namespaces on this XMLFragment will be declared on the XPath compilervariables - if true, variables on this variableSet will be added to the compilerXFValidationException - the XF validation exceptionpublic java.util.Collection<net.sf.saxon.s9api.QName> getBindableVariableNames()
getBindableVariableNames in interface XBRLVariablesHolderpublic void bindVariableValue(net.sf.saxon.s9api.QName varName,
                              net.sf.saxon.s9api.XPathSelector sel)
varName - the var namesel - the selpublic int getNumberOfVariables()
public boolean isCovered(javax.xml.namespace.QName source,
                         Aspect aspect)
source - the sourceaspect - the aspectpublic XFIImplicitFilterOptimizer getXFIImplicitFilterOptimizer()
getXFIImplicitFilterOptimizer in interface XBRLVariablesHolderpublic static java.util.Set<Aspect> getCoveredAspectsSet(java.util.Collection<XBRLVariableResourceUse> variableUses, XBRLVariablesHolder set)
variableUses - the variable usesset - the setpublic void clear()
           throws java.lang.Throwable
clear in class XBRLFormulaResourcejava.lang.Throwable - the throwablepublic java.util.List<XBRLVariableSetResource.PreconditionAndSelector> getPreconditions(java.util.Set<javax.xml.namespace.QName> collectPreviousVariableSet, javax.xml.namespace.QName varName)
collectPreviousVariableSet - the collect previous variable setvarName - the var namepublic final boolean hasChildNodes()
hasChildNodes in interface net.sf.saxon.om.NodeInfohasChildNodes in class net.sf.saxon.tree.linked.NodeImplpublic final int getNumberOfChildren()
public final net.sf.saxon.tree.linked.NodeImpl getFirstChild()
getFirstChild in interface net.sf.saxon.tree.util.SteppingNode<net.sf.saxon.tree.linked.NodeImpl>getFirstChild in class net.sf.saxon.tree.linked.NodeImplpublic final net.sf.saxon.tree.linked.NodeImpl getLastChild()
getLastChild in class net.sf.saxon.tree.linked.NodeImplCopyright 2006-2015 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa