Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## es.inteco.xbrl.lenlocpenloc.transform
Class TransformerHelper

    java.lang.Object
      es.inteco.xbrl.lenlocpenloc.transform.TransformerHelper

    public abstract class TransformerHelper

extends java.lang.Object

Esta clase contiene métodos de utilidad y de apoyo para los procesos de transformación.
Proyecto: API XBRL-LENLOCPENLOC2010 - Grupo de utilidades y librerías en código abierto para facilitar la integración del formato XBRL en las herramientas software de gestión de terceros aislándose de la complejidad en el procesamiento del modelo de datos de las taxonomías. Ayudando de esta forma a las entidades locales en la labor de realización de informes XBRL y asegurar el éxito en el reporte de presupuestos y liquidación de presupuestos de las entidades locales en formato XBRL

Version:
  1.0, 24/06/2009
Author:
  difusioncalidad@inteco.es

Constructor Summary
`TransformerHelper()`

Method Summary
`static void` | `checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable, Item item, org.apache.log4j.Logger logger)` Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
`static void` | `checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable, Item item, org.apache.log4j.Logger logger, java.util.ArrayList<java.lang.String> loggerTraceList)` Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
`static void` | `checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable, java.lang.StringBuffer duplicateItemErrors, ConceptMap conceptMap, Item item, org.apache.log4j.Logger logger)` Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
`static void` | `checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable, java.lang.StringBuffer duplicateItemErrors, ConceptMap conceptMap, Item item, org.apache.log4j.Logger logger, java.util.ArrayList<java.lang.String> loggerTraceList)` Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
`static void` | `checkDuplicateRows(java.util.Hashtable<java.lang.String,Row> rowTable, Row row, org.apache.log4j.Logger logger, java.util.ArrayList<java.lang.String> loggerTraceList)` Comprueba si el row pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
`static boolean` | `checkItemInModule(java.lang.String itemID, java.lang.String reportID, java.lang.String moduleID, ConfigurationManager configM, java.lang.String dimension, java.lang.String member, org.apache.log4j.Logger logger, java.lang.StringBuffer factsInBadContext)` Comprueba si el identificador de un item dado está en el mismo módulo que el identificador de módulo moduleID.
`static boolean` | `checkItemInModule(java.lang.String itemID, java.lang.String reportID, java.lang.String moduleID, ConfigurationManager configM, java.lang.String dimension, java.lang.String member, org.apache.log4j.Logger logger, java.lang.StringBuffer factsInBadContext, java.util.ArrayList<java.lang.String> loggerTraceList)` Comprueba si el identificador de un item dado está en el mismo módulo que el identificador de módulo moduleID.
`static void` | `classifyContexts(java.util.HashMap<java.lang.String,IXbrlContext> contextTable, java.util.HashMap<java.lang.String,IXbrlContext> durationContexts, java.util.HashMap<java.lang.String,IXbrlContext> instandContexts)` Dada una tabla de objetos encapsuladores de contextos IXbrlContext, este método los clasifica en otras dos tablas de salida según su tipo de periodo (duration o instant).
`static IXbrlFact` | `createFact(ConceptMap info, Item item, boolean isTuple)` Dado un item y un info, crea un elemento XbrlTuple si isTuple es cierto y un XbrlFact si es falso.
`static java.lang.String` | `getContextID(java.lang.String prefix, java.lang.String moduleID, org.exolab.castor.types.Date reportingDate, java.lang.String periodType)` Obtiene el identificador de un contexto XBRL.
`static java.lang.String` | `getContextID(java.lang.String prefix, java.lang.String moduleID, org.exolab.castor.types.Date reportingDate, java.lang.String periodType, java.lang.String dimensionValue, java.lang.String dimension, java.lang.String typedMemberValue)` Obtiene el identificador que para un contexto dimensional XBRL.
`static Member` | `getMemberByIndex(ConceptMap conceptMap, java.lang.String index, java.lang.String typedMemberValue)` Obtiene un miembro, buscándolo en la lista de de Members de un conceptMap dimensional, mediante el identificador del member.
`static Row` | `getRow(Table table, java.lang.String indexRow, java.lang.String typedValue)` Busca un row en un table a través de un index dado.
`static void` | `loadItems(Item[] itemList, java.util.Hashtable<java.lang.String,Item> itemTable)` Carga los items contenidos en el array itemList sobre la tabla itemTable, indexados por el id del item.
`static void` | `marshalReport(java.io.OutputStreamWriter osWriterResult, Report report)` Serializa un Report en un Writer dado por el atributo osWriterResult, añadiendo el schemalocation configurado para los Reports.
`static void` | `marshalReport(java.lang.String outputPath, Report report)` Serializa un Report en un path dado por el atributo outputPath, añadiendo el schemalocation configurado para los Reports.
`static void` | `sortTableRows(Report report)` Ordena la tabla de rows de un report por su index.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TransformerHelper

    public TransformerHelper()

