public class DTSBase extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<DTSBase>
| Constructor and Description |
|---|
DTSBase(DTSContainer dts,
javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
Creates an empty base (no extended links).
|
| Modifier and Type | Method and Description |
|---|---|
void |
addExtendedLink(XBRLExtendedLink extendedLink)
An optimization of this strategy would be to write down the relationships
not the extended links one by one.
|
void |
addRelationship(XBRLRelationship relationship)
Adds the relationship.
|
void |
clear()
Clear.
|
int |
compareTo(DTSBase o) |
boolean |
equals(java.lang.Object obj) |
java.util.Iterator<XBRLArcroleType> |
getArcroles(XBRLExtendedLink filter)
An iterator over arcroles in one extended link.
|
DTSBaseSet |
getBaseSet(XBRLArcroleType arcrole)
Returns the DTSBaseSet object for this arcrole Type
The DTSBaseSet is a HashSet of XBRLRelationshpis.
|
java.util.Iterator<XBRLArcroleType> |
getBaseSetArcroles()
An iterator over arcroles in all base sets inside this DTSBase.
|
java.util.Iterator<XBRLRelationship> |
getBaseSetRelationshipsIterator(XBRLArcroleType arcrole)
Returns an iterator over the relationships in the base set.
|
java.util.Iterator<XBRLRelationship> |
getBaseSetRelationshipsIterator(XBRLArcroleType arcrole,
XBRLValidationReport rep)
Returns an iterator over the relationships in the base set.
|
DTSContainer |
getContainer()
Returns the DTSContainer associated to this object.
|
java.util.Iterator<XBRLExtendedLink> |
getExtendedLinks()
Gets the extended links.
|
DTSBaseSet |
getIneffectualBaseSet(XBRLArcroleType arcrole,
EFMProcessor proc,
XBRLValidationReport rep)
This method processes all arcs in a DTSBase and returns all ineffectual relationships in a new constructed instance of
a DTSBaseSet.
|
javax.xml.namespace.QName |
getLinkbaseType()
Gets the linkbase type.
|
XBRLRoleType |
getRole()
Gets the role.
|
java.util.Iterator<XBRLResource> |
getVectorResources(java.lang.String extraXPath)
Gets the vector resources.
|
int |
hashCode() |
boolean |
isBaseSetDefined(XBRLArcroleType arcrole)
Returns true if on this DTSbase set there is a DTSBaseSet of relationships for the indicated arcrole, this method does
not create an empty base set if it is not defined and does not change the DTS content in any manner.
|
boolean |
removeExtendedLink(XBRLExtendedLink extendedLink)
Removes an extended link from this base.
|
boolean |
removeRelationship(XBRLRelationship relationship)
Removes the relationship.
|
void |
serialize(XBRLRelationship rel,
XBRLDocument document)
This function makes sure that:
1- the relationship exists in the appropriate ExtendedLink or creates the extended link
2- If the target is a resource, the resource is included in the ExtendedLink as well.
|
java.lang.String |
toString() |
public DTSBase(DTSContainer dts, javax.xml.namespace.QName linkbaseType, XBRLRoleType role)
dts - DTSContainer objectlinkbaseType - QNamerole - XBRLRoleTypepublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic void addExtendedLink(XBRLExtendedLink extendedLink) throws XBRLInconsistentDTSException
extendedLink - the extended linkXBRLInconsistentDTSException - the XBRL inconsistent dts exceptionpublic boolean removeExtendedLink(XBRLExtendedLink extendedLink)
extendedLink - to removepublic DTSContainer getContainer()
public java.util.Iterator<XBRLArcroleType> getBaseSetArcroles()
public java.util.Iterator<XBRLArcroleType> getArcroles(XBRLExtendedLink filter)
filter - the extended link to explore for arcrolespublic java.util.Iterator<XBRLRelationship> getBaseSetRelationshipsIterator(XBRLArcroleType arcrole)
arcrole - or the arcs to filterpublic java.util.Iterator<XBRLRelationship> getBaseSetRelationshipsIterator(XBRLArcroleType arcrole, XBRLValidationReport rep)
arcrole - or the arcs to filterrep - instance of the XBRLValidationReport where errors will be added.public DTSBaseSet getBaseSet(XBRLArcroleType arcrole) throws XBRLRuntimeException
arcrole - or the arcs to filterXBRLRuntimeException - if there were XBRLValidationExceptions that cannot be added to an existing XBRLValidationReportpublic boolean isBaseSetDefined(XBRLArcroleType arcrole)
arcrole - the XBRLArcroleType to ask for on this DTSBasepublic DTSBaseSet getIneffectualBaseSet(XBRLArcroleType arcrole, EFMProcessor proc, XBRLValidationReport rep) throws XBRLValidationException
arcrole - the XBRLArcroleType for which relationships are going to be processedproc - instance of the EFMProcessor in order to recognize if the relationship belongs to an official taxonomy or an extension taxonomyrep - the repXBRLValidationException - the XBRL validation exceptionpublic void addRelationship(XBRLRelationship relationship) throws XBRLValidationException
relationship - the relationshipXBRLValidationException - the XBRL validation exceptionpublic boolean removeRelationship(XBRLRelationship relationship) throws XBRLInconsistentDTSException
relationship - the relationshipXBRLInconsistentDTSException - the XBRL inconsistent dts exceptionpublic java.util.Iterator<XBRLResource> getVectorResources(java.lang.String extraXPath) throws javax.xml.xpath.XPathExpressionException, XBRLValidationException
extraXPath - the extra x pathjavax.xml.xpath.XPathExpressionException - the x path expression exceptionXBRLValidationException - the XBRL validation exceptionpublic javax.xml.namespace.QName getLinkbaseType()
public XBRLRoleType getRole()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.util.Iterator<XBRLExtendedLink> getExtendedLinks()
public void serialize(XBRLRelationship rel, XBRLDocument document) throws XBRLSerializationException
rel - The Relationship. MUST be a relationship created in this basedocument - XBRLDocument MUST be an XBRLIntance or an XBRLLinkbaseXBRLSerializationException - the XBRL serialization exceptionpublic void clear()