net.sf.okapi.common.skeleton

## Class GenericSkeletonWriter

- java.lang.Object
- - net.sf.okapi.common.skeleton.GenericSkeletonWriter

- All Implemented Interfaces:
    ISkeletonWriter

      public class GenericSkeletonWriter
      extends java.lang.Object
      implements ISkeletonWriter

  Implements ISkeletonWriter for the GenericSkeleton skeleton.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `allowEmptyOutputTarget`
    `static java.lang.String` | `ALLOWEMPTYOUTPUTTARGET`
    `protected EncoderManager` | `encoderManager`
    `protected LocaleId` | `inputLoc`
    `protected boolean` | `isMultilingual`
    `protected ILayerProvider` | `layer`
    `protected java.lang.String` | `outputEncoding`
    `protected LocaleId` | `outputLoc`
    `protected java.util.Stack<StorageList>` | `storageStack`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GenericSkeletonWriter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addToReferents(Event event)`
    `void` | `close()` Closes this skeleton writer.
    `protected java.lang.String` | `expandCodeContent(Code code, LocaleId locToUse, EncoderContext context)`
    `protected java.lang.String` | `getContent(ITextUnit tu, LocaleId locToUse, EncoderContext context)` Gets the original content of a given text unit.
    `java.lang.String` | `getContent(TextFragment tf, LocaleId locToUse, EncoderContext context)` Gets the original content of a TextFragment.
    `protected ILayerProvider` | `getLayer()`
    `protected java.lang.String` | `getPropertyValue(INameable resource, java.lang.String name, LocaleId locToUse, EncoderContext context)`
    `protected IReferenceable` | `getReference(java.lang.String id)`
    `protected java.lang.String` | `getString(GenericSkeletonPart part, EncoderContext context)`
    `protected java.lang.String` | `getString(INameable ref, java.lang.String propName, LocaleId locToUse, EncoderContext context)`
    `protected java.lang.String` | `getString(ISkeleton skeleton, EncoderContext context)`
    `protected java.lang.String` | `getString(ITextUnit tu, LocaleId locToUse, EncoderContext context)` Gets the skeleton and the original content of a given text unit.
    `protected java.lang.String` | `getString(StorageList list, LocaleId locToUse, EncoderContext context)`
    `java.lang.String` | `processDocumentPart(DocumentPart resource)` Processes the DOCUMENT_PART event.
    `java.lang.String` | `processEndDocument(Ending resource)` Processes the END_DOCUMENT event.
    `java.lang.String` | `processEndGroup(Ending resource)` Processes the END_GROUP event.
    `java.lang.String` | `processEndSubDocument(Ending resource)` Processes the END_SUBDOCUMENT event.
    `java.lang.String` | `processEndSubfilter(EndSubfilter resource)`
    `java.lang.String` | `processStartDocument(LocaleId outputLocale, java.lang.String outputEncoding, ILayerProvider layer, EncoderManager encoderManager, StartDocument resource)` Processes the START_DOCUMENT event.
    `java.lang.String` | `processStartGroup(StartGroup resource)` Processes the START_GROUP event.
    `java.lang.String` | `processStartSubDocument(StartSubDocument resource)` Processes a START_SUBDOCUMENT event.
    `java.lang.String` | `processStartSubfilter(StartSubfilter resource)`
    `java.lang.String` | `processTextUnit(ITextUnit resource)` Processes the TEXT_UNIT event.
    `void` | `setReferentCopies(int referentCopies)` Sets the number of copies to keep for a referent.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ALLOWEMPTYOUTPUTTARGET

          public static final java.lang.String ALLOWEMPTYOUTPUTTARGET

      See Also:
        Constant Field Values

    - #### inputLoc

          protected LocaleId inputLoc

    - #### outputLoc

          protected LocaleId outputLoc

    - #### layer

          protected ILayerProvider layer

    - #### encoderManager

          protected EncoderManager encoderManager

    - #### storageStack

          protected java.util.Stack<StorageList> storageStack

    - #### isMultilingual

          protected boolean isMultilingual

    - #### allowEmptyOutputTarget

          protected boolean allowEmptyOutputTarget

    - #### outputEncoding

          protected java.lang.String outputEncoding

  - ### Constructor Detail

    - #### GenericSkeletonWriter

          public GenericSkeletonWriter()

  - ### Method Detail

    - #### getReference

          protected IReferenceable getReference(java.lang.String id)

    - #### close

          public void close()

      Description copied from interface: `ISkeletonWriter`
      Closes this skeleton writer.
      Specified by:
        `close` in interface `ISkeletonWriter`

    - #### setReferentCopies

          public void setReferentCopies(int referentCopies)

      Sets the number of copies to keep for a referent. By default one copy is kept and discarded after it is referenced. Some layout may need to refer to the referent more than once, for example when they output both source and target.
      Parameters:
        `referentCopies` - the number of copies to hold (must be at least 1).

    - #### processStartDocument

          public java.lang.String processStartDocument(LocaleId outputLocale,
                                              java.lang.String outputEncoding,
                                              ILayerProvider layer,
                                              EncoderManager encoderManager,
                                              StartDocument resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the START_DOCUMENT event.
      Specified by:
        `processStartDocument` in interface `ISkeletonWriter`
      Parameters:
        `outputLocale` - the output locale.
        `outputEncoding` - the name of the output charset encoding.
        `layer` - the layer provider to use.
        `encoderManager` - the encoder manager to use.
        `resource` - the StartDocument resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processEndDocument

          public java.lang.String processEndDocument(Ending resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the END_DOCUMENT event.
      Specified by:
        `processEndDocument` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the Ending resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processStartSubDocument

          public java.lang.String processStartSubDocument(StartSubDocument resource)

      Description copied from interface: `ISkeletonWriter`
      Processes a START_SUBDOCUMENT event.
      Specified by:
        `processStartSubDocument` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the StartSubDocument resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processEndSubDocument

          public java.lang.String processEndSubDocument(Ending resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the END_SUBDOCUMENT event.
      Specified by:
        `processEndSubDocument` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the Ending resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processStartGroup

          public java.lang.String processStartGroup(StartGroup resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the START_GROUP event.
      Specified by:
        `processStartGroup` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the StartGroup resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processEndGroup

          public java.lang.String processEndGroup(Ending resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the END_GROUP event.
      Specified by:
        `processEndGroup` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the Ending resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processStartSubfilter

          public java.lang.String processStartSubfilter(StartSubfilter resource)

      Specified by:
        `processStartSubfilter` in interface `ISkeletonWriter`

    - #### processEndSubfilter

          public java.lang.String processEndSubfilter(EndSubfilter resource)

      Specified by:
        `processEndSubfilter` in interface `ISkeletonWriter`

    - #### processTextUnit

          public java.lang.String processTextUnit(ITextUnit resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the TEXT_UNIT event.
      Specified by:
        `processTextUnit` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the TextUnit resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### processDocumentPart

          public java.lang.String processDocumentPart(DocumentPart resource)

      Description copied from interface: `ISkeletonWriter`
      Processes the DOCUMENT_PART event.
      Specified by:
        `processDocumentPart` in interface `ISkeletonWriter`
      Parameters:
        `resource` - the DocumentPart resource associated with the event.
      Returns:
        the string output corresponding to this event.

    - #### getString

          protected java.lang.String getString(ISkeleton skeleton,
                                   EncoderContext context)

    - #### getString

          protected java.lang.String getString(GenericSkeletonPart part,
                                   EncoderContext context)

    - #### getString

          protected java.lang.String getString(INameable ref,
                                   java.lang.String propName,
                                   LocaleId locToUse,
                                   EncoderContext context)

    - #### getString

          protected java.lang.String getString(ITextUnit tu,
                                   LocaleId locToUse,
                                   EncoderContext context)

      Gets the skeleton and the original content of a given text unit.
      Parameters:
        `tu` - The text unit to process.
        `locToUse` - locale to output. Use null for the source, or a LocaleId object for the target locales.
        `context` - Context flag: 0=text, 1=skeleton, 2=in-line.
      Returns:
        The string representation of the text unit.

    - #### getContent

          protected java.lang.String getContent(ITextUnit tu,
                                    LocaleId locToUse,
                                    EncoderContext context)

      Gets the original content of a given text unit.
      Parameters:
        `tu` - The text unit to process.
        `locToUse` - locale to output. Use null for the source, or the locale for the target locales.
        `context` - Context flag: 0=text, 1=skeleton, 2=inline.
      Returns:
        The string representation of the text unit content.

    - #### getContent

          public java.lang.String getContent(TextFragment tf,
                                    LocaleId locToUse,
                                    EncoderContext context)

      Gets the original content of a TextFragment.
      Parameters:
        `tf` - the TextFragment to process.
        `locToUse` - locale to output. Use null for the source, or the locale for the target locales. This is used for referenced content in inline codes.
        `context` - Context flag: 0=text, 1=skeleton, 2=inline.
      Returns:
        The string representation of the text unit content.

    - #### expandCodeContent

          protected java.lang.String expandCodeContent(Code code,
                                           LocaleId locToUse,
                                           EncoderContext context)

    - #### getString

          protected java.lang.String getString(StorageList list,
                                   LocaleId locToUse,
                                   EncoderContext context)

    - #### getPropertyValue

          protected java.lang.String getPropertyValue(INameable resource,
                                          java.lang.String name,
                                          LocaleId locToUse,
                                          EncoderContext context)

    - #### addToReferents

          public void addToReferents(Event event)

    - #### getLayer

          protected ILayerProvider getLayer()