Method Detail

### checkDuplicateItems

    public static final void checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable,
                                                 java.lang.StringBuffer duplicateItemErrors,
                                                 ConceptMap conceptMap,
                                                 Item item,
                                                 org.apache.log4j.Logger logger,
                                                 java.util.ArrayList<java.lang.String> loggerTraceList)

  Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
  En el caso de que el item exista pero tenga un valor diferente se dejará un error en el buffer duplicateItemErrors y una traza de error a través del logger. En cambio, si los valores son iguales, sólo se dejará un warning a través del logger.

  Parameters:
    `itemTable` - tabla de items donde se comprobará si existe el item dado
    `duplicateItemErrors` - buffer en el cual se van concatenando los errores de items duplicados
    `conceptMap` - conceptMap del item.
    `item` - item del cual se quiere comprobar su duplicidad
    `logger` - objeto a través del cual se dejarán las trazas
    `loggerTraceList` - objeto a través del cual se dejarán los warnings o errores que llegan al logger

### checkDuplicateItems

    public static final void checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable,
                                                 java.lang.StringBuffer duplicateItemErrors,
                                                 ConceptMap conceptMap,
                                                 Item item,
                                                 org.apache.log4j.Logger logger)

  Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
  En el caso de que el item exista pero tenga un valor diferente se dejará un error en el buffer duplicateItemErrors y una traza de error a través del logger. En cambio, si los valores son iguales, sólo se dejará un warning a través del logger.

  Parameters:
    `itemTable` - tabla de items donde se comprobará si existe el item dado
    `duplicateItemErrors` - buffer en el cual se van concatenando los errores de items duplicados
    `conceptMap` - conceptMap del item.
    `item` - item del cual se quiere comprobar su duplicidad
    `logger` - objeto a través del cual se dejarán las trazas

### checkDuplicateItems

    public static final void checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable,
                                                 Item item,
                                                 org.apache.log4j.Logger logger,
                                                 java.util.ArrayList<java.lang.String> loggerTraceList)

  Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.

  Parameters:
    `itemTable` - tabla de items donde se comprobará si existe el item dado
    `item` - item del cual se quiere comprobar su duplicidad
    `logger` - objeto a través del cual se dejarán las trazas
    `loggerTraceList` - objeto a través del cual se dejarán los warnings o errores que llegan al logger

### checkDuplicateItems

    public static final void checkDuplicateItems(java.util.Hashtable<java.lang.String,Item> itemTable,
                                                 Item item,
                                                 org.apache.log4j.Logger logger)

  Comprueba si el item pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.
  .

  Parameters:
    `itemTable` - tabla de items donde se comprobará si existe el item dado
    `item` - item del cual se quiere comprobar su duplicidad
    `logger` - objeto a través del cual se dejarán las trazas

### checkDuplicateRows

    public static final void checkDuplicateRows(java.util.Hashtable<java.lang.String,Row> rowTable,
                                                Row row,
                                                org.apache.log4j.Logger logger,
                                                java.util.ArrayList<java.lang.String> loggerTraceList)

  Comprueba si el row pasado como parámetro está duplicado, en cuyo caso deja un log a través del logger dado.

  Parameters:
    `rowTable` - tabla de rows donde se comprobará si existe el row dado
    `row` - row del cual se quiere comprobar su duplicidad
    `logger` - objeto a través del cual se dejarán las trazas
    `loggerTraceList` - objeto a través del cual se dejarán los warnings o errores que llegan al logger

### getRow

    public static final Row getRow(Table table,
                                   java.lang.String indexRow,
                                   java.lang.String typedValue)

  Busca un row en un table a través de un index dado.

  Parameters:
    `table` - referencia al Table
    `indexRow` - índice del row
  Returns:
    row si se encuentra o null en caso contrario

