net.sf.okapi.common.encoder

## Class XMLEncoder

- java.lang.Object
- - net.sf.okapi.common.encoder.XMLEncoder

- All Implemented Interfaces:
    IEncoder
  Direct Known Subclasses:
    TSEncoder

      public class XMLEncoder
      extends java.lang.Object
      implements IEncoder

  Implements `IEncoder` for XML format.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ESCAPEGT` Parameter flag for escaping the greater-than characters.
    `static java.lang.String` | `ESCAPELINEBREAK` Parameter flag for escaping the line-breaks.
    `static java.lang.String` | `ESCAPENBSP` Parameter flag for escaping the non-breaking space characters.
    `static java.lang.String` | `QUOTEMODE` Parameter flag for defining the quote mode.
    `static java.lang.String` | `QUOTEMODEDEFINED` Parameter flag for indicating that the `QUOTEMODE` is defined.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMLEncoder()`
    `XMLEncoder(java.lang.String encoding, java.lang.String lineBreak, boolean escapeGT, boolean escapeNbsp, boolean escapeLineBreak, int quoteMode)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `encode(char value, EncoderContext context)` Encodes a given character with this encoding.
    `java.lang.String` | `encode(int value, EncoderContext context)` Encodes a given code-point with this encoding.
    `java.lang.String` | `encode(java.lang.String text, EncoderContext context)` Encodes a given text with this encoder.
    `java.nio.charset.CharsetEncoder` | `getCharsetEncoder()` Gets the character set encoder used for this encoder.
    `java.lang.String` | `getEncoding()` Gets the name of the charset encoding to use.
    `java.lang.String` | `getLineBreak()` Gets the line-break to use for this encoder.
    `IParameters` | `getParameters()` Gets the parameters object with all the configuration information specific to this encoder.
    `void` | `setOptions(IParameters params, java.lang.String encoding, java.lang.String lineBreak)` Sets the options for this encoder.
    `java.lang.String` | `toNative(java.lang.String propertyName, java.lang.String value)` Converts any property values from its standard representation to the native representation for this encoder.

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

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

- - ### Field Detail

    - #### ESCAPEGT

          public static final java.lang.String ESCAPEGT

      Parameter flag for escaping the greater-than characters.
      See Also:
        Constant Field Values

    - #### ESCAPENBSP

          public static final java.lang.String ESCAPENBSP

      Parameter flag for escaping the non-breaking space characters.
      See Also:
        Constant Field Values

    - #### ESCAPELINEBREAK

          public static final java.lang.String ESCAPELINEBREAK

      Parameter flag for escaping the line-breaks.
      See Also:
        Constant Field Values

    - #### QUOTEMODEDEFINED

          public static final java.lang.String QUOTEMODEDEFINED

      Parameter flag for indicating that the `QUOTEMODE` is defined.
      See Also:
        Constant Field Values

    - #### QUOTEMODE

          public static final java.lang.String QUOTEMODE

      Parameter flag for defining the quote mode.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XMLEncoder

          public XMLEncoder(java.lang.String encoding,
                    java.lang.String lineBreak,
                    boolean escapeGT,
                    boolean escapeNbsp,
                    boolean escapeLineBreak,
                    int quoteMode)

    - #### XMLEncoder

          public XMLEncoder()

  - ### Method Detail

    - #### setOptions

          public void setOptions(IParameters params,
                        java.lang.String encoding,
                        java.lang.String lineBreak)

      Sets the options for this encoder. This encoder supports the following parameters:
      - escapeGT=true to converts '>' characters to to `&gt;`.
      - escapeNbsp=true to converts non-breaking space to `&#x00a0;`.
      - escapeLineBreak=true to converts line-breaks to `&#10;`.
      Specified by:
        `setOptions` in interface `IEncoder`
      Parameters:
        `params` - the parameters object with all the configuration information specific to this encoder.
        `encoding` - the name of the character set encoding to use.
        `lineBreak` - the type of line break to use.

    - #### encode

          public java.lang.String encode(java.lang.String text,
                                EncoderContext context)

      Description copied from interface: `IEncoder`
      Encodes a given text with this encoder.
      Specified by:
        `encode` in interface `IEncoder`
      Parameters:
        `text` - the text to encode.
        `context` - the context of the text: 0=text, 1=skeleton, 2=inline.
      Returns:
        the encoded text.

    - #### encode

          public java.lang.String encode(char value,
                                EncoderContext context)

      Description copied from interface: `IEncoder`
      Encodes a given character with this encoding.
      Specified by:
        `encode` in interface `IEncoder`
      Parameters:
        `value` - the character to encode.
        `context` - the context of the character: 0=text, 1=skeleton, 2=inline.
      Returns:
        the encoded character 9as a string since it can be now made up of more than one character).

    - #### encode

          public java.lang.String encode(int value,
                                EncoderContext context)

      Description copied from interface: `IEncoder`
      Encodes a given code-point with this encoding. If this method is called from a loop it is assumed that the code point is tested by the caller to know if it is a supplemental one or not and and any index update to skip the low surrogate part of the pair is done on the caller side.
      Specified by:
        `encode` in interface `IEncoder`
      Parameters:
        `value` - the code-point to encode.
        `context` - the context of the character: 0=text, 1=skeleton, 2=inline.
      Returns:
        the encoded character (as a string since it can be now made up of more than one character).

    - #### toNative

          public java.lang.String toNative(java.lang.String propertyName,
                                  java.lang.String value)

      Description copied from interface: `IEncoder`
      Converts any property values from its standard representation to the native representation for this encoder.
      Specified by:
        `toNative` in interface `IEncoder`
      Parameters:
        `propertyName` - the name of the property.
        `value` - the standard value to convert.
      Returns:
        the native representation of the given value.

    - #### getLineBreak

          public java.lang.String getLineBreak()

      Description copied from interface: `IEncoder`
      Gets the line-break to use for this encoder.
      Specified by:
        `getLineBreak` in interface `IEncoder`
      Returns:
        the line-break used for this encoder.

    - #### getCharsetEncoder

          public java.nio.charset.CharsetEncoder getCharsetEncoder()

      Description copied from interface: `IEncoder`
      Gets the character set encoder used for this encoder.
      Specified by:
        `getCharsetEncoder` in interface `IEncoder`
      Returns:
        the character set encoder used for this encoder. This can be null.

    - #### getParameters

          public IParameters getParameters()

      Description copied from interface: `IEncoder`
      Gets the parameters object with all the configuration information specific to this encoder.
      Specified by:
        `getParameters` in interface `IEncoder`
      Returns:
        the parameters object used for this encoder. This can be null.

    - #### getEncoding

          public java.lang.String getEncoding()

      Description copied from interface: `IEncoder`
      Gets the name of the charset encoding to use.
      Specified by:
        `getEncoding` in interface `IEncoder`
      Returns:
        the charset encoding used for this encoder.