# 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(HierarchicalStreamReader reader, UnmarshallingContext context)`
Get the property name, updating it if necessary using `NameUpdater`.
`static String`
`getPropertyValue(HierarchicalStreamReader reader, UnmarshallingContext context, String name)`
Get the property value, updating it if necessary using `NameUpdater`.
`static String`
`getUpgradePropertyName(String name, UnmarshallingContext context)`
Update a property name using `NameUpdater`.
`static String`
`getUpgradePropertyValue(String name, String value, 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, HierarchicalStreamReader reader)`
Restore the special properties: TestElement.GUI_CLASS TestElement.TEST_CLASS TestElement.NAME TestElement.ENABLED
`static void`
`saveSpecialProperties(TestElement testElement, 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 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(HierarchicalStreamReader reader, 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(HierarchicalStreamReader reader, 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, 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, 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, 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` -
  invalid reference

      HierarchicalStreamWriter

  in which the special properties should be saved

### restoreSpecialProperties

public static void restoreSpecialProperties(TestElement testElement, 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` -
  invalid reference

      HierarchicalStreamReader

  from which the special properties should be restored