### marshalReport

    public static final void marshalReport(java.lang.String outputPath,
                                           Report report)
                                    throws org.exolab.castor.xml.MarshalException,
                                           org.exolab.castor.xml.ValidationException,
                                           java.io.IOException

  Serializa un Report en un path dado por el atributo outputPath, añadiendo el schemalocation configurado para los Reports.

  Parameters:
    `outputPath` - path en el cual se guardará el report
    `report` - referencia al objeto report que se pretende serializar
  Throws:
    `org.exolab.castor.xml.MarshalException` - Excepción en caso de que no se pueda serializar
    `org.exolab.castor.xml.ValidationException` - Excepción en caso de formato no válido
    `java.io.IOException` - Excepción de entrada y salida

### marshalReport

    public static final void marshalReport(java.io.OutputStreamWriter osWriterResult,
                                           Report report)
                                    throws org.exolab.castor.xml.MarshalException,
                                           org.exolab.castor.xml.ValidationException,
                                           java.io.IOException

  Serializa un Report en un Writer dado por el atributo osWriterResult, añadiendo el schemalocation configurado para los Reports.

  Parameters:
    `osWriterResult` - Writer a través del cual se guardará el report
    `report` - referencia al objeto report que se pretende serializar
  Throws:
    `org.exolab.castor.xml.MarshalException` - Excepción en caso de que no se pueda serializar
    `org.exolab.castor.xml.ValidationException` - Excepción en caso de formato no válido
    `java.io.IOException` - Excepción de entrada y salida

### loadItems

    public static final void loadItems(Item[] itemList,
                                       java.util.Hashtable<java.lang.String,Item> itemTable)

  Carga los items contenidos en el array itemList sobre la tabla itemTable, indexados por el id del item.

  Parameters:
    `itemList` - array de items
    `itemTable` - tabla de items

### createFact

    public static final IXbrlFact createFact(ConceptMap info,
                                             Item item,
                                             boolean isTuple)

  Dado un item y un info, crea un elemento XbrlTuple si isTuple es cierto y un XbrlFact si es falso.

  Parameters:
    `info` - conceptMap con la configuración
    `item` - item con la información para el IXbrlFact
    `isTuple` - indica si es una tupla
  Returns:
    IXbrlFact creado

### checkItemInModule

    public static final boolean checkItemInModule(java.lang.String itemID,
                                                  java.lang.String reportID,
                                                  java.lang.String moduleID,
                                                  ConfigurationManager configM,
                                                  java.lang.String dimension,
                                                  java.lang.String member,
                                                  org.apache.log4j.Logger logger,
                                                  java.lang.StringBuffer factsInBadContext,
                                                  java.util.ArrayList<java.lang.String> loggerTraceList)
                                           throws ConfigException,
                                                  DocumentNotFoundException

  Comprueba si el identificador de un item dado está en el mismo módulo que el identificador de módulo moduleID.
  En caso de que el identificador del módulo es diferente se eleva una excepción indicando el problema.
  Esta comprobación es necesaria para determinar si en un contexto XBRL vienen elementos que pertenecen a diferentes módulos, lo cual no está permitido en LENLOCPENLOC2010.

  Parameters:
    `itemID` - identificador del item
    `reportID` - identificador del report
    `moduleID` - identificador del módulo
    `configM` - objeto para acceder a la configuración
    `dimension` - identificador de la dimension
    `member` - identificador del member
    `logger` - objeto de trazas.
    `factsInBadContext` - variable acumulador de los facts erroneos o en un contexto equivocado
    `loggerTraceList` - lista de warnings o errores generada durante el proceso
  Returns:
    Indicador de si el item está en el module
  Throws:
    `DocumentNotFoundException` - si no se encuentra el fichero
    `ConfigException` - si hay un error de configuración
    `XBRLENLOCException` - eleva un error indicando si el identificador no coincide

