com.batavia.xbrl.taxonomy.dimension
Interface DimensionalTaxonomyGenerator

All Superinterfaces:
DimensionalTaxonomyCreator, TaxonomyCreator

public interface DimensionalTaxonomyGenerator
extends DimensionalTaxonomyCreator

Interface for proposing dimensional taxonomy content and generating documents that deliver the proposed dimensional DTS.
Lose control over document content.
Steps:
1. Find and or create all required types through TaxonomyCreator interface.
2. Propose all dimensional content.
3. Call generate.
4. Explore and or modify through TaxonomyCreator interface and or DimensionalTaxonomyCreator interface.
5. Obtain documents for DTS through TaxonomyCreator interface and store them.

Copyright 2006 J2R BV, The Netherlands.

Part of Licensed Materials.

www.batavia-xbrl.com

Author:
Ron van Ardenne

Method Summary
 void generate(boolean presentationFollowsDomains)
          Take all proposals and generate the following documents

1.
 void proposeDefaultDomainMember(FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, FullyQualifiedName targetNameExplicitDomainMember, FullyQualifiedName substitutionHeadNameExplicitDomainMember, FullyQualifiedName typeNameExplicitDomainMember, java.lang.String labelTextExplicitDomainMember, java.lang.String languageCodeExplicitDomainMember)
          Use non-null arguments for dimension to select one or more items and propose an explicit domainmember to be available as defaultdomain member for each of the dimensions.
 void proposeExplicitDimension(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, java.lang.String labelTextExplicitDimension, java.lang.String languageCodeExplicitDimension)
          Use non-null arguments for primary item to select one or more basesets and propose an explicit dimension to be available in each of the basesets.
 void proposeExplicitDomain(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, FullyQualifiedName targetNameExplicitDomain, FullyQualifiedName substitutionHeadNameExplicitDomain, FullyQualifiedName typeNameExplicitDomain, java.lang.String labelTextExplicitDomain, java.lang.String languageCodeExplicitDomain)
          Use non-null arguments for primary item and dimension to select one or more basesets and propose an explicit domain to be available in each of the basesets.
 void proposeExplicitDomainMember(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, FullyQualifiedName targetNameExplicitDomain, FullyQualifiedName substitutionHeadNameExplicitDomain, FullyQualifiedName typeNameExplicitDomain, FullyQualifiedName targetNameExplicitDomainMember, FullyQualifiedName substitutionHeadNameExplicitDomainMember, FullyQualifiedName typeNameExplicitDomainMember, java.lang.String labelTextExplicitDomainMember, java.lang.String languageCodeExplicitDomainMember)
          Use non-null arguments for primary item and dimension to select one or more basesets and propose an explicit domainmember to be available in each of the basesets.
 void proposePrimaryItem(FullyQualifiedName parentNamePrimaryDomain, FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, java.lang.String labelTextPrimaryItem, java.lang.String languageCodePrimaryItem)
          Propose a new primary item, optionally as a domainmember of another primary item.
 void proposeProhibitExplicitDomain(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, FullyQualifiedName targetNameExplicitDomain, FullyQualifiedName substitutionHeadNameExplicitDomain, FullyQualifiedName typeNameExplicitDomain)
          Use non-null arguments for primary item to select one or more basesets.
 void proposeProhibitExplicitDomainMember(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameExplicitDimension, FullyQualifiedName substitutionHeadNameExplicitDimension, FullyQualifiedName typeNameExplicitDimension, FullyQualifiedName targetNameExplicitDomain, FullyQualifiedName substitutionHeadNameExplicitDomain, FullyQualifiedName typeNameExplicitDomain, FullyQualifiedName targetNameExplicitDomainMember, FullyQualifiedName substitutionHeadNameExplicitDomainMember, FullyQualifiedName typeNameExplicitDomainMember)
          Use non-null arguments for primary item to select one or more basesets.
 void proposeProhibitTypedDomain(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameTypedDimension, FullyQualifiedName substitutionHeadNameTypedDimension, FullyQualifiedName typeNameTypedDimension, FullyQualifiedName targetNameTypedDomain, FullyQualifiedName substitutionHeadNameTypedDomain, FullyQualifiedName typeNameTypedDomain)
          Use non-null arguments for primary item to select one or more basesets.
 void proposeTypedDimensionDomain(FullyQualifiedName targetNamePrimaryItem, FullyQualifiedName substitutionHeadNamePrimaryItem, FullyQualifiedName typeNamePrimaryItem, FullyQualifiedName targetNameTypedDimension, FullyQualifiedName substitutionHeadNameTypedDimension, FullyQualifiedName typeNameTypedDimension, java.lang.String labelTextTypedDimension, java.lang.String languageCodeTypedDimension, FullyQualifiedName targetNameTypedDomain, FullyQualifiedName substitutionHeadNameTypedDomain, FullyQualifiedName typeNameTypedDomain)
          Use non-null arguments for primary item to select one or more basesets and propose an types dimension and its domain to be available in each of the basesets.
 
