XBRLAPI

A Java API for XBRL


Package org.xbrlapi.aspects

Package Specification

See:
          Description

Interface Summary
Aspect Aspect explanation.
AspectHandler  
AspectModel Aspect models
AspectValue Aspect values
AspectValueComparator<T extends AspectValue> Aspect value comparator
Combinations Defines the methods that are available to interact with lists of aspects and lists of their values.
Domain Domain
FactSet Fact Set
Filter Filter
LabelCache Label Cache
LabelHandler  
Labeller Labeller
StoreHandler  
 

Class Summary
AspectImpl Abstract implementation of common aspect methods.
AspectModelImpl Implementation of common aspect model methods.
AspectValueImpl This is a generic aspect value implementation.
Base This is a generic aspect value implementation.
BaseLabeller  
CachingLabeller A generic aspect labeller that uses a caching system.
CombinationsImpl Aspect value combinations implementation
ConceptAspect Concept aspect details
ConceptAspectValue  
ConceptDomain  
ConceptLabeller A labeller for the concept aspect based upon XBRL labels and generic XBRL labels.
DomainImpl  
EntityAspect Entity aspect details
EntityAspectValue  
EntityDomain  
EntityLabeller A labeller for the entity aspect based upon generic XBRL labels.
FactSetImpl Fact Set Implementation
FilterImpl  
IDGenerator Generates semantic IDs based on element content of segment/scenario/typed dimension structures.
LabellerImpl A generic labeller that returns aspect IDs as the aspect labels and that returns aspect value IDs as the aspect value labels.
LocationAspect Location aspect details
LocationAspectValue  
LocationDomain  
LocationLabeller A labeller for the location aspect based upon generic XBRL labels.
MemoryLabelCache Provides an in-memory label caching system.
PeriodAspect Period aspect details
PeriodAspectValue  
PeriodDomain  
PeriodLabeller A labeller for the period aspect.
PeriodLabellerNaive A labeller for the period aspect.
PeriodLabellerQuarters A labeller for the period aspect that buckets up period values based on the quarter that they end in or occur in.
ScenarioAspect Scenario aspect details
ScenarioAspectValue  
ScenarioDomain  
ScenarioLabeller A labeller for the scenario aspect.
SegmentAspect Segment aspect details
SegmentAspectValue  
SegmentDomain  
SegmentLabeller A labeller for the segment aspect.
StandardAspectModel Standard extender
StandardAspectModelWithMemoryCachingLabellers This is the same as the standard aspect model except that it also sets up the store-based caching aspect value labeller system automatically as part of the constructor.
StandardAspectModelWithStoreCachingLabellers This is the same as the standard aspect model except that it also sets up the store-based caching aspect value labeller system automatically as part of the constructor.
StoreLabelCache Provides a label caching system based on the underlying data store.
TupleAspect Tuple aspect details
TupleAspectValue  
TupleDomain  
TupleLabeller A labeller for the tuple aspect.
UnitAspect Unit aspect details
UnitAspectValue  
UnitDomain  
UnitLabeller A labeller for the unit aspect.
 

Package org.xbrlapi.aspects Description

Package Specification

The aspects package provides comprehensive support of OLAP interactions with XBRL data. Each XBRL fact has a range of characteristics. These characteristics are referred to as aspects. Aspects include but are not limited to, the concept (element) that is used to report values for the fact, the date or date range that the fact reports a value for; and the units of measurement - for numeric facts.

However, aspects are only limited by the imagination of users. For example, an aspect might be the first letter of the reporting concept's standard english label. Another aspect might be the extended link role of the presentation network that includes the reporting concept as a node. For this reason, aspects are extensible such that new aspects to be defined, as required, to extend the range of OLAP structures that can be used to analyse XBRL data.

To define a new aspect, you must provide the aspect implementation and the associated aspect value implementation. You also need to define an aspect value domain implementation to define thedomain of values for the custom aspect.

Aspects can be organised into groups and this is done by defining aspect models. Aspects in a model can be put into ordered groups, identified as axes. Aspect value combinations define combinations of values for the aspects in a given axis of an aspect model. The aspect values that are combined are determined outside of the combinations object and are generally based on a set of facts, aspect domains, or a combination of the two.

Fact sets are a combination of an aspect model, that defines the dimensions of the cube, a domain for each aspect, and a set of facts, each of which may map to a point defined by the aspect value space. Fact sets keep track of which aspect value, if any, in each domain each fact maps to. This information can be cached for performance purposes.

The caching of aspect values and all the various information about labels etc by locale/role choice etc is separable from the implementation of aspects so that you can swap in and out various caching strategies to achieve the desired point in the complexity/performance tradeoff.

xbrlapi.org Java library providing XBRL functionality Copyright (C) 2005, Geoffrey Shuetrim (geoff@galexy.net)

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License (http://www.gnu.org/licenses/lgpl.html), or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Get Java XBRL API implementation at SourceForge.net.