Package 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
  Description
  `static final String`
  `ATT_CLASS`
  `static final String`
  `ATT_ELEMENT_TYPE`
  `static final String`
  `ATT_NAME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConversionHelp()`

- ## Method Summary

  Modifier and Type
  Method
  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(org.apache.jmeter.testelement.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(org.apache.jmeter.testelement.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 Details

  - ### 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 Details

  - ### ConversionHelp

    public ConversionHelp()

- ## Method Details

  - ### 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(org.apache.jmeter.testelement.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(org.apache.jmeter.testelement.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