Methods inherited from interface com.batavia.xbrl.taxonomy.dimension.DimensionalTaxonomyCreator
createDefaultDomainMemberRelation, createDomainMemberRelation, createExplicitDimensionDomainRelation, createExplicitDimensionItem, createHasHypercubeRelation, createHypercubeDimensionRelation, createHypercubeItem, createPrimaryDomainMemberRelation, createTypedDimensionItem, createTypedDomain, findDefaultDomainMemberRelations, findDomainMemberRelations, findExplicitDimensionDomainRelations, findExplicitDimensionItems, findHasHypercubeRelations, findHypercubeDimensionRelations, findHypercubeItems, findPrimaryDomainMemberRelations, findPrimaryRelatedDomainItems, findPrimaryRelatedDomainMemberItems, findRelatedDefaultDomainMemberItems, findRelatedDimensionItems, findRelatedDimensionItems, findRelatedDomainItems, findRelatedDomainMemberItems, findRelatedExplicitDimensionItems, findRelatedExplicitDomainItems, findRelatedHypercubeItems, findRelatedHypercubes, findRelatedPrimaryItems, findTypedDimensionItems, findTypedDomains, getCreatedDimensionalTaxonomySchemaDocument, getCreatedTemplateTaxonomySchemaDocument, removeDefaultDomainMemberRelation, removeDomainMemberRelation, removeExplicitDimensionDomainRelation, removeHasHypercubeRelation, removeHypercubeDimensionRelation, removePrimaryDomainMemberRelation
 
Methods inherited from interface com.batavia.xbrl.taxonomy.TaxonomyCreator
createArcroleType, createItemConcept, createLabel, createLabelRelation, createReference, createReferencePart, createReferencePartDeclaration, createReferenceRelation, createRelation, createRoleType, createTupleConcept, createType, createType, discoverTaxonomySet, findArcroleTypes, findItemConcepts, findLabels, findReferencePartDeclartaions, findReferenceParts, findReferences, findRelatedChildConcepts, findRelatedParentConcepts, findRelations, findRoleTypes, findTupleConcepts, findTypes, getCreatedLinkbaseDocuments, getCreatedPrimaryTaxonomySchemaDocument, getName, getNameSpace, removeLabelRelation, removeReferenceRelation, removeRelation
 

Method Detail

proposePrimaryItem

void proposePrimaryItem(FullyQualifiedName parentNamePrimaryDomain,
                        FullyQualifiedName targetNamePrimaryItem,
                        FullyQualifiedName substitutionHeadNamePrimaryItem,
                        FullyQualifiedName typeNamePrimaryItem,
                        java.lang.String labelTextPrimaryItem,
                        java.lang.String languageCodePrimaryItem)
Propose a new primary item, optionally as a domainmember of another primary item.

Parameters:
parentNamePrimaryDomain -
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
labelTextPrimaryItem -
languageCodePrimaryItem -

proposeExplicitDimension

void proposeExplicitDimension(FullyQualifiedName targetNamePrimaryItem,
                              FullyQualifiedName substitutionHeadNamePrimaryItem,
                              FullyQualifiedName typeNamePrimaryItem,
                              FullyQualifiedName targetNameExplicitDimension,
                              FullyQualifiedName substitutionHeadNameExplicitDimension,
                              FullyQualifiedName typeNameExplicitDimension,
                              java.lang.String labelTextExplicitDimension,
                              java.lang.String languageCodeExplicitDimension)
Use non-null arguments for primary item to select one or more basesets and propose an explicit dimension to be available in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
labelTextExplicitDimension -
languageCodeExplicitDimension -

proposeExplicitDomain

