<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="../plugin.xsl" type="text/xsl"?>
<plugin name="JsonHandler">
  <object class="org.ow2.isac.plugin.jsonhandler.SessionObject">
    <params />
    <help>This plug-in supports easy data extraction from a JSON structure, using the JsonPath syntax.&#xD;
Refer to http://goessner.net/articles/JsonPath/ for JsonPath description.</help>
  </object>
  <control name="parse" number="0">
    <params>
      <param name="jsonpath" type="String" />
      <param name="resultset" type="String" />
    </params>
    <help>Parses current JSON content using the given JsonPath.&#xD;
Result(s) are stored in a variable - a result set - whose name must be provided.&#xD;
If there is no result, the variable won't be defined. Otherwise, the variable resolves to the first result set's value. Then, control nextResult allows for iterating over next values. Finally, the result set variable is no longer defined when no more value is available.&#xD;
In addition, the number of currently available values in a result set can be retrieved from another variable whose name is the result set name prefixed by # (for example, #myparseresult).</help>
  </control>
  <control name="setJsonContent" number="1">
    <params>
      <param name="jsoncontent" type="String" />
    </params>
    <help>Sets the JSON structure to parse.</help>
  </control>
  <control name="clearAll" number="2">
    <params />
    <help>Clears this JsonPath parser state, i.e. its Json content is set to the empty string, and all result sets from previous parsing are discarded.</help>
  </control>
  <control name="clearResultSet" number="5">
    <params>
      <param name="resultset" type="String" />
    </params>
    <help>Clears the given result set.</help>
  </control>
  <control name="nextResult" number="8">
    <params>
      <param name="resultset" type="String" />
    </params>
    <help>Switches to the next value in the provided result set.</help>
  </control>
  <test name="isDefined" number="3">
    <params>
      <param name="resultset" type="String" />
    </params>
    <help>True if the provided result set is defined and holds a current value, false otherwise. When true, a variable reference to this result set  returns current value of the result set.</help>
  </test>
  <test name="isNotDefined" number="4">
    <params>
      <param name="resultset" type="String" />
    </params>
    <help>True if the provided result set is undefined or has no more value available, false otherwise. When true, any variable reference to the result set will throw an exception.</help>
  </test>
</plugin>

