org.apache.jmeter.save.converters

## Class ConversionHelp

- java.lang.Object
- - org.apache.jmeter.save.converters.ConversionHelp

-     public class ConversionHelp
      extends Object

  Utility conversion routines for use with XStream

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ATT_CLASS`
    `static String` | `ATT_ELEMENT_TYPE`
    `static String` | `ATT_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConversionHelp()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `cdata(byte[] chars, String encoding)` Embed an array of bytes as a string with `encoding` in a xml-cdata section
    `static String` | `decode(String p)` Decode a string if `inVersion` equals `1.0`
    `static String` | `encode(String p)` Encode a string (if necessary) for output to a JTL file.
    `static String` | `getPropertyName(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context)` Get the property name, updating it if necessary using `NameUpdater`.
    `static String` | `getPropertyValue(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context, String name)` Get the property value, updating it if necessary using `NameUpdater`.
    `static String` | `getUpgradePropertyName(String name, com.thoughtworks.xstream.converters.UnmarshallingContext context)` Update a property name using `NameUpdater`.
    `static String` | `getUpgradePropertyValue(String name, String value, com.thoughtworks.xstream.converters.UnmarshallingContext context)` Update a property value using `NameUpdater.getCurrentName(String, String, String)`.
    `static boolean` | `isSpecialProperty(String name)` Check whether `name` specifies a special property
    `static void` | `restoreSpecialProperties(TestElement testElement, com.thoughtworks.xstream.io.HierarchicalStreamReader reader)` Restore the special properties: TestElement.GUI_CLASS TestElement.TEST_CLASS TestElement.NAME TestElement.ENABLED
    `static void` | `saveSpecialProperties(TestElement testElement, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer)` Save the special properties: TestElement.GUI_CLASS TestElement.TEST_CLASS TestElement.NAME TestElement.ENABLED
    `static void` | `setInVersion(String v)`
    `static void` | `setOutVersion(String v)`

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

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

- - ### Field Detail

    - #### ATT_CLASS

          public static final String ATT_CLASS

      See Also:
        Constant Field Values

    - #### ATT_NAME

          public static final String ATT_NAME

      See Also:
        Constant Field Values

    - #### ATT_ELEMENT_TYPE

          public static final String ATT_ELEMENT_TYPE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ConversionHelp

          public ConversionHelp()

  - ### Method Detail

    - #### setInVersion

          public static void setInVersion(String v)

    - #### setOutVersion

          public static void setOutVersion(String v)

    - #### encode

          public static String encode(String p)

      Encode a string (if necessary) for output to a JTL file. Strings are only encoded if the output version is 1.0, but nulls are always converted to the empty string.
      Parameters:
        `p` - string to encode
      Returns:
        encoded string (will never be null)

    - #### decode

          public static String decode(String p)

      Decode a string if `inVersion` equals `1.0`
      Parameters:
        `p` - the string to be decoded
      Returns:
        the newly decoded string

    - #### cdata

          public static String cdata(byte[] chars,
                                     String encoding)
                              throws UnsupportedEncodingException

      Embed an array of bytes as a string with `encoding` in a xml-cdata section
      Parameters:
        `chars` - bytes to be encoded and embedded
        `encoding` - the encoding to be used
      Returns:
        the encoded string embedded in a xml-cdata section
      Throws:
        `UnsupportedEncodingException` - when the bytes can not be encoded using `encoding`

    - #### isSpecialProperty

          public static boolean isSpecialProperty(String name)

      Check whether `name` specifies a special property
      Parameters:
        `name` - the name of the property to be checked
      Returns:
        `true` if `name` is the name of a special property

    - #### getPropertyName

          public static String getPropertyName(com.thoughtworks.xstream.io.HierarchicalStreamReader reader,
                                               com.thoughtworks.xstream.converters.UnmarshallingContext context)

      Get the property name, updating it if necessary using `NameUpdater`.
      Parameters:
        `reader` - where to read the name attribute
        `context` - the unmarshalling context
      Returns:
        the property name, may be null if the property has been deleted.
      See Also:
        `getUpgradePropertyName(String, UnmarshallingContext)`

    - #### getPropertyValue

          public static String getPropertyValue(com.thoughtworks.xstream.io.HierarchicalStreamReader reader,
                                                com.thoughtworks.xstream.converters.UnmarshallingContext context,
                                                String name)

      Get the property value, updating it if necessary using `NameUpdater`. Do not use for GUI_CLASS or TEST_CLASS.
      Parameters:
        `reader` - where to read the value
        `context` - the unmarshalling context
        `name` - the name of the property
      Returns:
        the property value, updated if necessary.
      See Also:
        `getUpgradePropertyValue(String, String, UnmarshallingContext)`

    - #### getUpgradePropertyName

          public static String getUpgradePropertyName(String name,
                                                      com.thoughtworks.xstream.converters.UnmarshallingContext context)

      Update a property name using `NameUpdater`.
      Parameters:
        `name` - the original property name
        `context` - the unmarshalling context
      Returns:
        the property name, may be null if the property has been deleted.

    - #### getUpgradePropertyValue

          public static String getUpgradePropertyValue(String name,
                                                       String value,
                                                       com.thoughtworks.xstream.converters.UnmarshallingContext context)

      Update a property value using `NameUpdater.getCurrentName(String, String, String)`. Do not use for GUI_CLASS or TEST_CLASS.
      Parameters:
        `name` - the original property name
        `value` - the original property value
        `context` - the unmarshalling context
      Returns:
        the property value, updated if necessary

    - #### saveSpecialProperties

          public static void saveSpecialProperties(TestElement testElement,
                                                   com.thoughtworks.xstream.io.HierarchicalStreamWriter writer)

      Save the special properties:
      - TestElement.GUI_CLASS
      - TestElement.TEST_CLASS
      - TestElement.NAME
      - TestElement.ENABLED
      Parameters:
        `testElement` - element for which the special properties should be saved
        `writer` - `HierarchicalStreamWriter` in which the special properties should be saved

    - #### restoreSpecialProperties

          public static void restoreSpecialProperties(TestElement testElement,
                                                      com.thoughtworks.xstream.io.HierarchicalStreamReader reader)

      Restore the special properties:
      - TestElement.GUI_CLASS
      - TestElement.TEST_CLASS
      - TestElement.NAME
      - TestElement.ENABLED
      Parameters:
        `testElement` - in which the special properties should be restored
        `reader` - `HierarchicalStreamReader` from which the special properties should be restored

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.