void proposeExplicitDomain(FullyQualifiedName targetNamePrimaryItem,
                           FullyQualifiedName substitutionHeadNamePrimaryItem,
                           FullyQualifiedName typeNamePrimaryItem,
                           FullyQualifiedName targetNameExplicitDimension,
                           FullyQualifiedName substitutionHeadNameExplicitDimension,
                           FullyQualifiedName typeNameExplicitDimension,
                           FullyQualifiedName targetNameExplicitDomain,
                           FullyQualifiedName substitutionHeadNameExplicitDomain,
                           FullyQualifiedName typeNameExplicitDomain,
                           java.lang.String labelTextExplicitDomain,
                           java.lang.String languageCodeExplicitDomain)
Use non-null arguments for primary item and dimension to select one or more basesets and propose an explicit domain to be available in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
targetNameExplicitDomain -
substitutionHeadNameExplicitDomain -
typeNameExplicitDomain -
labelTextExplicitDomain -
languageCodeExplicitDomain -

proposeExplicitDomainMember

void proposeExplicitDomainMember(FullyQualifiedName targetNamePrimaryItem,
                                 FullyQualifiedName substitutionHeadNamePrimaryItem,
                                 FullyQualifiedName typeNamePrimaryItem,
                                 FullyQualifiedName targetNameExplicitDimension,
                                 FullyQualifiedName substitutionHeadNameExplicitDimension,
                                 FullyQualifiedName typeNameExplicitDimension,
                                 FullyQualifiedName targetNameExplicitDomain,
                                 FullyQualifiedName substitutionHeadNameExplicitDomain,
                                 FullyQualifiedName typeNameExplicitDomain,
                                 FullyQualifiedName targetNameExplicitDomainMember,
                                 FullyQualifiedName substitutionHeadNameExplicitDomainMember,
                                 FullyQualifiedName typeNameExplicitDomainMember,
                                 java.lang.String labelTextExplicitDomainMember,
                                 java.lang.String languageCodeExplicitDomainMember)
Use non-null arguments for primary item and dimension to select one or more basesets and propose an explicit domainmember to be available in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
targetNameExplicitDomain -
substitutionHeadNameExplicitDomain -
typeNameExplicitDomain -
targetNameExplicitDomainMember -
substitutionHeadNameExplicitDomainMember -
typeNameExplicitDomainMember -
labelTextExplicitDomainMember -
languageCodeExplicitDomainMember -

proposeDefaultDomainMember

void proposeDefaultDomainMember(FullyQualifiedName targetNameExplicitDimension,
                                FullyQualifiedName substitutionHeadNameExplicitDimension,
                                FullyQualifiedName typeNameExplicitDimension,
                                FullyQualifiedName targetNameExplicitDomainMember,
                                FullyQualifiedName substitutionHeadNameExplicitDomainMember,
                                FullyQualifiedName typeNameExplicitDomainMember,
                                java.lang.String labelTextExplicitDomainMember,
                                java.lang.String languageCodeExplicitDomainMember)
Use non-null arguments for dimension to select one or more items and propose an explicit domainmember to be available as defaultdomain member for each of the dimensions.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
targetNameExplicitDomainMember -
substitutionHeadNameExplicitDomainMember -
typeNameExplicitDomainMember -
labelTextExplicitDomainMember -
languageCodeExplicitDomainMember -

proposeTypedDimensionDomain

void proposeTypedDimensionDomain(FullyQualifiedName targetNamePrimaryItem,
                                 FullyQualifiedName substitutionHeadNamePrimaryItem,
                                 FullyQualifiedName typeNamePrimaryItem,
                                 FullyQualifiedName targetNameTypedDimension,
                                 FullyQualifiedName substitutionHeadNameTypedDimension,
                                 FullyQualifiedName typeNameTypedDimension,
                                 java.lang.String labelTextTypedDimension,
                                 java.lang.String languageCodeTypedDimension,
                                 FullyQualifiedName targetNameTypedDomain,
                                 FullyQualifiedName substitutionHeadNameTypedDomain,
                                 FullyQualifiedName typeNameTypedDomain)
Use non-null arguments for primary item to select one or more basesets and propose an types dimension and its domain to be available in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameTypedDimension -
substitutionHeadNameTypedDimension -
typeNameTypedDimension -
labelTextTypedDimension -
languageCodeTypedDimension -
targetNameTypedDomain -
substitutionHeadNameTypedDomain -
typeNameTypedDomain -