### checkItemInModule

    public static final boolean checkItemInModule(java.lang.String itemID,
                                                  java.lang.String reportID,
                                                  java.lang.String moduleID,
                                                  ConfigurationManager configM,
                                                  java.lang.String dimension,
                                                  java.lang.String member,
                                                  org.apache.log4j.Logger logger,
                                                  java.lang.StringBuffer factsInBadContext)
                                           throws ConfigException,
                                                  DocumentNotFoundException

  Comprueba si el identificador de un item dado está en el mismo módulo que el identificador de módulo moduleID.
  En caso de que el identificador del módulo es diferente se eleva una excepción indicando el problema.
  Esta comprobación es necesaria para determinar si en un contexto XBRL vienen elementos que pertenecen a diferentes módulos, lo cual no está permitido en LENLOCPENLOC2010.

  Parameters:
    `itemID` - identificador del item
    `reportID` - identificador del report
    `moduleID` - identificador del módulo
    `configM` - objeto para acceder a la configuración
    `dimension` - identificador de la dimension
    `member` - identificador del member
    `logger` - objeto de trazas.
    `factsInBadContext` - variable acumulador de los facts erroneos o en un contexto equivocado
  Returns:
    Indicador de si el item está en el module
  Throws:
    `DocumentNotFoundException` - si no se encuentra el fichero
    `ConfigException` - eleva un error indicando si el identificador no coincide

### getContextID

    public static final java.lang.String getContextID(java.lang.String prefix,
                                                      java.lang.String moduleID,
                                                      org.exolab.castor.types.Date reportingDate,
                                                      java.lang.String periodType)

  Obtiene el identificador de un contexto XBRL. Este identificador se compone mediante la concatenación de un prefijo dado, el año de reporte, el identificador del módulo que se reporta en dicho contexto y el tipo de periodo.
  Un ejemplo de identificador de contexto sería: Y1_2008_A1_Instant, lo que quiere decir que es un contexto para reportar facts del 2008, del módulo Anexo1 y el periodo es de tipo instante.

  Parameters:
    `prefix` - prefijo que se pondrá al identificador
    `moduleID` - identificador del módulo
    `reportingDate` - fecha de reporting del contexto para el cual se genera el ID
    `periodType` - tipo de periodo
  Returns:
    identificador

### getContextID

    public static final java.lang.String getContextID(java.lang.String prefix,
                                                      java.lang.String moduleID,
                                                      org.exolab.castor.types.Date reportingDate,
                                                      java.lang.String periodType,
                                                      java.lang.String dimensionValue,
                                                      java.lang.String dimension,
                                                      java.lang.String typedMemberValue)

  Obtiene el identificador que para un contexto dimensional XBRL. Este identificador se compone mediante la concatenación de un prefijo dado, el año de reporte, el identificador del módulo que se reporta en dicho contexto y el tipo de periodo y el nombre de la dimensión.
  Un ejemplo de identificador de contexto sería: Y1_2008_A1_Instant_dimension, lo que quiere decir que es un contexto para reportar facts del 2008, del módulo Anexo1 y el periodo es de tipo instante.

  Parameters:
    `prefix` - prefijo que se pondrá al identificador
    `moduleID` - identificador del módulo
    `reportingDate` - fecha de reporting del contexto para el cual se genera el ID
    `periodType` - tipo de periodo
    `dimensionValue` - valor de la dimensión a la que pertenece el contexto
  Returns:
    identificador

### getMemberByIndex

    public static final Member getMemberByIndex(ConceptMap conceptMap,
                                                java.lang.String index,
                                                java.lang.String typedMemberValue)

  Obtiene un miembro, buscándolo en la lista de de Members de un conceptMap dimensional, mediante el identificador del member.

  Parameters:
    `conceptMap` - referencia al conceptMap donde se busca el member
    `index` - identificador del member
  Returns:
    member, si es encontrado o nulo en caso contrario

### classifyContexts

    public static final void classifyContexts(java.util.HashMap<java.lang.String,IXbrlContext> contextTable,
                                              java.util.HashMap<java.lang.String,IXbrlContext> durationContexts,
                                              java.util.HashMap<java.lang.String,IXbrlContext> instandContexts)

  Dada una tabla de objetos encapsuladores de contextos IXbrlContext, este método los clasifica en otras dos tablas de salida según su tipo de periodo (duration o instant).

  Parameters:
    `contextTable` - tabla de contextos de entrada
    `durationContexts` - tabla de contextos duration de salida
    `instandContexts` - tabla de contextos instant de salida

### sortTableRows

    public static final void sortTableRows(Report report)

  Ordena la tabla de rows de un report por su index. Este método es usado previamente a la serialización del report para devolver un XML con los rows ordenados.

  Parameters:
    `report` - report sobre el cual se realizará el orden

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD