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 HasDTSContainer
public static void registerProcessorStatic()
public static AutoCalculationProcessor create(DTSContainer dts)
dts
- the dtspublic XBRLValidationReport validate()
validate
in interface XBRLPlugInProcessor
public XBRLValidationReport validate(XBRLDocument xDocument)
validate
in interface XBRLPlugInProcessor
xDocument
- the x documentpublic java.lang.String getName()
getName
in interface XBRLPlugInProcessor
public static java.lang.String getDescriptionStatic()
public java.lang.String getDescription()
getDescription
in interface XBRLPlugInProcessor
public void configure(java.util.Properties properties)
configure
in interface XBRLPlugInProcessor
properties
- the propertiespublic boolean isHidden()
isHidden
in interface XBRLPlugInProcessor
public void clear()
clear
in interface XBRLPlugInProcessor
public 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