public class AutoCalculationProcessor extends java.lang.Object implements XBRLPlugInProcessor
This processor performs no DTS validation but is able to modify the content of an instance document to include new values generated from calculation relationships.
When there is a calculation structure like this A = B + C if there are values in the instance for B (and/or) C, the value of A is calculated
Key methods are:
isCalculable(XBRLItem, int)
and
recalculate(XBRLInstance, int, Set)
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
PROCESSORNAME
The Constant PROCESSORNAME.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clear.
|
void |
configure(java.util.Properties properties)
Configure.
|
static AutoCalculationProcessor |
create(DTSContainer dts)
Creates the.
|
int |
getCalculationRoleCode(XBRLItem theItem,
int possibleCode)
Obtains the role code where this concept can be calculated.
|
DTSContainer |
getContainer()
Gets the container.
|
java.lang.String |
getDescription()
Gets the description.
|
static java.lang.String |
getDescriptionStatic()
Gets the description static.
|
java.lang.String |
getName()
Gets the name.
|
boolean |
isCalculable(XBRLItem item,
int roleCode)
Returns true if the item indicated in the item parameter can
be calculated using the rules in the calculation linkbase.
|
boolean |
isHidden()
Checks if is hidden.
|
boolean |
recalculate(XBRLInstance instance,
int roleCode,
java.util.Set<PCUEqual> validCUEqualCombinations)
Recalculate totals that depends on the factChanged.
|
static void |
registerProcessorStatic()
no need to add anything here.
|
XBRLValidationReport |
validate()
Validate.
|
XBRLValidationReport |
validate(XBRLDocument xDocument)
Validate.
|
public static final java.lang.String PROCESSORNAME
public DTSContainer getContainer()
getContainer in interface HasDTSContainerpublic static void registerProcessorStatic()
public static AutoCalculationProcessor create(DTSContainer dts)
dts - the dtspublic XBRLValidationReport validate()
validate in interface XBRLPlugInProcessorpublic XBRLValidationReport validate(XBRLDocument xDocument)
validate in interface XBRLPlugInProcessorxDocument - the x documentpublic java.lang.String getName()
getName in interface XBRLPlugInProcessorpublic static java.lang.String getDescriptionStatic()
public java.lang.String getDescription()
getDescription in interface XBRLPlugInProcessorpublic void configure(java.util.Properties properties)
configure in interface XBRLPlugInProcessorproperties - the propertiespublic boolean isHidden()
isHidden in interface XBRLPlugInProcessorpublic void clear()
clear in interface XBRLPlugInProcessorpublic boolean isCalculable(XBRLItem item, int roleCode)
This is, when the item is parent of other items using the summation-item calculation networks in the same role
item - the concept definition for which the result will
be checkedroleCode - the role codepublic boolean recalculate(XBRLInstance instance, int roleCode, java.util.Set<PCUEqual> validCUEqualCombinations)
instance - the instance that contains facts
and will be the destination of new factsroleCode - the role codevalidCUEqualCombinations - set of combinations
of XBRLContext and XBRLUnit for which
calculations will be evaluated. Not all facts
in the instance will be usedpublic int getCalculationRoleCode(XBRLItem theItem, int possibleCode)
theItem - item that can be calculated because isCalculable returned true, it might be the role code is different form the role code used in the call to isCalculablepossibleCode - the possible codeCopyright 2006-2015 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa