com.ihr.xbrl.om.taxonomy
Class XBRLRoleAndArcroleTypes

java.lang.Object
  extended by com.ihr.xbrl.om.XMLFragment
      extended by com.ihr.xbrl.om.taxonomy.XBRLRoleAndArcroleTypes
All Implemented Interfaces:
XBRLRelationshipPoint, XBRLValidation, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext
Direct Known Subclasses:
XBRLArcroleType, XBRLRoleType

public abstract class XBRLRoleAndArcroleTypes
extends XMLFragment
implements XBRLValidation


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ihr.xbrl.om.XBRLValidation
XBRLValidation.Direction
 
Field Summary
 
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
XBRLRoleAndArcroleTypes(DTSContainer newDTS, XBRLRoleAndArcroleTypes other)
           
XBRLRoleAndArcroleTypes(XBRLRoleAndArcroleTypes other)
           
 
Method Summary
 void addRef(XBRLDocument doc)
          When a role or arcrole is referenced via roleRef its is annotated here
 void addUsedOn(XBRLUsedOn on)
           
 boolean equals(java.lang.Object other)
          Sets a new XPathFunctionResolver for this object
 XBRLLocator generateLocatorToNode(boolean relativize, java.net.URI base)
          Generates an XBRLLocator object pointing to this node
 org.jdom.Element generateNode(boolean relativize, java.net.URI base)
          Serializes to a jdom Element the representation of the properties of this Information Item This method should be called from classes derived from this class
 java.lang.String getDefinition()
          Access to the [Definition] property.
 java.util.Iterator<XMLFragment> getElements()
          For complex type resources this returns an iterator with all children XML fragments Tthis method may be overwriten by other classes in the hierarchy
 java.net.URI getHRefURI()
          Creates a URI pointing to the roleType or arcroleType
 XBRLTaxonomy getParent()
          access to the [Parent] property.
 java.lang.String getURI()
          Access to the [Role URI]/[Arcrole URI] property
 java.util.Iterator<XBRLUsedOn> getUsedOn()
           
 XBRLValidationReport getValidationReport()
          Access to the last stored validation report
 int hashCode()
           
 void invalidate()
          Invalidates the XBRLFact for XBRL validation.
 boolean invalidate(XBRLValidation.Direction dir)
          Invalidates this object and the elements in the XML tree according with the parameter in dir This method is used by GUI tools that requires to reset validation before a manual validation cycle is started
 boolean isOnValidation()
          When validation is a recursive process, this function returns true if the object going to be validated is already under validation.
 boolean isStatic()
          Returns true for role types and arcrole types defined in the XBRL 2.1 specification
 boolean isUsedOn(javax.xml.namespace.QName here)
          returns true if the element represented by the QName can legally use this XBRLRoleType This method considers roles defined in the XBRL 2.1 specification, virtual roles undefined in the DTS and used in generic linkbases and roles properly defined in XBRL linkbases
 boolean isVirtual()
          Returns true for role types not referenced using roleRef elements or arcrole type not referenced via arcroleRef elements but valid because they are used within custom extended linkbases.
 void removeUsedOn(XBRLUsedOn on)
           
 boolean sameUsedOn(XBRLRoleAndArcroleTypes o)
           
 void setDefinition(java.lang.String newValue)
          Sets the definition string for a role and arcrole types.
 void setId(java.lang.String id)
          Sets the content of the id attribute of this element the ID MUST not have any space, but null is allowed and removes an id from an XML Fragment.
 void setParent(XBRLTaxonomy newParent)
          Changes the [Parent] property.
 void setStatic(boolean newValue)
          Used by the API when a static role or arcrole URI is defined
 void setURI(java.lang.String newURI)
          Sets or changes the URI of this role type.
 void setVirtual(boolean newValue)
          Used by the APO when a virtual role or arcrole URI is defined
 XBRLValidationReport validate(XBRLPlugInProcessor proc)
          Executes validation on the instance object and returns a validation report.
 
Methods inherited from class com.ihr.xbrl.om.XMLFragment
addAttribute, addChild, addFromRelationship, addNamespace, addNamespace, addToRelationship, addXMLChild, changeBase, checkBase, clear, clone, clone, delAttribute, delAttribute, equalXdmValues, evaluateBoolean, evaluateList, evaluateNode, evaluateNumber, evaluateString, generateId, generateNodeNamespacesAndAttributes, generateNodeValue, generatePrefix, getAttribute, getAttributeQNameValue, getAttributes, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getDocument, getFragment, getFriendlyName, getFriendlyName, 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, setValue, setVariablesDefined, toString, valueEquals, xEqual
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XBRLRoleAndArcroleTypes

public XBRLRoleAndArcroleTypes(XBRLRoleAndArcroleTypes other)

XBRLRoleAndArcroleTypes

public XBRLRoleAndArcroleTypes(DTSContainer newDTS,
                               XBRLRoleAndArcroleTypes other)
Method Detail

generateNode

public org.jdom.Element generateNode(boolean relativize,
                                     java.net.URI base)
                              throws XBRLSerializationException
Description copied from class: XMLFragment
Serializes to a jdom Element the representation of the properties of this Information Item This method should be called from classes derived from this class

Overrides:
generateNode in class XMLFragment
Parameters:
relativize - boolean indicating if URIs should be relativized to the base URI (see next argument)
base - the URI to which some attributes of this object should be relativided
Returns:
a clone of the surrounding jdom Element so it can be incorporated into multiple trees
Throws:
XBRLSerializationException

getDefinition

public java.lang.String getDefinition()
Access to the [Definition] property. If there is no definition this function returns null

Returns:
String

setDefinition

