public interface Domain extends StoreHandler, java.io.Serializable, java.util.Comparator<AspectValue>
A domain represents a collection of values for a single aspect, which may have a strict heirarchical ordering.
The extent of the domain is determined by its definition. All domain definitions include the aspect identifier because a domain must only contain aspect values that are values for the same aspect.
Domain definitions allow testing of aspect values to determine if they are part of the domain or not. They also allow analysis of heirarchical relationships between the aspect values in the domain, if such heirarchial relationships exist.
Domain definitions can be established in any number of ways, including but not restricted to:
Modifier and Type | Method and Description |
---|---|
boolean |
allowsMissingValues()
This method is implemented by each concrete domain class.
|
java.util.List<AspectValue> |
getAllAspectValues() |
java.lang.String |
getAspectId() |
java.util.List<AspectValue> |
getChildren(AspectValue parent) |
int |
getDepth(AspectValue aspectValue) |
AspectValue |
getParent(AspectValue child) |
long |
getSize() |
boolean |
hasChildren(AspectValue value) |
boolean |
hasParent(AspectValue child) |
boolean |
isFinite()
The getSize() and the getAllAspectValues methods must only be implemented
if this method returns true.
|
boolean |
isInDomain(AspectValue candidate) |
boolean |
isRoot(AspectValue aspectValue) |
getStore
java.lang.String getAspectId()
boolean hasChildren(AspectValue value) throws XBRLException
value
- The aspect value.XBRLException
java.util.List<AspectValue> getChildren(AspectValue parent) throws XBRLException
parent
- The parent aspect value.XBRLException
boolean hasParent(AspectValue child) throws XBRLException
child
- The child aspect value.XBRLException
AspectValue getParent(AspectValue child) throws XBRLException
child
- The aspect value.XBRLException
- if the aspect value does not have a parent.int getDepth(AspectValue aspectValue) throws XBRLException
aspectValue
- The aspect value whose ancestor aspect values are to be
counted.XBRLException
boolean isRoot(AspectValue aspectValue) throws XBRLException
aspectValue
- The aspect value to test.XBRLException
java.util.List<AspectValue> getAllAspectValues() throws XBRLException
XBRLException
long getSize() throws XBRLException
XBRLException
boolean isInDomain(AspectValue candidate) throws XBRLException
candidate
- The candidate aspect value.XBRLException
boolean isFinite()
boolean allowsMissingValues()