proposeProhibitExplicitDomain

void proposeProhibitExplicitDomain(FullyQualifiedName targetNamePrimaryItem,
                                   FullyQualifiedName substitutionHeadNamePrimaryItem,
                                   FullyQualifiedName typeNamePrimaryItem,
                                   FullyQualifiedName targetNameExplicitDimension,
                                   FullyQualifiedName substitutionHeadNameExplicitDimension,
                                   FullyQualifiedName typeNameExplicitDimension,
                                   FullyQualifiedName targetNameExplicitDomain,
                                   FullyQualifiedName substitutionHeadNameExplicitDomain,
                                   FullyQualifiedName typeNameExplicitDomain)
Use non-null arguments for primary item to select one or more basesets.
Use non-null arguments for dimension item to select one or more dimensions.
Use non-null arguments for domain item to select one or more domains.
Propose to prohibit these explicit domains, including their domainmembers, for the found dimensions in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
targetNameExplicitDomain -
substitutionHeadNameExplicitDomain -
typeNameExplicitDomain -

proposeProhibitExplicitDomainMember

void proposeProhibitExplicitDomainMember(FullyQualifiedName targetNamePrimaryItem,
                                         FullyQualifiedName substitutionHeadNamePrimaryItem,
                                         FullyQualifiedName typeNamePrimaryItem,
                                         FullyQualifiedName targetNameExplicitDimension,
                                         FullyQualifiedName substitutionHeadNameExplicitDimension,
                                         FullyQualifiedName typeNameExplicitDimension,
                                         FullyQualifiedName targetNameExplicitDomain,
                                         FullyQualifiedName substitutionHeadNameExplicitDomain,
                                         FullyQualifiedName typeNameExplicitDomain,
                                         FullyQualifiedName targetNameExplicitDomainMember,
                                         FullyQualifiedName substitutionHeadNameExplicitDomainMember,
                                         FullyQualifiedName typeNameExplicitDomainMember)
Use non-null arguments for primary item to select one or more basesets.
Use non-null arguments for dimension item to select one or more dimensions.
Use non-null arguments for domain item to select one or more domains.
Use non-null arguments for domainmember item to select one or more domainmembers.
Propose to prohibit these explicit domainmembers, for the found domains of the found dimensions in each of the basesets.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameExplicitDimension -
substitutionHeadNameExplicitDimension -
typeNameExplicitDimension -
targetNameExplicitDomain -
substitutionHeadNameExplicitDomain -
typeNameExplicitDomain -
targetNameExplicitDomainMember -
substitutionHeadNameExplicitDomainMember -
typeNameExplicitDomainMember -

proposeProhibitTypedDomain

void proposeProhibitTypedDomain(FullyQualifiedName targetNamePrimaryItem,
                                FullyQualifiedName substitutionHeadNamePrimaryItem,
                                FullyQualifiedName typeNamePrimaryItem,
                                FullyQualifiedName targetNameTypedDimension,
                                FullyQualifiedName substitutionHeadNameTypedDimension,
                                FullyQualifiedName typeNameTypedDimension,
                                FullyQualifiedName targetNameTypedDomain,
                                FullyQualifiedName substitutionHeadNameTypedDomain,
                                FullyQualifiedName typeNameTypedDomain)
Use non-null arguments for primary item to select one or more basesets.
Use non-null arguments for dimension item to select one or more dimensions.
propose a prohibited domain to be available in each of the basesets for those dimensions.
If an argument is null, results are not filtered on that argument and all members in a population match.

Parameters:
targetNamePrimaryItem -
substitutionHeadNamePrimaryItem -
typeNamePrimaryItem -
targetNameTypedDimension -
substitutionHeadNameTypedDimension -
typeNameTypedDimension -
targetNameTypedDomain -
substitutionHeadNameTypedDomain -
typeNameTypedDomain -

generate

void generate(boolean presentationFollowsDomains)
Take all proposals and generate the following documents

1. Primary taxonomy, contains primary concepts.
2. Dimensional taxonomy, contains hypercubes, dimensions, domains and their members.
3. Linkabses for definition, presentation and calculation links, contains relations.
4. Template taxonomy, relates primary and dimensional taxonomies with linkbases.

use the TaxonomyCreator interfaces to obatin these documents.