public void setDefinition(java.lang.String newValue)
Sets the definition string for a role and arcrole types. The string may be null in this case the role or arcrole type will have no definition

Parameters:
newValue -

getParent

public XBRLTaxonomy getParent()
access to the [Parent] property. This is the taxonomy in which the role/arcrole type is defined

Specified by:
getParent in interface XMLHasParent
Overrides:
getParent in class XMLFragment
Returns:
XBRLTaxonomy

setId

public void setId(java.lang.String id)
           throws XBRLInconsistentDTSException
Description copied from class: XMLFragment
Sets the content of the id attribute of this element the ID MUST not have any space, but null is allowed and removes an id from an XML Fragment. This method may be overwritten by other classes that require storing an indexed table of elements and IDs in order to prevent duplicate IDs to exist

Overrides:
setId in class XMLFragment
Parameters:
id - the new ID
Throws:
XBRLInconsistentDTSException - if the id is not lexicographically valid

setParent

public void setParent(XBRLTaxonomy newParent)
Changes the [Parent] property. This is the taxonomy in which the role/arcrole type is defined

Parameters:
newParent -
Throws:
XBRLValidationException

getUsedOn

public java.util.Iterator<XBRLUsedOn> getUsedOn()

addUsedOn

public void addUsedOn(XBRLUsedOn on)
Parameters:
on -

removeUsedOn

public void removeUsedOn(XBRLUsedOn on)
Parameters:
on -

isUsedOn

public boolean isUsedOn(javax.xml.namespace.QName here)
returns true if the element represented by the QName can legally use this XBRLRoleType

This method considers roles defined in the XBRL 2.1 specification, virtual roles undefined in the DTS and used in generic linkbases and roles properly defined in XBRL linkbases

Parameters:
here - the node element to check for
Returns:
boolean value

isStatic

public boolean isStatic()
Returns true for role types and arcrole types defined in the XBRL 2.1 specification

Returns:
boolean

isVirtual

public boolean isVirtual()
Returns true for role types not referenced using roleRef elements or arcrole type not referenced via arcroleRef elements but valid because they are used within custom extended linkbases.

Returns:
boolean

setStatic

public void setStatic(boolean newValue)
Used by the API when a static role or arcrole URI is defined

Parameters:
newValue -

setVirtual

public void setVirtual(boolean newValue)
Used by the APO when a virtual role or arcrole URI is defined

Parameters:
newValue -

getURI

public java.lang.String getURI()
Access to the [Role URI]/[Arcrole URI] property

Returns:
String

setURI

public void setURI(java.lang.String newURI)
Sets or changes the URI of this role type. If there was an existing role type the old role type URI is unregistered from the DTS and the new role type is registered. Virtual or Static role types are not registered. virtual and static properties should be set before setURI is called.

Parameters:
newURI -

equals

public boolean equals(java.lang.Object other)
Description copied from class: XMLFragment
Sets a new XPathFunctionResolver for this object

Overrides:
equals in class XMLFragment

hashCode

public int hashCode()
Overrides:
hashCode in class XMLFragment

sameUsedOn

public boolean sameUsedOn(XBRLRoleAndArcroleTypes o)

getHRefURI

public java.net.URI getHRefURI()
Creates a URI pointing to the roleType or arcroleType

Returns:
URI
Throws:
XBRLValidationException - if duplicade ids were found

addRef

public void addRef(XBRLDocument doc)
When a role or arcrole is referenced via roleRef its is annotated here

Parameters:
doc -

getElements

public java.util.Iterator<XMLFragment> getElements()
Description copied from class: XMLFragment
For complex type resources this returns an iterator with all children XML fragments Tthis method may be overwriten by other classes in the hierarchy

Overrides:
getElements in class XMLFragment
Returns:
Iterator

generateLocatorToNode

public XBRLLocator generateLocatorToNode(boolean relativize,
                                         java.net.URI base)
                                  throws java.net.URISyntaxException
Generates an XBRLLocator object pointing to this node

Parameters:
relativize -
base -
Returns:
Throws:
java.net.URISyntaxException

getValidationReport

public XBRLValidationReport getValidationReport()
Description copied from interface: XBRLValidation
Access to the last stored validation report

Specified by:
getValidationReport in interface XBRLValidation
Returns:
XBRLValidationReport or null if the object has not been validated or no errors exists

invalidate

public void invalidate()
Description copied from interface: XBRLValidation
Invalidates the XBRLFact for XBRL validation.

Specified by:
invalidate in interface XBRLValidation

invalidate

public boolean invalidate(XBRLValidation.Direction dir)
Description copied from interface: XBRLValidation
Invalidates this object and the elements in the XML tree according with the parameter in dir

This method is used by GUI tools that requires to reset validation before a manual validation cycle is started

Specified by:
invalidate in interface XBRLValidation
Parameters:
dir - see the XBRLValidation.Direction enumeration for more information.

validate

public XBRLValidationReport validate(XBRLPlugInProcessor proc)
Description copied from interface: XBRLValidation
Executes validation on the instance object and returns a validation report.

The validation result may be cached internally. A call to XBRLValidation.invalidate(Direction) clears the validation cache.

Specified by:
validate in interface XBRLValidation
Parameters:
proc - the processor under which the object is going to be validated. Note the same object can be validated on multiple processors.
Returns:
the validation report or null if no errors.

isOnValidation

public boolean isOnValidation()
Description copied from interface: XBRLValidation
When validation is a recursive process, this function returns true if the object going to be validated is already under validation. This prevents a recursive loop to enter the same validation component in an infinite loop.

Specified by:
isOnValidation in interface XBRLValidation
Returns:
true if the document is under validation. Means, the validation has not finished.


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