-
Interface Summary
Interface |
Description |
Supervisor |
A class implementing this interface is able to check if the result of a worker is OK or not.
|
Worker |
The Interface Worker.
|
-
Class Summary
Class |
Description |
ResolversPool |
This is the class with static methods that is able to provide instances of resolvers
for simple jobs.
|
Package com.ihr.xbrl.resolvers Description
This package contains classes that are able to do clever but simple things like infer the company name
from a specific fact item in the xbrl report.
The functionality included in this package contains the following characteristics:
- It may fail, not raising unexpected exceptions but, for example, for been able to obtain the company
name if the instance document does not contains the required fact
- Components may be pluggable. This means, there will be common interfaces and registered objects
that implement the interface. The registered objects can be called until there is a satisfactory response for
the caller.
- It should be easy to detect or predict if a component has done his work or not or can successfully do
his work or not. This is in order to decide which one of the components registered for the same job
will do the work
- Every component must have a role (or a set of roles) components will be classified for all
roles they can perform
- Components can be arranged by priority. Components with higher priority will be asked to perform
a job for a specific role prior to components with lower priority
- There is only one static instance of the resolver. During initialization of the resolver
all classes that are enumerated in the com.ihr.xbrl.resolvers.workers system property are loaded
along with all classes that are in the package of the same name on this jar file. (sealed) so, if
you are added new workers, make sure the class name is enumerated in the system property indicated
above. the separator for classes is a simple comma character.
- Easy to develop. The interfaces and the components on this package will vary project by project and
every year (they may vary with new releases of taxonomies) so the simpler the implementation the better
for later use and maintenance.