{
  "api": {
    "TopLevel": {
      "APIException": {
        "fullClassName": "TopLevel.APIException",
        "package": "TopLevel",
        "description": "This error indicates an exceptional outcome of some business logic. Instances of\n this exception in general provide additional information about the reason of this case.\n See the actual type referred by the type property for the description of the properties\n with this additional information.\n <br><br>\n Limitation: The sub classes of this APIException shown in this documentation actually do not exist.\n All instances are of type APIException, but with different property sets as listed in the sub classes.\n <br><br>\n The APIException is always related to a systems internal Java exception. The class provides\n access to some more details about this internal Java exception.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {
          "causeFullName": {
            "name": "causeFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the full name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeMessage": {
            "name": "causeMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the message of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeName": {
            "name": "causeName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the simplified name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaFullName": {
            "name": "javaFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The full name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaMessage": {
            "name": "javaMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The message of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaName": {
            "name": "javaName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The simplified name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "type": {
            "name": "type",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The name of the actual APIException type, without the package name.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "APIException": {
            "name": "APIException",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Array": {
        "fullClassName": "TopLevel.Array",
        "package": "TopLevel",
        "description": "An Array of items.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The length of the Array.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Array": {
            "name": "Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs an Array.",
            "deprecated": false
          },
          "Array0": {
            "name": "Array",
            "args": [
              {
                "name": "length",
                "description": "the length of the Array.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs an Array of the specified\n length.",
            "deprecated": false
          },
          "Array01": {
            "name": "Array",
            "args": [
              {
                "name": "values",
                "description": "zero or more values that are stored in the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs an Array using the specified values.",
            "deprecated": false
          }
        },
        "methods": {
          "concat": {
            "name": "concat",
            "args": [
              {
                "name": "values",
                "description": "one or more Array values.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array containing the concatenated values."
            },
            "description": "Constructs an Array by concatenating multiple values.",
            "deprecated": false
          },
          "copyWithin": {
            "name": "copyWithin",
            "args": [
              {
                "name": "target",
                "description": "The target of the first element to copy.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "start",
                "description": "Optional. The first index to copy. Default is 0.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included. Default is copy all to the array end.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "This array."
            },
            "description": "Copies elements within this array. The array length is not changed.",
            "deprecated": false
          },
          "entries": {
            "name": "entries",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all index/value pairs of this array.\n The iterator produces a series of two-element arrays with the first element as the index and the second element as the value.",
            "deprecated": false
          },
          "every": {
            "name": "every",
            "args": [
              {
                "name": "callback",
                "description": "the function to call to determine if every element in this array satisfies the test defined by the function. The callback function is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if every element in this array satisfies the test performed in the callback function."
            },
            "description": "Returns true if every element in this array satisfies the test\n performed in the callback function.  The callback function is\n invoked with three arguments: the value of the element,\n the index of the element, and the Array object being traversed.",
            "deprecated": false
          },
          "every0": {
            "name": "every",
            "args": [
              {
                "name": "callback",
                "description": "the function to call to determine if every element in this array satisfies the test defined by the function. The callback function is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "the Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if every element in thisObject satisfies the test performed in the callback function, false otherwise."
            },
            "description": "Returns true if every element in the thisObject argument satisfies the\n test performed in the callback function, false otherwise.\n The callback function is invoked with three arguments: the value of the\n element, the index of the element, and the Array object being traversed.",
            "deprecated": false
          },
          "fill": {
            "name": "fill",
            "args": [
              {
                "name": "value",
                "description": "The value to set.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "start",
                "description": "Optional. The first index to copy. Default is 0.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included. Default is copy all to the array end.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "This array."
            },
            "description": "Sets multiple entries of this array to specific value.",
            "deprecated": false
          },
          "filter": {
            "name": "filter",
            "args": [
              {
                "name": "callback",
                "description": "the function that is called on this Array and which returns a new Array containing the elements that satisfy the function's test. The callback function is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array containing the elements that satisfy the function's test."
            },
            "description": "Returns a new Array with all of the elements that pass the test\n implemented by the callback function. The callback function is\n invoked with three arguments: the value of the element,\n the index of the element, and the Array object being traversed.",
            "deprecated": false
          },
          "filter0": {
            "name": "filter",
            "args": [
              {
                "name": "callback",
                "description": "the function that is called on the thisObject Array and which returns a new Array containing the elements that satisfy the function's test. The callback function is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "the Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array containing the elements that satisfy the function's test."
            },
            "description": "Returns a new Array with all of the elements that pass the test\n implemented by the callback function that is run against the\n specified Array, thisObject. The callback function is\n invoked with three arguments: the value of the element,\n the index of the element, and the Array object being traversed.",
            "deprecated": false
          },
          "find": {
            "name": "find",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "The object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": "The first value within the array that satisfies the test defined in the callback function, undefined if no matching value was found."
            },
            "description": "Returns the first value within the array that satisfies the test\n defined in the callback function.",
            "deprecated": false
          },
          "findIndex": {
            "name": "findIndex",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "The object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The index of the first value within the array that satisfies the test defined in the callback function, -1 if no matching value was found."
            },
            "description": "Returns the index of the first value within the array that satisfies the test\n defined in the callback function.",
            "deprecated": false
          },
          "forEach": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Runs the provided callback function once for each element present in\n the Array. The callback function is invoked only for indexes of the\n Array which have assigned values; it is not invoked for indexes which\n have been deleted or which have never been assigned a value.",
            "deprecated": false
          },
          "forEach0": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "the Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Runs the provided callback function once for each element present in\n the specified Array, thisObject. The callback function is invoked only\n for indexes of the Array which have assigned values; it is not invoked\n for indexes which have been deleted or which have never been assigned\n a value.",
            "deprecated": false
          },
          "from": {
            "name": "from",
            "args": [
              {
                "name": "arrayLike",
                "description": "An array-like object or an iterable that provides the elements for the new array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "mapFn",
                "description": "Optional. A function that maps the input elements into the value for the new array.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "Optional. The Object to use as 'this' when executing mapFn.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "The newly created array."
            },
            "description": "Creates a new array from an array-like object or an Iterable.",
            "deprecated": false
          },
          "includes": {
            "name": "includes",
            "args": [
              {
                "name": "valueToFind",
                "description": "The value to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "fromIndex",
                "description": "Optional. The index to start from.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the value is found in the array else false."
            },
            "description": "Returns if the array contains a specific value.",
            "deprecated": false
          },
          "indexOf": {
            "name": "indexOf",
            "args": [
              {
                "name": "elementToLocate",
                "description": "the element to locate in the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of the element or -1 if it is no preset."
            },
            "description": "Returns the first index at which a given element can be found in the\n array, or -1 if it is not present.",
            "deprecated": false
          },
          "indexOf0": {
            "name": "indexOf",
            "args": [
              {
                "name": "elementToLocate",
                "description": "the element to locate in the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "fromIndex",
                "description": "the index from which to start looking for the element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of the element or -1 if it is no preset."
            },
            "description": "Returns the first index at which a given element can be found in the\n array starting at fromIndex, or -1 if it is not present.",
            "deprecated": false
          },
          "isArray": {
            "name": "isArray",
            "args": [
              {
                "name": "object",
                "description": "The object to ckeck.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed object is an array else false."
            },
            "description": "Checks if the passed object is an array.",
            "deprecated": false
          },
          "join": {
            "name": "join",
            "args": [],
            "class": {
              "name": "String",
              "description": "a concatenated list of all Array elements as a String."
            },
            "description": "Converts all Array elements to Strings and concatenates them.",
            "deprecated": false
          },
          "join0": {
            "name": "join",
            "args": [
              {
                "name": "separator",
                "description": "an optional character or string used to separate one element of the Array from the next element in the return String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a concatenated list of all Array elements as a String where the specified delimiter is used to separate elements."
            },
            "description": "Converts all array elements to Strings and concatenates them.",
            "deprecated": false
          },
          "keys": {
            "name": "keys",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all indexes of this array.",
            "deprecated": false
          },
          "lastIndexOf": {
            "name": "lastIndexOf",
            "args": [
              {
                "name": "elementToLocate",
                "description": "the element to locate in the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of the element or -1 if it is no preset."
            },
            "description": "Returns the last index at which a given element can be found in the\n array, or -1 if it is not present. The array is searched backwards.",
            "deprecated": false
          },
          "lastIndexOf0": {
            "name": "lastIndexOf",
            "args": [
              {
                "name": "elementToLocate",
                "description": "the element to locate in the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "fromIndex",
                "description": "the index from which to start looking for the element. The array is searched backwards.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of the element or -1 if it is no present."
            },
            "description": "Returns the last index at which a given element can be found in the\n array starting at fromIndex, or -1 if it is not present.\n The array is searched backwards.",
            "deprecated": false
          },
          "map": {
            "name": "map",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array with the results of calling the specified function on every element in this Array."
            },
            "description": "Creates a new Array with the results of calling the specified function\n on every element in this Array. The callback function is invoked only\n for indexes of the Array which have assigned values; it is not invoked\n for indexes which have been deleted or which have never been assigned\n values.",
            "deprecated": false
          },
          "map0": {
            "name": "map",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "the Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array with the results of calling the specified function on every element in this Array."
            },
            "description": "Creates a new Array with the results of calling the specified function\n on every element in the specified Array. The callback function is invoked only\n for indexes of the Array which have assigned values; it is not invoked\n for indexes which have been deleted or which have never been assigned\n values.",
            "deprecated": false
          },
          "of": {
            "name": "of",
            "args": [
              {
                "name": "values",
                "description": "The array values.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "The newly created array."
            },
            "description": "Creates a new array from a variable list of elements.",
            "deprecated": false
          },
          "pop": {
            "name": "pop",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the last element of the Array."
            },
            "description": "Removes and returns the last element of the Array.",
            "deprecated": false
          },
          "push": {
            "name": "push",
            "args": [
              {
                "name": "values",
                "description": "one or more values that will be appended to the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the new length of the Array."
            },
            "description": "Appends elements to the Array.",
            "deprecated": false
          },
          "reverse": {
            "name": "reverse",
            "args": [],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Reverses the order of the elements in the Array.",
            "deprecated": false
          },
          "shift": {
            "name": "shift",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the former first element."
            },
            "description": "Shifts elements down in the Array and returns the\n former first element.",
            "deprecated": false
          },
          "slice": {
            "name": "slice",
            "args": [
              {
                "name": "start",
                "description": "the location in the Array to start the slice operation.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "the location in the Array to stop the slice operation.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a new Array containing the members bound by start and end."
            },
            "description": "Returns a new Array containing a portion of the\n Array using the specified start and end positions.",
            "deprecated": false
          },
          "some": {
            "name": "some",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if any of the elements in the Array pass the test defined in the callback function, false otherwise."
            },
            "description": "Returns true if any of the elements in the Array pass the test\n defined in the callback function, false otherwise.",
            "deprecated": false
          },
          "some0": {
            "name": "some",
            "args": [
              {
                "name": "callback",
                "description": "the function to call, which is invoked with three arguments: the value of the element, the index of the element, and the Array object being traversed.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "the Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if any of the elements in the Array pass the test defined in the callback function, false otherwise."
            },
            "description": "Returns true if any of the elements in the specified Array pass the test\n defined in the callback function, false otherwise.",
            "deprecated": false
          },
          "sort": {
            "name": "sort",
            "args": [],
            "class": {
              "name": "Array",
              "description": "a reference to the Array."
            },
            "description": "Sorts the elements of the Array in alphabetical\n order based on character encoding.\n\n This sort is not guaranteed to be stable:  equal elements might\n be reordered as a result of the sort.",
            "deprecated": false
          },
          "sort0": {
            "name": "sort",
            "args": [
              {
                "name": "function",
                "description": "a Function used to specify the sorting order.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "a reference to the Array."
            },
            "description": "Sorts the elements of the Array in alphabetical\n order based on character encoding.\n\n This sort is not guaranteed to be stable:  equal elements might\n be reordered as a result of the sort.",
            "deprecated": false
          },
          "splice": {
            "name": "splice",
            "args": [
              {
                "name": "start",
                "description": "the start location.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "deleteCount",
                "description": "the number of items to delete.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "values",
                "description": "zero or more values to be inserted into the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Array",
              "description": ""
            },
            "description": "Deletes the specified number of elements from the Array at the specified position,\n and then inserts values into the Array at that location.",
            "deprecated": false
          },
          "toLocaleString0": {
            "name": "toLocaleString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a localized String representing the Array."
            },
            "description": "Converts the Array to a localized String.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of the Array."
            },
            "description": "Converts the Array to a String.",
            "deprecated": false
          },
          "unshift": {
            "name": "unshift",
            "args": [
              {
                "name": "values",
                "description": "one or more vales that will be inserted into the beginning of the Array.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the new length of the Array."
            },
            "description": "Inserts elements at the beginning of the Array.",
            "deprecated": false
          },
          "values": {
            "name": "values",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all values of this array.",
            "deprecated": false
          }
        }
      },
      "ArrayBuffer": {
        "fullClassName": "TopLevel.ArrayBuffer",
        "package": "TopLevel",
        "description": "The ArrayBuffer represents a generic array of bytes with fixed length. <br>\n To access and manipulate content, use <a href=\"class_TopLevel_DataView.html\">DataView</a> or a typed array.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "ArrayBuffer": {
            "name": "ArrayBuffer",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array buffer.",
            "deprecated": false
          },
          "ArrayBuffer0": {
            "name": "ArrayBuffer",
            "args": [
              {
                "name": "byteLength",
                "description": "The number of bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array buffer with the given number of bytes.",
            "deprecated": false
          }
        },
        "methods": {
          "isView": {
            "name": "isView",
            "args": [
              {
                "name": "object",
                "description": "The object to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed object is a view to an array buffer else return false."
            },
            "description": "Returns if the given object is one of the views for an ArrayBuffer, such as a typed array or a DataView.",
            "deprecated": false
          },
          "slice": {
            "name": "slice",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "ArrayBuffer",
              "description": "The new array object."
            },
            "description": "Returns a new array buffer with a copy of the data of this buffer.",
            "deprecated": false
          }
        }
      },
      "BigInt": {
        "fullClassName": "TopLevel.BigInt",
        "package": "TopLevel",
        "description": "A BigInt object is a wrapper for a primitive <code>bigint</code> value.\n <code>bigint</code> values can be numbers too large to be stored as <code>number</code> values.\n <p>\n A <code>bigint</code> literal in code is an integer number with an appended <code>n</code>.\n </p><p>\n Example:\n <code></code></p><pre><code> var hugeNumber = 1245678901234567890n;\n var hugeNumberObject = BigInt( hugeNumber );\n </code></pre>",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "BigInt": {
            "name": "BigInt",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs a BigInt with value 0.",
            "deprecated": false
          },
          "BigInt0": {
            "name": "BigInt",
            "args": [
              {
                "name": "value",
                "description": "the BigInt to use.",
                "class": {
                  "name": "BigInt"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a new BigInt using the specified BigInt.",
            "deprecated": false
          },
          "BigInt01": {
            "name": "BigInt",
            "args": [
              {
                "name": "value",
                "description": "the value to use when creating the BigInt.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a BigInt using the specified value.\n \n Beside decimal numbers also binary, octal and hexadecimal numbers are supported:  var decimal = BigInt( \"12\" );\n var binary  = BigInt( \"0b1100\" );\n var octal   = BigInt( \"0o14\" );\n var hex     = BigInt( \"0xC\" );",
            "deprecated": false
          }
        },
        "methods": {
          "asIntN": {
            "name": "asIntN",
            "args": [
              {
                "name": "bits",
                "description": "Number of bits required for resulting integer.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be clamped to the given number of bits.",
                "class": {
                  "name": "BigInt"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "BigInt",
              "description": "The value modulo 2bits, as a signed integer."
            },
            "description": "Clamps the given BigInt value to a signed integer with a given precision.",
            "deprecated": false
          },
          "asUintN": {
            "name": "asUintN",
            "args": [
              {
                "name": "bits",
                "description": "Number of bits required for resulting integer.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be clamped to the given number of bits.",
                "class": {
                  "name": "BigInt"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "BigInt",
              "description": "The value modulo 2bits, as an unsigned integer."
            },
            "description": "Clamps the given BigInt value to an unsigned integer with a given precision.",
            "deprecated": false
          },
          "toLocaleString0": {
            "name": "toLocaleString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String using local number formatting conventions."
            },
            "description": "Converts this BigInt to a String using local number formatting conventions. \n The current implementation actually only returns the same as toString().",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of this BigInt."
            },
            "description": "A String representation of this BigInt.",
            "deprecated": false
          },
          "toString01": {
            "name": "toString",
            "args": [
              {
                "name": "radix",
                "description": "the radix to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a String representation of this BigInt."
            },
            "description": "Converts the BigInt into a string using the specified radix (base).",
            "deprecated": false
          }
        }
      },
      "Boolean": {
        "fullClassName": "TopLevel.Boolean",
        "package": "TopLevel",
        "description": "Provides support for boolean values.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "Boolean": {
            "name": "Boolean",
            "args": [
              {
                "name": "value",
                "description": "the String value to use to construct the Boolean. If value is null or an empty String, the Boolean is set to false.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Boolean using the specified \n String value.",
            "deprecated": false
          },
          "Boolean0": {
            "name": "Boolean",
            "args": [
              {
                "name": "value",
                "description": "the Number value to use to construct the Boolean. If value is null or 0, the Boolean is set to false.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Boolean using the specified \n Number value.",
            "deprecated": false
          }
        },
        "methods": {
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "true or false depending on the value used to create the Boolean."
            },
            "description": "Returns true or false depending on the value used to create \n the Boolean.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the primitive boolean contained in the Boolean object."
            },
            "description": "Returns the primitive boolean contained in the Boolean \n object.",
            "deprecated": false
          }
        }
      },
      "ConversionError": {
        "fullClassName": "TopLevel.ConversionError",
        "package": "TopLevel",
        "description": "Represents a conversion error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "ConversionError": {
            "name": "ConversionError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "ConversionError0": {
            "name": "ConversionError",
            "args": [
              {
                "name": "msg",
                "description": "the conversion error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the\n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "DataView": {
        "fullClassName": "TopLevel.DataView",
        "package": "TopLevel",
        "description": "The DataView provides low level access to <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a>.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this view.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this view.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this view within the array buffer.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "DataView": {
            "name": "DataView",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "byteLength",
                "description": "Optional. The number of bytes visible to this view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a data view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "getFloat32": {
            "name": "getFloat32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 32-bit floating point number at the given offset.",
            "deprecated": false
          },
          "getFloat64": {
            "name": "getFloat64",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 64-bit floating point number at the given offset.",
            "deprecated": false
          },
          "getInt16": {
            "name": "getInt16",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 16-bit signed integer number at the given offset.",
            "deprecated": false
          },
          "getInt32": {
            "name": "getInt32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 32-bit signed integer number at the given offset.",
            "deprecated": false
          },
          "getInt8": {
            "name": "getInt8",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 8-bit signed integer number at the given offset.",
            "deprecated": false
          },
          "getUint16": {
            "name": "getUint16",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 16-bit unsigned integer number at the given offset.",
            "deprecated": false
          },
          "getUint32": {
            "name": "getUint32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the number is stored in little-endian format.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 32-bit unsigned integer number at the given offset.",
            "deprecated": false
          },
          "getUint8": {
            "name": "getUint8",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": ""
            },
            "description": "Returns the 8-bit unsigned integer number at the given offset.",
            "deprecated": false
          },
          "setFloat32": {
            "name": "setFloat32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 32-bit floating point number into the byte array at the given offset.",
            "deprecated": false
          },
          "setFloat64": {
            "name": "setFloat64",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 64-bit floating point number into the byte array at the given offset.",
            "deprecated": false
          },
          "setInt16": {
            "name": "setInt16",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 16-bit signed integer number into the byte array at the given offset.",
            "deprecated": false
          },
          "setInt32": {
            "name": "setInt32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 32-bit signed integer number into the byte array at the given offset.",
            "deprecated": false
          },
          "setInt8": {
            "name": "setInt8",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes an 8-bit signed integer number into the byte array at the given offset.",
            "deprecated": false
          },
          "setUint16": {
            "name": "setUint16",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 16-bit unsigned integer number into the byte array at the given offset.",
            "deprecated": false
          },
          "setUint32": {
            "name": "setUint32",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "littleEndian",
                "description": "Optional. Default is false. Use true if the little-endian format is to be used.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes a 32-bit unsigned integer number into the byte array at the given offset.",
            "deprecated": false
          },
          "setUint8": {
            "name": "setUint8",
            "args": [
              {
                "name": "byteOffset",
                "description": "The offset within the view.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be written.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Writes an 8-bit unsigned integer number into the byte array at the given offset.",
            "deprecated": false
          }
        }
      },
      "Date": {
        "fullClassName": "TopLevel.Date",
        "package": "TopLevel",
        "description": "A Date object contains a number indicating a particular instant in time to within a millisecond. The number may also\n be NaN, indicating that the Date object does not represent a specific instant of time.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "Date": {
            "name": "Date",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the Date instance using the current date and time.",
            "deprecated": false
          },
          "Date0": {
            "name": "Date",
            "args": [
              {
                "name": "millis",
                "description": "the number of milliseconds between the desired date and January 1, 1970 (UTC). For example, value of 10000 would create a Date instance representing 10 seconds past midnight on January 1, 1970.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Date instance using the specified milliseconds.",
            "deprecated": false
          },
          "Date01": {
            "name": "Date",
            "args": [
              {
                "name": "year",
                "description": "a number representing the year.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "month",
                "description": "a number representing the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "a set of numbers representing the date, hours, minutes, seconds, and milliseconds.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Date instance using the specified year and month. Optionally, you can pass up to five additional\n arguments representing date, hours, minutes, seconds, and milliseconds.",
            "deprecated": false
          },
          "Date012": {
            "name": "Date",
            "args": [
              {
                "name": "dateString",
                "description": "represents a Date in a valid date format.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Date instance by parsing the specified String.",
            "deprecated": false
          }
        },
        "methods": {
          "getDate": {
            "name": "getDate",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the day of the month where the value is a Number from 1 to 31."
            },
            "description": "Returns the day of the month where the value is a Number from 1 to 31.",
            "deprecated": false
          },
          "getDay": {
            "name": "getDay",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the day of the month where the value is a Number from 0 to 6."
            },
            "description": "Returns the day of the week where the value is a Number from 0 to 6.",
            "deprecated": false
          },
          "getFullYear": {
            "name": "getFullYear",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the year of the Date in four-digit format."
            },
            "description": "Returns the year of the Date in four-digit format.",
            "deprecated": false
          },
          "getHours": {
            "name": "getHours",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the hours field of the Date where the value is a Number from 0 (midnight) to 23 (11 PM)."
            },
            "description": "Return the hours field of the Date where the value is a Number from 0 (midnight) to 23 (11 PM).",
            "deprecated": false
          },
          "getMilliseconds": {
            "name": "getMilliseconds",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the milliseconds field of the Date."
            },
            "description": "Returns the milliseconds field of the Date.",
            "deprecated": false
          },
          "getMinutes": {
            "name": "getMinutes",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the minutes field of the Date where the value is a Number from 0 to 59."
            },
            "description": "Return the minutes field of the Date where the value is a Number from 0 to 59.",
            "deprecated": false
          },
          "getMonth": {
            "name": "getMonth",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the month of the year as a value between 0 and 11."
            },
            "description": "Returns the month of the year as a value between 0 and 11.",
            "deprecated": false
          },
          "getSeconds": {
            "name": "getSeconds",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the seconds field of the Date where the value is a Number from 0 to 59."
            },
            "description": "Return the seconds field of the Date where the value is a Number from 0 to 59.",
            "deprecated": false
          },
          "getTime": {
            "name": "getTime",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the internal, millisecond representation of the Date object."
            },
            "description": "Returns the internal, millisecond representation of the Date object. This value is independent of time zone.",
            "deprecated": false
          },
          "getTimezoneOffset": {
            "name": "getTimezoneOffset",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the difference between local time and Greenwich Mean Time (GMT) in minutes."
            },
            "description": "Returns the difference between local time and Greenwich Mean Time (GMT) in minutes.",
            "deprecated": false
          },
          "getUTCDate": {
            "name": "getUTCDate",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the day of the month where the value is a Number from 1 to 31 when date is expressed in universal time."
            },
            "description": "Returns the day of the month where the value is a Number from 1 to 31 when date is expressed in universal time.",
            "deprecated": false
          },
          "getUTCDay": {
            "name": "getUTCDay",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the day of the week where the value is a Number from 0 to 6 when date is expressed in universal time."
            },
            "description": "Returns the day of the week where the value is a Number from 0 to 6 when date is expressed in universal time.",
            "deprecated": false
          },
          "getUTCFullYear": {
            "name": "getUTCFullYear",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the year of the Date in four-digit form."
            },
            "description": "Returns the year when the Date is expressed in universal time. The return value is a four-digit format.",
            "deprecated": false
          },
          "getUTCHours": {
            "name": "getUTCHours",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the hours field, expressed in universal time, of the Date where the value is a Number from 0 (midnight) to 23 (11 PM)."
            },
            "description": "Return the hours field, expressed in universal time, of the Date where the value is a Number from 0 (midnight) to\n 23 (11 PM).",
            "deprecated": false
          },
          "getUTCMilliseconds": {
            "name": "getUTCMilliseconds",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the milliseconds field, expressed in universal time, of the Date."
            },
            "description": "Returns the milliseconds field, expressed in universal time, of the Date.",
            "deprecated": false
          },
          "getUTCMinutes": {
            "name": "getUTCMinutes",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the minutes field, expressed in universal time, of the Date where the value is a Number from 0 to 59."
            },
            "description": "Return the minutes field, expressed in universal time, of the Date where the value is a Number from 0 to 59.",
            "deprecated": false
          },
          "getUTCMonth": {
            "name": "getUTCMonth",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the month of the year as a value between 0 and 11."
            },
            "description": "Returns the month of the year that results when the Date is expressed in universal time. The return value is a\n Number betwee 0 and 11.",
            "deprecated": false
          },
          "getUTCSeconds": {
            "name": "getUTCSeconds",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the seconds field, expressed in universal time, of the Date where the value is a Number from 0 to 59."
            },
            "description": "Return the seconds field, expressed in universal time, of the Date where the value is a Number from 0 to 59.",
            "deprecated": false
          },
          "now": {
            "name": "now",
            "args": [],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the number of milliseconds since midnight of January 1, 1970."
            },
            "description": "Returns the number of milliseconds since midnight of January 1, 1970 up until now.",
            "deprecated": false
          },
          "parse": {
            "name": "parse",
            "args": [
              {
                "name": "dateString",
                "description": "represents a Date in a valid date format.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the number of milliseconds since midnight of January 1, 1970 or NaN if no date could be recognized."
            },
            "description": "Takes a date string and returns the number of milliseconds since midnight of January 1, 1970.\n Supports:\n \n      RFC2822 date strings\n      strings matching the exact ISO 8601 format 'YYYY-MM-DDTHH:mm:ss.sssZ'",
            "deprecated": false
          },
          "setDate": {
            "name": "setDate",
            "args": [
              {
                "name": "date",
                "description": "the day of the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the day of the month where the value is a Number from 1 to 31.",
            "deprecated": false
          },
          "setFullYear": {
            "name": "setFullYear",
            "args": [
              {
                "name": "year",
                "description": "the year as a four-digit Number.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the month and day of the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the full year of Date where the value must be a four-digit Number. Optionally, you can set the month and\n date.",
            "deprecated": false
          },
          "setHours": {
            "name": "setHours",
            "args": [
              {
                "name": "hours",
                "description": "the minutes field of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the hours, seconds and milliseconds values for this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the hours field of this Date instance. The minutes value should be a Number from 0 to 23. Optionally, hours,\n seconds and milliseconds can also be provided.",
            "deprecated": false
          },
          "setMilliseconds": {
            "name": "setMilliseconds",
            "args": [
              {
                "name": "millis",
                "description": "the milliseconds field of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the milliseconds field of this Date instance.",
            "deprecated": false
          },
          "setMinutes": {
            "name": "setMinutes",
            "args": [
              {
                "name": "minutes",
                "description": "the minutes field of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the seconds and milliseconds value for this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the minutes field of this Date instance. The minutes value should be a Number from 0 to 59. Optionally,\n seconds and milliseconds can also be provided.",
            "deprecated": false
          },
          "setMonth": {
            "name": "setMonth",
            "args": [
              {
                "name": "month",
                "description": "the month of the year.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "date",
                "description": "the day of the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the month of the year where the value is a Number from 0 to 11. Optionally, you can set the day of the\n month.",
            "deprecated": false
          },
          "setSeconds": {
            "name": "setSeconds",
            "args": [
              {
                "name": "seconds",
                "description": "the seconds field of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "millis",
                "description": "the milliseconds field of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the seconds field of this Date instance. The seconds value should be a Number from 0 to 59. Optionally,\n milliseconds can also be provided.",
            "deprecated": false
          },
          "setTime": {
            "name": "setTime",
            "args": [
              {
                "name": "millis",
                "description": "the number of milliseconds between the desired date and time and January 1, 1970.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the number of milliseconds between the desired date and time and January 1, 1970.",
            "deprecated": false
          },
          "setUTCDate": {
            "name": "setUTCDate",
            "args": [
              {
                "name": "date",
                "description": "the day of the month, expressed in universal time.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the day of the month, expressed in universal time, where the value is a Number from 1 to 31.",
            "deprecated": false
          },
          "setUTCFullYear": {
            "name": "setUTCFullYear",
            "args": [
              {
                "name": "year",
                "description": "the year as a four-digit Number, expressed in universal time.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the month and day of the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the full year, expressed in universal time, of Date where the value must be a four-digit Number. Optionally,\n you can set the month and date.",
            "deprecated": false
          },
          "setUTCHours": {
            "name": "setUTCHours",
            "args": [
              {
                "name": "hours",
                "description": "the minutes field, expressed in universal time, of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the seconds and milliseconds value, expressed in universal time, for this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the hours field, expressed in universal time, of this Date instance. The minutes value should be a Number\n from 0 to 23. Optionally, seconds and milliseconds can also be provided.",
            "deprecated": false
          },
          "setUTCMilliseconds": {
            "name": "setUTCMilliseconds",
            "args": [
              {
                "name": "millis",
                "description": "the milliseconds field, expressed in universal time, of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the milliseconds field, expressed in universal time, of this Date instance.",
            "deprecated": false
          },
          "setUTCMinutes": {
            "name": "setUTCMinutes",
            "args": [
              {
                "name": "minutes",
                "description": "the minutes field, expressed in universal time, of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "the seconds and milliseconds values, expressed in universal time, for this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the minutes field, expressed in universal time, of this Date instance. The minutes value should be a Number\n from 0 to 59. Optionally, seconds and milliseconds can also be provided.",
            "deprecated": false
          },
          "setUTCMonth": {
            "name": "setUTCMonth",
            "args": [
              {
                "name": "month",
                "description": "the month of the year, expressed in universal time.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "date",
                "description": "the day of the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the month of the year, expressed in universal time, where the value is a Number from 0 to 11. Optionally,\n you can set the day of the month.",
            "deprecated": false
          },
          "setUTCSeconds": {
            "name": "setUTCSeconds",
            "args": [
              {
                "name": "seconds",
                "description": "the seconds field, expressed in universal time, of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "millis",
                "description": "the milliseconds field, expressed in universal time, of this Date instance.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Number",
              "description": "the millisecond representation of the adjusted date."
            },
            "description": "Sets the seconds field, expressed in universal time, of this Date instance. The seconds value should be a Number\n from 0 to 59. Optionally, milliseconds can also be provided.",
            "deprecated": false
          },
          "toDateString": {
            "name": "toDateString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the Date as a String value."
            },
            "description": "Returns the Date as a String value where the value represents the date portion of the Date in the default\n locale (en_US). To format a calendar object in an alternate format use the\n dw.util.StringUtils.formatCalendar() functions instead.",
            "deprecated": false
          },
          "toISOString": {
            "name": "toISOString",
            "args": [],
            "class": {
              "name": "String",
              "description": "string representation of this date"
            },
            "description": "This function returns a string value represent the instance in time represented by this Date object. The date is\n formatted with the Simplified ISO 8601 format as follows: YYYY-MM-DDTHH:mm:ss.sssTZ. The time zone is always UTC,\n denoted by the suffix Z.",
            "deprecated": false
          },
          "toJSON": {
            "name": "toJSON",
            "args": [
              {
                "name": "key",
                "description": "the name of the key, which is stringified",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": "JSON string representation of this date"
            },
            "description": "This function returns the same string as Date.prototype.toISOString(). The method is called when a Date object is\n stringified.",
            "deprecated": false
          },
          "toLocaleDateString": {
            "name": "toLocaleDateString",
            "args": [],
            "class": {
              "name": "String",
              "description": "returns the date portion of the Date as a String."
            },
            "description": "Returns the Date as a String value where the value represents the date portion of the Date in the default\n locale (en_US). To format a calendar object in an alternate format use the\n dw.util.StringUtils.formatCalendar() functions instead.",
            "deprecated": false
          },
          "toLocaleString0": {
            "name": "toLocaleString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the Date as a String using the default locale en_US"
            },
            "description": "Returns the Date as a String using the default locale (en_US). To format a calendar object in an alternate format\n use the dw.util.StringUtils.formatCalendar() functions instead.",
            "deprecated": false
          },
          "toLocaleTimeString": {
            "name": "toLocaleTimeString",
            "args": [],
            "class": {
              "name": "String",
              "description": "returns the time time's portion of the Date as a String."
            },
            "description": "Returns the Date as a String value where the value represents the time portion of the Date in the default\n locale (en_US). To format a calendar object in an alternate format use the\n dw.util.StringUtils.formatCalendar() functions instead.",
            "deprecated": false
          },
          "toTimeString": {
            "name": "toTimeString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the Date's time."
            },
            "description": "Returns the Date as a String value where the value represents the time portion of the Date in the default\n locale (en_US). To format a calendar object in an alternate format use the\n dw.util.StringUtils.formatCalendar() functions instead.",
            "deprecated": false
          },
          "toUTCString": {
            "name": "toUTCString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of this Date, expressed in universal time."
            },
            "description": "Returns a String representation of this Date, expressed in universal time.",
            "deprecated": false
          },
          "UTC": {
            "name": "UTC",
            "args": [
              {
                "name": "year",
                "description": "a number representing the year.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "month",
                "description": "a number representing the month.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "a set of numbers representing the date, hours, minutes, seconds, and milliseconds.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the number of milliseconds since midnight of January 1, 1970 according to universal time."
            },
            "description": "Returns the number of milliseconds since midnight of January 1, 1970 according to universal time. Optionally, you\n can pass up to five additional arguments representing date, hours, minutes, seconds, and milliseconds.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the value of this Date represented in milliseconds."
            },
            "description": "Returns the value of this Date represented in milliseconds.",
            "deprecated": false
          }
        }
      },
      "ES6Iterator": {
        "fullClassName": "TopLevel.ES6Iterator",
        "package": "TopLevel",
        "description": "This isn't a built-in type. It describes the properties an object must have in order\n to work as an iterator since ECMAScript 2015.",
        "hierarchy": [],
        "constants": {},
        "properties": {},
        "constructors": {},
        "methods": {
          "next": {
            "name": "next",
            "args": [],
            "class": {
              "name": "Object",
              "description": ""
            },
            "description": "Returns an iterator result object.\n \n An iterator result object can have two properties: done and value.\n If done is false or undefined, then the value property contains an iterator value.\n The value property may not be present if the value would be undefined.\n \n After a call that returns a result where done equals\n true, all subsequent calls must also return done as true.",
            "deprecated": false
          }
        }
      },
      "Error": {
        "fullClassName": "TopLevel.Error",
        "package": "TopLevel",
        "description": "Error represents a generic exception.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "message": {
            "name": "message",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "An error message that provides details about the exception.",
            "deprecated": false,
            "type": "property"
          },
          "name": {
            "name": "name",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The name of the error based on the constructor used.",
            "deprecated": false,
            "type": "property"
          },
          "stack": {
            "name": "stack",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The script stack trace. \n This property is filled on throwing or via an explicit call captureStackTrace(Error, Function).",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Error": {
            "name": "Error",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the Error object.",
            "deprecated": false
          },
          "Error0": {
            "name": "Error",
            "args": [
              {
                "name": "msg",
                "description": "the message to use,.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the Error object\n using the specified message.",
            "deprecated": false
          }
        },
        "methods": {
          "captureStackTrace": {
            "name": "captureStackTrace",
            "args": [
              {
                "name": "error",
                "description": "The error whose stack trace should be filled.",
                "class": {
                  "name": "Error"
                },
                "multiple": false
              },
              {
                "name": "constructorOpt",
                "description": "An optional filter to hide the topmost stack frames.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Fills the stack property for the passed error. \n The optional constructorOpt parameter allows you to pass in a function value. When collecting the stack trace all\n frames above the topmost call to this function, including that call, are left out of the stack trace. This can be\n useful to hide implementation details that won’t be useful to the user. The usual way of defining a custom error\n that captures a stack trace would be:\n  function MyError() {\n     // fill the stack trace, but hide the call to MyError\n     Error.captureStackTrace(this, MyError);\n }",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of the Error."
            },
            "description": "Returns a String representation of the Error.",
            "deprecated": false
          }
        }
      },
      "EvalError": {
        "fullClassName": "TopLevel.EvalError",
        "package": "TopLevel",
        "description": "Represents an evaluation error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "EvalError": {
            "name": "EvalError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "EvalError0": {
            "name": "EvalError",
            "args": [
              {
                "name": "msg",
                "description": "the evaluation error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Fault": {
        "fullClassName": "TopLevel.Fault",
        "package": "TopLevel",
        "description": "This error indicates an RPC related error in the system. The Fault\n is always related to a systems internal Java exception. The class provides\n access to some more details about this internal Java exception. In particular\n it provides details about the error send from the remote system.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {
          "causeFullName": {
            "name": "causeFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the full name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeMessage": {
            "name": "causeMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the message of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeName": {
            "name": "causeName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the simplified name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "faultActor": {
            "name": "faultActor",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "Provides some information on who cause the fault along the message\n path.",
            "deprecated": false,
            "type": "property"
          },
          "faultCode": {
            "name": "faultCode",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "An identifier for the specific fault.",
            "deprecated": false,
            "type": "property"
          },
          "faultDetail": {
            "name": "faultDetail",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "More detailed information about the fault.",
            "deprecated": false,
            "type": "property"
          },
          "faultString": {
            "name": "faultString",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "A human readable description for the fault.",
            "deprecated": false,
            "type": "property"
          },
          "javaFullName": {
            "name": "javaFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The full name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaMessage": {
            "name": "javaMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The message of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaName": {
            "name": "javaName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The simplified name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Fault": {
            "name": "Fault",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Float32Array": {
        "fullClassName": "TopLevel.Float32Array",
        "package": "TopLevel",
        "description": "An optimized array to store 32-bit floating point numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "4",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Float32Array": {
            "name": "Float32Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Float32Array0": {
            "name": "Float32Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Float32Array01": {
            "name": "Float32Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Float32Array012": {
            "name": "Float32Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Float32Array0123": {
            "name": "Float32Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Float32Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Float64Array": {
        "fullClassName": "TopLevel.Float64Array",
        "package": "TopLevel",
        "description": "An optimized array to store 64-bit floating point numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "8",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Float64Array": {
            "name": "Float64Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Float64Array0": {
            "name": "Float64Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Float64Array01": {
            "name": "Float64Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Float64Array012": {
            "name": "Float64Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Float64Array0123": {
            "name": "Float64Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Float64Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Function": {
        "fullClassName": "TopLevel.Function",
        "package": "TopLevel",
        "description": "The Function class represent a JavaScript function.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of named arguments that were specified\n when the function was declared.",
            "deprecated": false,
            "type": "property"
          },
          "prototype": {
            "name": "prototype",
            "class": {
              "name": "Object"
            },
            "static": false,
            "readonly": false,
            "description": "An object that defines properties and methods\n shared by all objects created with that\n constructor function.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Function": {
            "name": "Function",
            "args": [
              {
                "name": "args",
                "description": "one or more Strings where the last argument in the list represents the function body and all preceeding arguments represent the function parameters.",
                "class": {
                  "name": "String"
                },
                "multiple": true
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the function with the specified arguments where the\n last argument represents the function body and all preceeding arguments represent\n the function parameters.",
            "deprecated": false
          }
        },
        "methods": {
          "apply": {
            "name": "apply",
            "args": [
              {
                "name": "thisobj",
                "description": "the object to which the function is applied.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "Array of values or an arguments object to be passed as arguments to the function.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": "whatever value is returned by the invocation of the function."
            },
            "description": "Invokes this function as a method of the specified object\n passing the specified Array of arguments.",
            "deprecated": false
          },
          "call": {
            "name": "call",
            "args": [
              {
                "name": "thisobj",
                "description": "the object to which the function is applied.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "args",
                "description": "an optional list of one or more arguments values that are passed as arguments to the function.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "Object",
              "description": "whatever value is returned by the invocation of the function."
            },
            "description": "Invokes this function as a method of the specified object\n passing the specified optional arguments.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of this function object."
            },
            "description": "Returns a String representation of this function object.",
            "deprecated": false
          }
        }
      },
      "Generator": {
        "fullClassName": "TopLevel.Generator",
        "package": "TopLevel",
        "description": "A generator is a special type of function that works as a factory for\n iterators and it allows you to define an iterative algorithm by writing a\n single function which can maintain its own state. A function becomes a\n generator if it contains one or more <b>yield</b> statements.\n\n When a generator function is called, the body of the function does not\n execute straight away; instead, it returns a generator-iterator object.\n Each call to the generator-iterator's next() method will execute the\n body of the function up to the next <b>yield</b> statement and return its result.\n When either the end of the function or a return statement is reached,\n a StopIteration exception is thrown.\n\n For example, the following fib() function is a Fibonacci number generator,\n that returns the generator when it encounters the <b>yield</b> statement:\n <pre> <code>\n function fib() {\n    var fibNum = 0, j = 1;\n    while (true) {\n       <b><i>yield</i></b> fibNum;\n       var t = fibNum;\n       fibNum = j;\n       j += t;\n    }\n }\n </code>\n </pre>\n\n To use the generator, simply call the next() method to access the values\n returned by the function:\n <pre> <code>\n  var gen = fib();\n  for (var i = 0; i &lt; 10; i++) {\n    document.write(<b><i>gen.next()</i></b> \" \");\n  }\n </code>\n </pre>",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "Generator": {
            "name": "Generator",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {
          "close": {
            "name": "close",
            "args": [],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Closes the iteration of the generator. Any finally clauses active in\n the generator function are run. If a finally clause throws any\n exception other than StopIteration, the exception is propagated to\n the caller of the close() method.",
            "deprecated": false
          },
          "next": {
            "name": "next",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the result of resuming the iterative algorithm or a StopIterator exception if the sequence is exhausted."
            },
            "description": "Resumes the iteration of the generator by continuing the function\n at the statement after the yield statement. This function throws a\n StopIterator exception when there are no additional iterative steps.",
            "deprecated": false
          },
          "send": {
            "name": "send",
            "args": [
              {
                "name": "value",
                "description": "the value to use.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": ""
            },
            "description": "Allows you to control the resumption of the iterative algorithm. Once a\n generator has been started by calling its next() method, you can use\n send() and pass a specific value that will be treated as the result\n of the last yield. The generator will then return the operand of the\n subsequent yield.\n\n You can't start a generator at an arbitrary point; you must start\n it with next() before you can send() it a specific value. Note that\n calling send(undefined) is equivalent to calling next(). However,\n starting a newborn generator with any value other than 'undefined' when\n calling send() will result in a TypeError exception.",
            "deprecated": false
          }
        }
      },
      "IOError": {
        "fullClassName": "TopLevel.IOError",
        "package": "TopLevel",
        "description": "This error indicates an I/O related error in the system. The IOError\n is always related to a systems internal Java exception. The class provides\n access to some more details about this internal Java exception.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {
          "causeFullName": {
            "name": "causeFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the full name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeMessage": {
            "name": "causeMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the message of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeName": {
            "name": "causeName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the simplified name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaFullName": {
            "name": "javaFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The full name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaMessage": {
            "name": "javaMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The message of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaName": {
            "name": "javaName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The simplified name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "IOError": {
            "name": "IOError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Int16Array": {
        "fullClassName": "TopLevel.Int16Array",
        "package": "TopLevel",
        "description": "An optimized array to store 16-bit signed integer numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "2",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Int16Array": {
            "name": "Int16Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Int16Array0": {
            "name": "Int16Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Int16Array01": {
            "name": "Int16Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Int16Array012": {
            "name": "Int16Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Int16Array0123": {
            "name": "Int16Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Int16Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Int32Array": {
        "fullClassName": "TopLevel.Int32Array",
        "package": "TopLevel",
        "description": "An optimized array to store 32-bit signed integer numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "4",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Int32Array": {
            "name": "Int32Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Int32Array0": {
            "name": "Int32Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Int32Array01": {
            "name": "Int32Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Int32Array012": {
            "name": "Int32Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Int32Array0123": {
            "name": "Int32Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Int32Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Int8Array": {
        "fullClassName": "TopLevel.Int8Array",
        "package": "TopLevel",
        "description": "An optimized array to store 8-bit signed integer numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "1",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Int8Array": {
            "name": "Int8Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Int8Array0": {
            "name": "Int8Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Int8Array01": {
            "name": "Int8Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Int8Array012": {
            "name": "Int8Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Int8Array0123": {
            "name": "Int8Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Int8Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "InternalError": {
        "fullClassName": "TopLevel.InternalError",
        "package": "TopLevel",
        "description": "Represents the an internal error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "InternalError": {
            "name": "InternalError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "InternalError0": {
            "name": "InternalError",
            "args": [
              {
                "name": "msg",
                "description": "the internal error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Iterable": {
        "fullClassName": "TopLevel.Iterable",
        "package": "TopLevel",
        "description": "All objects containing the property @@iterator with a function returning an <a href=\"class_TopLevel_ES6Iterator.html\">ES6Iterator</a> are said to be an Iterable.",
        "hierarchy": [],
        "constants": {},
        "properties": {},
        "constructors": {},
        "methods": {
          "@@iterator": {
            "name": "@@iterator",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": "The iterator to be used for iterating this object."
            },
            "description": "Returns an iterator to be used for iterating this object. Typically returns a new iterator instance.\n For iterators returns typically the iterator itself.",
            "deprecated": false
          }
        }
      },
      "Iterator": {
        "fullClassName": "TopLevel.Iterator",
        "package": "TopLevel",
        "description": "An Iterator is a special object that lets you access items from a \n collection one at a time, while keeping track of its current position \n within that sequence.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "Iterator": {
            "name": "Iterator",
            "args": [
              {
                "name": "object",
                "description": "the object whose values will be accessible via the Iterator.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an Iterator instance for the specified object.\n The Iterator for the object is created by calling the \n object's __iterator__ method. If there is no __iterator__ method, \n a default iterator is created. The default iterator provides access to \n the object's properties, according to the usual for...in and for \n each...in model. \n \n If you want to provide a custom iterator, you should override \n the __iterator__ method to return an instance of your custom iterator.",
            "deprecated": false
          },
          "Iterator0": {
            "name": "Iterator",
            "args": [
              {
                "name": "object",
                "description": "the object whose keys or values will be accessible via the Iterator.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "keysOnly",
                "description": "if true, provides access to the object's keys. If false, provides access to the object's values.",
                "class": {
                  "name": "boolean"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an Iterator instance for the specified object's keys.\n The Iterator for the object is created by calling the \n object's __iterator__ method. If there is no __iterator__ method, \n a default iterator is created. The default iterator provides access to \n the object's properties, according to the usual for...in and for \n each...in model. \n \n If you want to provide a custom iterator, you should override \n the __iterator__ method to return an instance of your custom iterator.",
            "deprecated": false
          }
        },
        "methods": {
          "next": {
            "name": "next",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the next item in the iterator."
            },
            "description": "Returns the next item in the iterator. If there are no items left, \n the StopIteration exception is thrown. You should generally use this method \n in the context of a try...catch block to handle the StopIteration case.\n There is no guaranteed ordering of the data.",
            "deprecated": false
          }
        }
      },
      "JSON": {
        "fullClassName": "TopLevel.JSON",
        "package": "TopLevel",
        "description": "The JSON object is a single object that contains two functions, parse and stringify,\n that are used to parse and construct JSON texts. The JSON Data Interchange Format is\n described in RFC 4627.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "JSON": {
            "name": "JSON",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {
          "parse": {
            "name": "parse",
            "args": [
              {
                "name": "json",
                "description": "a JSON formatted string",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "the object produced from the JSON string"
            },
            "description": "The parse function parses a JSON text (a JSON formatted string) and produces an ECMAScript\n value. The JSON format is a restricted form of ECMAScript literal. JSON objects are realized\n as ECMAScript objects. JSON Arrays are realized as ECMAScript arrays. JSON strings, numbers,\n booleans, and null are realized as ECMAScript strings, numbers, booleans, and null.",
            "deprecated": false
          },
          "parse0": {
            "name": "parse",
            "args": [
              {
                "name": "json",
                "description": "a JSON formatted string",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "reviver",
                "description": "a function, which is called with each key, value pair during parsing",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "the object produced from the JSON string"
            },
            "description": "The parse function parses a JSON text (a JSON formatted string) and produces an ECMAScript\n value. The JSON format is a restricted form of ECMAScript literal. JSON objects are realized\n as ECMAScript objects. JSON Arrays are realized as ECMAScript arrays. JSON strings, numbers,\n booleans, and null are realized as ECMAScript strings, numbers, booleans, and null.\n\n The optional reviver parameter is a function that takes two parameters, (key, value). It can\n filter and transform the results. It is called with each of the key/value pairs produced by the\n parse, and its return value is used instead of the original value. If it returns what it\n received, the structure is not modified. If it returns undefined then the member is deleted\n from the result.",
            "deprecated": false
          },
          "stringify": {
            "name": "stringify",
            "args": [
              {
                "name": "value",
                "description": "the value which is stringified",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "the JSON string"
            },
            "description": "The stringify function produces a JSON formatted string that captures information\n from a JavaScript value. The value parameter is a JavaScript value is usually an\n object or array, although it can also be a string, boolean, number or null.\n\n Note: Stringifying API objects is not supported.",
            "deprecated": false
          },
          "stringify0": {
            "name": "stringify",
            "args": [
              {
                "name": "value",
                "description": "the value which is stringified",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "replacer",
                "description": "either a function, which is called with a key and value as parameter, or an array with an allowlist",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "the JSON string"
            },
            "description": "The stringify function produces a JSON formatted string that captures information\n from a JavaScript value. The value parameter is a JavaScript value is usually an\n object or array, although it can also be a string, boolean, number or null. The\n optional replacer parameter is either a function that alters the way objects and\n arrays are stringified, or an array of strings that acts as an allowlist for selecting\n the keys that will be stringified.\n\n Note: Stringifying API objects is not supported.",
            "deprecated": false
          },
          "stringify01": {
            "name": "stringify",
            "args": [
              {
                "name": "value",
                "description": "the value which is stringified",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "replacer",
                "description": "either a function, which is called with a key and value as parameter, or an array with an allowlist",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "space",
                "description": "the number of space for indenting",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "the JSON string"
            },
            "description": "The stringify function produces a JSON formatted string that captures information\n from a JavaScript value. The value parameter is a JavaScript value is usually an\n object or array, although it can also be a string, boolean, number or null. The\n optional replacer parameter is either a function that alters the way objects and\n arrays are stringified, or an array of strings that acts as an allowlist for selecting\n the keys that will be stringified. The optional space parameter is a string or number\n that allows the result to have white space injected into it to improve human readability.\n\n Note: Stringifying API objects is not supported.",
            "deprecated": false
          },
          "stringify012": {
            "name": "stringify",
            "args": [
              {
                "name": "value",
                "description": "the value which is stringified",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "replacer",
                "description": "either a function, which is called with a key and value as parameter, or an array with an allowlist",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "space",
                "description": "a string for indentation",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "the JSON string"
            },
            "description": "The stringify function produces a JSON formatted string that captures information\n from a JavaScript value. The value parameter is a JavaScript value is usually an\n object or array, although it can also be a string, boolean, number or null. The\n optional replacer parameter is either a function that alters the way objects and\n arrays are stringified, or an array of strings that acts as an allowlist for selecting\n the keys that will be stringified. The optional space parameter is a string or number\n that allows the result to have white space injected into it to improve human readability.\n\n Note: Stringifying API objects is not supported.",
            "deprecated": false
          }
        }
      },
      "Map": {
        "fullClassName": "TopLevel.Map",
        "package": "TopLevel",
        "description": "Map objects are collections of key/value pairs where both the keys and values may be arbitrary ECMAScript language\n values. A distinct key value may only occur in one key/value pair within the Map's collection. Key/value pairs are stored\n and iterated in insertion order.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "size": {
            "name": "size",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "Number of key/value pairs stored in this map.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Map": {
            "name": "Map",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty map.",
            "deprecated": false
          },
          "Map0": {
            "name": "Map",
            "args": [
              {
                "name": "values",
                "description": "The initial map values",
                "class": {
                  "name": "Iterable"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "If the passed value is null or undefined then an empty map is constructed. Else an iterator object is expected\n that produces a two element array-like object whose first element is a value that will be used as a Map key and\n whose second element is the value to associate with that key.",
            "deprecated": false
          }
        },
        "methods": {
          "clear": {
            "name": "clear",
            "args": [],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Removes all key/value pairs from this map.",
            "deprecated": false
          },
          "delete": {
            "name": "delete",
            "args": [
              {
                "name": "key",
                "description": "The key of the key/value pair to be removed from the map.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the map contained an entry for the passed key that was removed. Else false is returned."
            },
            "description": "Removes the entry for the given key.",
            "deprecated": false
          },
          "entries": {
            "name": "entries",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all key/value pairs of this map.\n The iterator produces a series of two-element arrays with the first element as the key and the second element as the value.",
            "deprecated": false
          },
          "forEach": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the value of the element, the key of the element, and the Map object being iterated.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Runs the provided callback function once for each key/value pair present in this map.",
            "deprecated": false
          },
          "forEach0": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the value of the element, the key of the element, and the Map object being iterated.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "thisObject",
                "description": "The Object to use as 'this' when executing callback.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Runs the provided callback function once for each key/value pair present in this map.",
            "deprecated": false
          },
          "get": {
            "name": "get",
            "args": [
              {
                "name": "key",
                "description": "The key to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": "The value associated with the given key if an entry with the key exists else undefined is returned."
            },
            "description": "Returns the value associated with the given key.",
            "deprecated": false
          },
          "has": {
            "name": "has",
            "args": [
              {
                "name": "key",
                "description": "The key to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if an entry with the key exists else false is returned."
            },
            "description": "Returns if this map has value associated with the given key.",
            "deprecated": false
          },
          "keys": {
            "name": "keys",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all keys of this map.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "key",
                "description": "The key object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be associated with the key.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Map",
              "description": "This map object."
            },
            "description": "Adds or updates a key/value pair to the map. \n You can't use JavaScript bracket notation to access map entries. JavaScript bracket notation accesses only\n properties for Map objects, not map entries.",
            "deprecated": false
          },
          "values": {
            "name": "values",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all values of this map.",
            "deprecated": false
          }
        }
      },
      "Math": {
        "fullClassName": "TopLevel.Math",
        "package": "TopLevel",
        "description": "Mathematical functions and constants.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "E": {
            "name": "E",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The constant e, which is the base of natural logarithms.",
            "deprecated": false,
            "type": "constant"
          },
          "LN10": {
            "name": "LN10",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The natural logarithm of 10.",
            "deprecated": false,
            "type": "constant"
          },
          "LN2": {
            "name": "LN2",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The natural logarithm of 2.",
            "deprecated": false,
            "type": "constant"
          },
          "LOG10E": {
            "name": "LOG10E",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The base-10 logarithm of e.",
            "deprecated": false,
            "type": "constant"
          },
          "LOG2E": {
            "name": "LOG2E",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The base-2 logarithm of e.",
            "deprecated": false,
            "type": "constant"
          },
          "PI": {
            "name": "PI",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The constant for PI.",
            "deprecated": false,
            "type": "constant"
          },
          "SQRT1_2": {
            "name": "SQRT1_2",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "1 divided by the square root of 2.",
            "deprecated": false,
            "type": "constant"
          },
          "SQRT2": {
            "name": "SQRT2",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The square root of 2.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {},
        "constructors": {
          "Math": {
            "name": "Math",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {
          "abs": {
            "name": "abs",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the absolute value of x."
            },
            "description": "Returns the absolute value of x. The result has the same magnitude as x but has positive sign.\n \n If x is NaN, the result is NaN.\n If x is -0, the result is +0.\n If x is -∞, the result is +∞.",
            "deprecated": false
          },
          "acos": {
            "name": "acos",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the arc cosine of x."
            },
            "description": "Returns an approximation to the arc cosine of x. The result is expressed in radians and ranges from +0 to\n +p.\n \n If x is NaN, the result is NaN.\n If x is greater than 1, the result is NaN.\n If x is less than -1, the result is NaN.\n If x is exactly 1, the result is +0.",
            "deprecated": false
          },
          "acosh": {
            "name": "acosh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the inverse hyperbolic cosine of x."
            },
            "description": "Returns an approximation to the inverse hyperbolic cosine of x.\n \n If x is NaN, the result is NaN.\n If x is less than 1, the result is NaN.\n If x is exactly 1, the result is +0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "asin": {
            "name": "asin",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the arc sine of x."
            },
            "description": "Returns an approximation to the arc sine of x. The result is expressed in radians and ranges from -p/2 to\n +p/2.\n \n If x is NaN, the result is NaN\n If x is greater than 1, the result is NaN.\n If x is less than -1, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.",
            "deprecated": false
          },
          "asinh": {
            "name": "asinh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the inverse hyperbolic sine of x."
            },
            "description": "Returns an approximation to the inverse hyperbolic sine of x.\n \n If x is NaN, the result is NaN\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -∞.",
            "deprecated": false
          },
          "atan": {
            "name": "atan",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the arc tangent of x."
            },
            "description": "Returns an approximation to the arc tangent of x. The result is expressed in radians and ranges from -p/2\n to +p/2.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is an approximation to +p/2.\n If x is -∞, the result is an approximation to -p/2.",
            "deprecated": false
          },
          "atan2": {
            "name": "atan2",
            "args": [
              {
                "name": "y",
                "description": "the first argument.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "x",
                "description": "the second argument.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "approximation to the arc tangent of the quotient y/x of the arguments y and x, where the signs of y and x are used to determine the quadrant of the result."
            },
            "description": "Returns an approximation to the arc tangent of the quotient y/x of the arguments y and x, where the\n signs of y and x are used to determine the quadrant of the result. Note that it is intentional and\n traditional for the two-argument arc tangent function that the argument named y be first and the argument\n named x be second. The result is expressed in radians and ranges from -p to +p.\n \n If either x or y is NaN, the result is NaN.\n If y>0 and x is +0, the result is an implementation-dependent approximation to +p/2.\n If y>0 and x is -0, the result is an implementation-dependent approximation to +p/2.\n If y is +0 and x>0, the result is +0.\n If y is +0 and x is +0, the result is +0.\n If y is +0 and x is -0, the result is an implementation-dependent approximation to +p.\n If y is +0 and X<0, the result is an implementation-dependent approximation to +p.\n If y is -0 and x>0, the result is -0.\n If y is -0 and x is +0, the result is -0.\n If y is -0 and x is -0, the result is an implementation-dependent approximation to -p.\n If y is -0 and X<0, the result is an implementation-dependent approximation to -p.\n If y<0 and x is +0, the result is an implementation-dependent approximation to -p/2.\n If y<0 and x is -0, the result is an implementation-dependent approximation to -p/2.\n If y>0 and y is finite and x is +∞, the result is +0.\n If y>0 and y is finite and x is -∞, the result if an implementation-dependent\n approximation to +p.\n If y<0 and y is finite and x is +∞, the result is -0.\n If y<0 and y is finite and x is -∞, the result is an implementation-dependent\n approximation to -p.\n If y is +∞ and x is finite, the result is an implementation-dependent approximation to\n +p/2.\n If y is -∞ and x is finite, the result is an implementation-dependent approximation to\n -p/2.\n If y is +∞ and x is +∞, the result is an implementation-dependent approximation to\n +p/4.\n If y is +∞ and x is -∞, the result is an implementation-dependent approximation to\n +3p/4.\n If y is -∞ and x is +∞, the result is an implementation-dependent approximation to\n -p/4.\n If y is -∞ and x is -∞, the result is an implementation-dependent approximation to\n -3p/4.",
            "deprecated": false
          },
          "atanh": {
            "name": "atanh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the inverse hyperbolic tangent of x."
            },
            "description": "Returns an approximation to the inverse hyperbolic tangent of x.\n \n If x is NaN, the result is NaN.\n If x is less than -1, the result is NaN.\n If x is greater than 1, the result is NaN.\n If x is exactly -1, the result is -∞.\n If x is exactly +1, the result is +∞.\n If x is +0, the result is +0.\n If x is -0, the result is -0.",
            "deprecated": false
          },
          "cbrt": {
            "name": "cbrt",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the cube root of x."
            },
            "description": "Returns an approximation to the cube root of x.\n \n If x is NaN, the result is NaN\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -∞.",
            "deprecated": false
          },
          "ceil": {
            "name": "ceil",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the smallest (closest to -∞) number value that is not less than x and is equal to a mathematical integer."
            },
            "description": "Returns the smallest (closest to -∞) number value that is not less than x and is equal to a\n mathematical integer. If x is already an integer, the result is x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -∞.\n If x is less than 0 but greater than -1, the result is -0.\n \n The value of Math.ceil(x) is the same as the value of -Math.floor(-x).",
            "deprecated": false
          },
          "clz32": {
            "name": "clz32",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the number of leading zero bits in the 32-bit binary representation of x."
            },
            "description": "Returns the number of leading zero bits in the 32-bit binary representation of x.",
            "deprecated": false
          },
          "cos": {
            "name": "cos",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the cosine of x."
            },
            "description": "Returns an approximation to the cosine of x. The argument is expressed in radians.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is 1.\n If x is -0, the result is 1.\n If x is +∞, the result is NaN.\n If x is -∞, the result is NaN.",
            "deprecated": false
          },
          "cosh": {
            "name": "cosh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the hyperbolic cosine of x."
            },
            "description": "Returns an approximation to the hyperbolic cosine of x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is 1.\n If x is -0, the result is 1.\n If x is +∞, the result is +∞.\n If x is -∞, the result is +∞.",
            "deprecated": false
          },
          "exp": {
            "name": "exp",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the exponential function of x."
            },
            "description": "Returns an approximation to the exponential function of x (e raised to the power\n of x, where e is the base of the natural logarithms).\n \n If x is NaN, the result is NaN.\n If x is +0, the result is 1.\n If x is -0, the result is 1.\n If x is +∞, the result is +∞.\n If x is -∞, the result is +0.",
            "deprecated": false
          },
          "expm1": {
            "name": "expm1",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to subtracting 1 from the exponential function of x."
            },
            "description": "Returns an approximation to subtracting 1 from the exponential function of x (e raised to the power of x, where e\n is the base of the natural logarithms). The result is computed in a way that is accurate even when the value of x\n is close 0.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -1.",
            "deprecated": false
          },
          "floor": {
            "name": "floor",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the greatest (closest to +∞) number value that is not greater than x and is equal to a mathematical integer."
            },
            "description": "Returns the greatest (closest to +∞) number value that is not greater than x and is equal to a\n mathematical integer. If x is already an integer, the result is x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -∞.\n If x is greater than 0 but less than 1, the result is +0.\n \n The value of Math.floor(x) is the same as the value of -Math.ceil(-x).",
            "deprecated": false
          },
          "fround": {
            "name": "fround",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the nearest 32-bit single precision float representation of x."
            },
            "description": "Returns returns the nearest 32-bit single precision float representation of x.",
            "deprecated": false
          },
          "hypot": {
            "name": "hypot",
            "args": [
              {
                "name": "values",
                "description": "the Number values to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation of the square root of the sum of squares of the arguments."
            },
            "description": "Returns an approximation of the square root of the sum of squares of the arguments.\n \n If no arguments are passed, the result is +0.\n If any argument is +∞, the result is +∞.\n If any argument is -∞, the result is +∞.\n If no argument is +∞ or -∞ and any argument is NaN, the result is NaN.\n If all arguments are either +0 or -0, the result is +0.",
            "deprecated": false
          },
          "imul": {
            "name": "imul",
            "args": [
              {
                "name": "x",
                "description": "The first operand.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "y",
                "description": "The second operand.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the result of the 32 bit multiplication. The result is a 32 bit signed integer value."
            },
            "description": "Performs a 32 bit integer multiplication, where the result is always a 32 bit integer value, ignoring any overflows.",
            "deprecated": false
          },
          "log": {
            "name": "log",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the natural logarithm of x."
            },
            "description": "Returns an approximation to the natural logarithm of x.\n \n If x is NaN, the result is NaN.\n If x is less than 0, the result is NaN.\n If x is +0 or -0, the result is -∞.\n If x is 1, the result is +0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "log10": {
            "name": "log10",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the base 10 logarithm of x."
            },
            "description": "Returns an approximation to the base 10 logarithm of x.\n \n If x is NaN, the result is NaN.\n If x is less than 0, the result is NaN.\n If x is +0 or -0, the result is -∞.\n If x is 1, the result is +0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "log1p": {
            "name": "log1p",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the natural logarithm of of 1 + x."
            },
            "description": "Returns an approximation to the natural logarithm of of 1 + x.\n \n If x is NaN, the result is NaN.\n If x is less than -1, the result is NaN.\n If x is -1, the result is -∞.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "log2": {
            "name": "log2",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the base 2 logarithm of x."
            },
            "description": "Returns an approximation to the base 2 logarithm of x.\n \n If x is NaN, the result is NaN.\n If x is less than 0, the result is NaN.\n If x is +0 or -0, the result is -∞.\n If x is 1, the result is +0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "max": {
            "name": "max",
            "args": [
              {
                "name": "values",
                "description": "zero or more values.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the largest of the specified values."
            },
            "description": "Returns the largest specified values. If no arguments are given, the result is -∞. If any value is NaN, the\n result is NaN.",
            "deprecated": false
          },
          "min": {
            "name": "min",
            "args": [
              {
                "name": "values",
                "description": "zero or more values.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the smallest of the specified values."
            },
            "description": "Returns the smallest of the specified values. If no arguments are given, the result is +∞. If any value is\n NaN, the result is NaN.",
            "deprecated": false
          },
          "pow": {
            "name": "pow",
            "args": [
              {
                "name": "x",
                "description": "a Number that will be raised to the power of y.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "y",
                "description": "the power by which x will be raised.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the result of raising x to the power y."
            },
            "description": "Returns an approximation to the result of raising x to the power y.\n \n If y is NaN, the result is NaN.\n If y is +0, the result is 1, even if x is NaN.\n If y is -0, the result is 1, even if x is NaN.\n If x is NaN and y is nonzero, the result is NaN.\n If abs(x)>1 and y is +∞, the result is +∞.\n If abs(x)>1 and y is -∞, the result is +0.\n If abs(x)==1 and y is +∞, the result is NaN.\n If abs(x)==1 and y is -∞, the result is NaN.\n If abs(x)<1 and y is +∞, the result is +0.\n If abs(x)<1 and y is -∞, the result is +∞.\n If x is +∞ and y>0, the result is +∞.\n If x is +∞ and y<0, the result is +0.\n If x is -∞ and y>0 and y is an odd integer, the result is -∞.\n If x is -∞ and y>0 and y is not an odd integer, the result is +∞.\n If x is -∞ and y<0 and y is an odd integer, the result is -0.\n If x is -∞ and y<0 and y is not an odd integer, the result is +0.\n If x is +0 and y>0, the result is +0.\n If x is +0 and y<0, the result is +∞.\n If x is -0 and y>0 and y is an odd integer, the result is -0.\n If x is -0 and y>0 and y is not an odd integer, the result is +0.\n If x is -0 and y<0 and y is an odd integer, the result is -∞.\n If x is -0 and y<0 and y is not an odd integer, the result is +∞.\n If X<0 and x is finite and y is finite and y is not an integer, the result is\n NaN.",
            "deprecated": false
          },
          "random": {
            "name": "random",
            "args": [],
            "static": true,
            "class": {
              "name": "Number",
              "description": "a Number greater than or equal to 0 but less than 1."
            },
            "description": "Returns a number value with positive sign, greater than or equal to 0 but less than 1, chosen randomly or pseudo\n randomly with approximately uniform distribution over that range, using an implementation-dependent algorithm or\n strategy.",
            "deprecated": false
          },
          "round": {
            "name": "round",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the number value that is closest to x and is equal to a mathematical integer."
            },
            "description": "Returns the number value that is closest to x and is equal to a mathematical integer. If two integer\n number values are equally close to x, then the result is the number value that is closer to +∞. If x\n is already an integer, the result is x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is -∞.\n If x is greater than 0 but less than 0.5, the result is +0.\n If x is less than 0 but greater than or equal to -0.5, the result is -0.\n \n Math.round(3.5) returns 4, but Math.round(-3.5) returns -3. The value of Math.round(x) is the same as the\n value of Math.floor(x+0.5), except when x is -0 or is less than 0 but greater than or equal to\n -0.5; for these cases Math.round(x) returns -0, but Math.floor(x+0.5) returns +0.",
            "deprecated": false
          },
          "sign": {
            "name": "sign",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the sign of x."
            },
            "description": "Returns the sign of x, indicating whether x is positive, negative, or zero.\n \n If x is NaN, the result is NaN.\n If x is -0, the result is -0.\n If x is +0, the result is +0.\n If x is negative and not -0, the result is -1.\n If x is positive and not +0, the result is +1.",
            "deprecated": false
          },
          "sin": {
            "name": "sin",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the sine of x."
            },
            "description": "Returns an approximation to the sine of x. The argument is expressed in radians.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞ or -∞, the result is NaN.",
            "deprecated": false
          },
          "sinh": {
            "name": "sinh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the hyperbolic sine of x."
            },
            "description": "Returns an approximation to the hyperbolic sine of x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.\n If x is -∞, the result is +∞.",
            "deprecated": false
          },
          "sqrt": {
            "name": "sqrt",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the square root of x."
            },
            "description": "Returns an approximation to the square root of x.\n \n If x is NaN, the result is NaN.\n If x isless than 0, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +∞.",
            "deprecated": false
          },
          "tan": {
            "name": "tan",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the tangent of x."
            },
            "description": "Returns an approximation to the tangent of x. The argument is expressed in radians.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞ or -∞, the result is NaN.",
            "deprecated": false
          },
          "tanh": {
            "name": "tanh",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "an approximation to the hyperbolic tangent of x."
            },
            "description": "Returns an approximation to the hyperbolic tangent of x.\n \n If x is NaN, the result is NaN.\n If x is +0, the result is +0.\n If x is -0, the result is -0.\n If x is +∞, the result is +1.\n If x is -∞, the result is -1.",
            "deprecated": false
          },
          "trunc": {
            "name": "trunc",
            "args": [
              {
                "name": "x",
                "description": "the Number to operate on.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "the integral part of the number of x."
            },
            "description": "Returns the integral part of the number x, removing any fractional digits. If x is already an integer, the result is x.\n \n If x is NaN, the result is NaN.\n If x is -0, the result is -0.\n If x is +0, the result is +0.\n If x is -∞, the result is -∞.\n If x is +∞, the result is +∞.\n If x is greater than 0 but less than 1, the result is +0.\n If x is less than 0 but greater than -1, the result is -0.",
            "deprecated": false
          }
        }
      },
      "Module": {
        "fullClassName": "TopLevel.Module",
        "package": "TopLevel",
        "description": "CommonJS modules are JavaScript files that are loaded using the <a href=\"class_TopLevel_global.html#TopLevel_global_require_String_DetailAnchor\"> require(String)</a>\n function. This function returns a module object, which wraps the script code from the file. Within a module\n implementation, the module object can be accessed via the <a href=\"class_TopLevel_global.html#TopLevel_global_module_DetailAnchor\"> module</a> variable.\n <p>\n A module has a unique absolute id. The same module may be resolved by <a href=\"class_TopLevel_global.html#TopLevel_global_require_String_DetailAnchor\"> require(String)</a>\n for different path arguments, like relative paths (starting with \"./\" or \"../\"), or absolute paths. See the\n documentation of require for more details about the lookup procedure.\n </p>\n <p>\n Every module object has an <a href=\"class_TopLevel_Module.html#TopLevel_Module_exports_DetailAnchor\">exports</a> property which can be used by the module implementation to expose its\n public functions or properties. Only functions and properties that are explicitly exported are accessible from other\n modules, all others are private and not visible. For convenience, the global <a href=\"class_TopLevel_global.html#TopLevel_global_exports_DetailAnchor\"> exports</a> variable\n is by default also initialized with the <a href=\"class_TopLevel_Module.html#TopLevel_Module_exports_DetailAnchor\"> module.exports</a> property of the current module.\n </p>\n In the most simple case, module elements can be exposed by adding them to the exports object, like:\n\n <pre> // Greeting.js\n exports.sayHello = function() {\n     return 'Hello World!';\n };\n </pre>\n\n This is equivalent to:\n\n <pre> // Greeting.js\n module.exports.sayHello = function() {\n     return 'Hello World!';\n };\n </pre>\n\n With the above implementation, a caller (for example another module in the same directory) could call the module\n function like this:\n\n <pre> var message = require('./Greeting').sayHello();\n </pre>\n\n It is also possible to replace the whole module exports object with a completely different value, for example with a\n function:\n\n <pre> // Greeting.js\n module.exports = function sayHello() {\n     return 'Hi!';\n }\n </pre>\n\n Now the result of require would be a function, which can be invoked directly like:\n\n <pre> var message = require('./Greeting')();\n </pre>\n\n This construction can be used for exporting constructor functions, so that a module becomes something like a class:\n\n <pre> // Greeting.js\n function Greeting()\n {\n     this.message = 'Hi!';\n }\n\n Greeting.prototype.getMessage = function() {\n     return this.message;\n }\n\n module.exports = Greeting;\n </pre>\n\n which would be used like:\n\n <pre> var Greeting = require('./Greeting');\n var m = new Greeting().getMessage();\n </pre>",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "cartridge": {
            "name": "cartridge",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The name of the cartridge which contains the module.",
            "deprecated": false,
            "type": "property"
          },
          "exports": {
            "name": "exports",
            "class": {
              "name": "Object"
            },
            "static": false,
            "readonly": false,
            "description": "The exports of the module.",
            "deprecated": false,
            "type": "property"
          },
          "id": {
            "name": "id",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The absolute, normalized id of the module, which uniquely identifies it. A call to the\n global.require(String) function with this id would resolve this module.",
            "deprecated": false,
            "type": "property"
          },
          "superModule": {
            "name": "superModule",
            "class": {
              "name": "Module"
            },
            "static": false,
            "readonly": false,
            "description": "The module (if exists) that is overridden by this module. The super module would have the same path as the\n current module but its code location would be checked later in the lookup sequence. This property is useful to\n reuse functionality implemented in overridden modules.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {},
        "methods": {}
      },
      "Namespace": {
        "fullClassName": "TopLevel.Namespace",
        "package": "TopLevel",
        "description": "Namespace objects represent XML namespaces and provide an\n association between a namespace prefix and a Unique Resource\n Identifier (URI). The prefix is either the undefined value\n or a string value that may be used to reference the namespace\n within the lexical representation of an XML value. When an\n XML object containing a namespace with an undefined prefix is\n encoded as XML by the method toXMLString(), the implementation\n will automatically generate a prefix.\n The URI is a string value used to uniquely identify the namespace.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "prefix": {
            "name": "prefix",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": true,
            "description": "The prefix of the Namespace object.",
            "deprecated": false,
            "type": "property"
          },
          "uri": {
            "name": "uri",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": true,
            "description": "The Uniform Resource Identifier (URI) of the Namespace object.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Namespace": {
            "name": "Namespace",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs a simple namespace where the\n uri and prefix properties are set to an empty string.\n A namespace with URI set to the empty string represents no namespace.\n No namespace is used in XML objects to explicitly specify\n that a name is not inside a namespace and may never be\n associated with a prefix other than the empty string.",
            "deprecated": false
          },
          "Namespace0": {
            "name": "Namespace",
            "args": [
              {
                "name": "uriValue",
                "description": "the value to use when constructing the Namespace.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a Namespace object and assigns values to the\n uri and prefix properties based on the type\n of uriValue. If uriValue is a\n Namespace object, a copy of the Namespace is constructed.\n If uriValue is a QName object, the uri property is\n set to the QName object's uri property.\n Otherwise, uriValue is converted into a string and\n assigned to the uri property.",
            "deprecated": false
          },
          "Namespace01": {
            "name": "Namespace",
            "args": [
              {
                "name": "prefixValue",
                "description": "the prefix value to use when constructing the Namespace.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "uriValue",
                "description": "the value to use when constructing the Namespace.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a Namespace object and assigns values to the\n uri and prefix properties.\n\n The value of the prefixValue parameter is assigned to the\n prefix property in the following manner:\n \n If undefined is passed, prefix is set to undefined.\n If the argument is a valid XML name, it is converted\n to a string and assigned to the prefix property.\n If the argument is not a valid XML name, the prefix\n property is set to undefined.\n \n The value of the uriValue parameter is assigned\n to the uri property in the following manner:\n \n If a QName object is passed for the uriValue parameter,\n the uri property is set to the value of the QName object's uri property.\n If a QName object is not passed for the uriValue parameter,\n the uriValue parameter is converted to a string and assigned to the uri property.",
            "deprecated": false
          }
        },
        "methods": {
          "getPrefix": {
            "name": "getPrefix",
            "args": [],
            "class": {
              "name": "String",
              "description": "the prefix of the Namespace object."
            },
            "description": "Returns the prefix of the Namespace object.",
            "deprecated": false
          },
          "getUri": {
            "name": "getUri",
            "args": [],
            "class": {
              "name": "String",
              "description": "the Uniform Resource Identifier (URI) of the Namespace object."
            },
            "description": "Returns the Uniform Resource Identifier (URI) of the Namespace object.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a string representation of this Namespace object."
            },
            "description": "Returns a string representation of this Namespace object.",
            "deprecated": false
          }
        }
      },
      "Number": {
        "fullClassName": "TopLevel.Number",
        "package": "TopLevel",
        "description": "A Number object represents any numerical value, whether it is an integer\n or floating-point number. Generally, you do not need to worry about a Number\n object because a numerical value automatically becomes a Number object instance\n when you use a numerical value or assign it to a variable.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "EPSILON": {
            "name": "EPSILON",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "EPSILON is the Number value for the magnitude of the difference between 1 and the smallest\n value greater than 1 that is representable as a Number value, which is approximately\n 2.2204460492503130808472633361816 × 10-16.",
            "deprecated": false,
            "type": "constant"
          },
          "MAX_SAFE_INTEGER": {
            "name": "MAX_SAFE_INTEGER",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The maximum safe integer in JavaScript.",
            "deprecated": false,
            "type": "constant"
          },
          "MAX_VALUE": {
            "name": "MAX_VALUE",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The largest representable Number.",
            "deprecated": false,
            "type": "constant"
          },
          "MIN_SAFE_INTEGER": {
            "name": "MIN_SAFE_INTEGER",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The minimum safe integer in JavaScript.",
            "deprecated": false,
            "type": "constant"
          },
          "MIN_VALUE": {
            "name": "MIN_VALUE",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "The smallest representable Number.",
            "deprecated": false,
            "type": "constant"
          },
          "NaN": {
            "name": "NaN",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "Not a Number.",
            "deprecated": false,
            "type": "constant"
          },
          "NEGATIVE_INFINITY": {
            "name": "NEGATIVE_INFINITY",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "Negative infinite value; returned on overflow;",
            "deprecated": false,
            "type": "constant"
          },
          "POSITIVE_INFINITY": {
            "name": "POSITIVE_INFINITY",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "Negative infinite value; returned on overflow;",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {},
        "constructors": {
          "Number": {
            "name": "Number",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs a Number with value 0",
            "deprecated": false
          },
          "Number0": {
            "name": "Number",
            "args": [
              {
                "name": "num",
                "description": "the Number to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a new Number using the specified Number.",
            "deprecated": false
          },
          "Number01": {
            "name": "Number",
            "args": [
              {
                "name": "value",
                "description": "the value to use when creating the Number.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a Number using the specified value.",
            "deprecated": false
          }
        },
        "methods": {
          "isFinite": {
            "name": "isFinite",
            "args": [
              {
                "name": "value",
                "description": "The value to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed value is a finite number, else false."
            },
            "description": "Determines whether the passed value is a finite number.",
            "deprecated": false
          },
          "isInteger": {
            "name": "isInteger",
            "args": [
              {
                "name": "value",
                "description": "The value to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed value is a finite integer number, else false."
            },
            "description": "Determines whether the passed value is an integer number.",
            "deprecated": false
          },
          "isNaN": {
            "name": "isNaN",
            "args": [
              {
                "name": "value",
                "description": "The value to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed value is the NaN number value, else false."
            },
            "description": "Determines whether the passed value is NaN. Unlike the global function, the passed parameter is not converted to number before doing the check.",
            "deprecated": false
          },
          "isSafeInteger": {
            "name": "isSafeInteger",
            "args": [
              {
                "name": "value",
                "description": "The value to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the passed value is a safe integer number, else false."
            },
            "description": "Determines whether the passed value is a safe integer number.",
            "deprecated": false
          },
          "parseFloat": {
            "name": "parseFloat",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the float as a Number."
            },
            "description": "Parses a String into an float Number.",
            "deprecated": false
          },
          "parseInt": {
            "name": "parseInt",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the integer as a Number."
            },
            "description": "Parses a String into an integer Number.\n This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix.\n If the string starts with \"0x\" or \"0X\" then the radix is 16. In all other cases the radix is 10.",
            "deprecated": false
          },
          "parseInt0": {
            "name": "parseInt",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "radix",
                "description": "the radix to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the integer as a Number."
            },
            "description": "Parses a String into an integer Number using the\n specified radix.",
            "deprecated": false
          },
          "toExponential": {
            "name": "toExponential",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String using exponential notation."
            },
            "description": "Converts this Number to a String using exponential notation.",
            "deprecated": false
          },
          "toExponential0": {
            "name": "toExponential",
            "args": [
              {
                "name": "digits",
                "description": "the number of digits after the decimal place.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a String using exponential notation with the specified number of digits after the decimal place."
            },
            "description": "Converts this Number to a String using exponential notation with\n the specified number of digits after the decimal place.",
            "deprecated": false
          },
          "toFixed": {
            "name": "toFixed",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of the number"
            },
            "description": "Converts a Number to a String that contains a no fractional part.",
            "deprecated": false
          },
          "toFixed0": {
            "name": "toFixed",
            "args": [
              {
                "name": "digits",
                "description": "the number of digits after the decimal place.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a String that contains a specified number of digits after the decimal place."
            },
            "description": "Converts a Number to a String that contains a specified number\n of digits after the decimal place.",
            "deprecated": false
          },
          "toLocaleString0": {
            "name": "toLocaleString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String using local number formatting conventions."
            },
            "description": "Converts this Number to a String using local number formatting conventions. \n The current implementation actually only returns the same as toString().",
            "deprecated": false
          },
          "toPrecision": {
            "name": "toPrecision",
            "args": [
              {
                "name": "precision",
                "description": "the precision to use when converting the Number to a String.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a String using the specified number of significant digits."
            },
            "description": "Converts a Number to a String using the specified number\n of significant digits. Uses exponential or fixed point\n notation depending on the size of the number and the number of\n significant digits specified.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String representation of this Number."
            },
            "description": "A String representation of this Number.",
            "deprecated": false
          },
          "toString01": {
            "name": "toString",
            "args": [
              {
                "name": "radix",
                "description": "the radix to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a String representation of this Number."
            },
            "description": "Converts the number into a string using the specified radix (base).",
            "deprecated": false
          }
        }
      },
      "StopIteration": {
        "fullClassName": "TopLevel.StopIteration",
        "package": "TopLevel",
        "description": "A special type of exception that is thrown when an Iterator or Generator \n sequence is exhausted.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "StopIteration": {
            "name": "StopIteration",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "SystemError": {
        "fullClassName": "TopLevel.SystemError",
        "package": "TopLevel",
        "description": "This error indicates an error in the system, which doesn't fall into\n any of the other error categories like for example IOError. The SystemError\n is always related to a systems internal Java exception. The class provides\n access to some more details about this internal Java exception.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {
          "causeFullName": {
            "name": "causeFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the full name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeMessage": {
            "name": "causeMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the message of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "causeName": {
            "name": "causeName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "If the exception is associated with a root cause, the property\n contains the simplified name of the associated Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaFullName": {
            "name": "javaFullName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The full name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaMessage": {
            "name": "javaMessage",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The message of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          },
          "javaName": {
            "name": "javaName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "The simplified name of the underlying Java exception.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "SystemError": {
            "name": "SystemError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Uint8Array": {
        "fullClassName": "TopLevel.Uint8Array",
        "package": "TopLevel",
        "description": "An optimized array to store 8-bit unsigned integer numbers. Elements of this array are stored in an\n <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "1",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Uint8Array": {
            "name": "Uint8Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Uint8Array0": {
            "name": "Uint8Array",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Uint8Array01": {
            "name": "Uint8Array",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Uint8Array012": {
            "name": "Uint8Array",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Uint8Array0123": {
            "name": "Uint8Array",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Uint8Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Uint8ClampedArray": {
        "fullClassName": "TopLevel.Uint8ClampedArray",
        "package": "TopLevel",
        "description": "An optimized array to store 8-bit unsigned integer numbers. If a value outside of the range 0-255 is attempted to be\n set, either 0 or 255 is set instead. Elements of this array are stored in an <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a> object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "BYTES_PER_ELEMENT": {
            "name": "BYTES_PER_ELEMENT",
            "value": "1",
            "class": {
              "name": "Number"
            },
            "description": "Number value of the element size.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "buffer": {
            "name": "buffer",
            "class": {
              "name": "ArrayBuffer"
            },
            "static": false,
            "readonly": false,
            "description": "The array buffer referenced by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteLength": {
            "name": "byteLength",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of bytes in the array buffer used by this typed array.",
            "deprecated": false,
            "type": "property"
          },
          "byteOffset": {
            "name": "byteOffset",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The start offset for this typed array within the array buffer.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of elements.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Uint8ClampedArray": {
            "name": "Uint8ClampedArray",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Uint8ClampedArray0": {
            "name": "Uint8ClampedArray",
            "args": [
              {
                "name": "length",
                "description": "The number of elements.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array with the given element count.",
            "deprecated": false
          },
          "Uint8ClampedArray01": {
            "name": "Uint8ClampedArray",
            "args": [
              {
                "name": "typedArray",
                "description": "The source typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed typed array.",
            "deprecated": false
          },
          "Uint8ClampedArray012": {
            "name": "Uint8ClampedArray",
            "args": [
              {
                "name": "array",
                "description": "The source array.",
                "class": {
                  "name": "Array"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates an array as a copy of the passed array.",
            "deprecated": false
          },
          "Uint8ClampedArray0123": {
            "name": "Uint8ClampedArray",
            "args": [
              {
                "name": "buffer",
                "description": "The array buffer storage object.",
                "class": {
                  "name": "ArrayBuffer"
                },
                "multiple": false
              },
              {
                "name": "byteOffset",
                "description": "Optional. The offset within the array buffer in bytes.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Optional. The number of elements for the target typed array. The passed array buffer must be large enough to store the number of elements specified.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a typed array as a view on the given ArrayBuffer.",
            "deprecated": false
          }
        },
        "methods": {
          "get": {
            "name": "get",
            "args": [
              {
                "name": "index",
                "description": "The index to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The value at the specified index."
            },
            "description": "Returns the value at the specified index. \n Note: This is not ECMAScript standard. Use array element access syntax for single value access.",
            "deprecated": false
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "values",
                "description": "The source values. Can be an array or a typed array.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "offset",
                "description": "Optional. Target offset.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Copies all values from the source array into this typed array.",
            "deprecated": false
          },
          "subarray": {
            "name": "subarray",
            "args": [
              {
                "name": "begin",
                "description": "Optional. The first included element.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "Optional. The index of the end. This element is not included.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Uint8ClampedArray",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "arguments": {
        "fullClassName": "TopLevel.arguments",
        "package": "TopLevel",
        "description": "The arguments of a function.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "callee": {
            "name": "callee",
            "class": {
              "name": "Object"
            },
            "static": false,
            "readonly": false,
            "description": "A reference to the function that is currently executing.",
            "deprecated": false,
            "type": "property"
          },
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The number of arguments passed to the function.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "arguments": {
            "name": "arguments",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "global": {
        "fullClassName": "TopLevel.global",
        "package": "TopLevel",
        "description": "The global object is a pre-defined object that serves as a placeholder for the global\n properties and functions of JavaScript. All other predefined objects, functions, and\n properties are accessible through the global object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "Infinity": {
            "name": "Infinity",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "representation for Infinity as an Integer",
            "deprecated": false,
            "type": "constant"
          },
          "NaN": {
            "name": "NaN",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "representation for Not a Number as an Integer",
            "deprecated": false,
            "type": "constant"
          },
          "PIPELET_ERROR": {
            "name": "PIPELET_ERROR",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "represents an error during pipelet execution",
            "deprecated": false,
            "type": "constant"
          },
          "PIPELET_NEXT": {
            "name": "PIPELET_NEXT",
            "value": null,
            "class": {
              "name": "Number"
            },
            "description": "represents the next pipelet to fire",
            "deprecated": false,
            "type": "constant"
          },
          "slotcontent": {
            "name": "slotcontent",
            "value": null,
            "class": {
              "name": "Object"
            },
            "description": "Provides access to the SlotContent object.  Available only in ISML\n templates that are defined as the Slot's template.  For example,\n <isprint value=\"${slotcontent.callout}\"> will print out the callout message\n of the active Slot.",
            "deprecated": false,
            "type": "constant"
          },
          "undefined": {
            "name": "undefined",
            "value": null,
            "class": {
              "name": "Object"
            },
            "description": "representation for undefined",
            "deprecated": false,
            "type": "constant"
          },
          "webreferences": {
            "name": "webreferences",
            "value": null,
            "class": {
              "name": "Object"
            },
            "description": "Provides access to WSDL definition files in a Cartridge's webreferences\n folder. For example, webreferences.mywebservice loads the\n mywebservice.wsdl file and returns an instance of dw.rpc.WebReference.\n The WebReference instance enables you to access the actual web service\n via the WebReference.getDefaultService() method.",
            "deprecated": false,
            "type": "constant"
          },
          "webreferences2": {
            "name": "webreferences2",
            "value": null,
            "class": {
              "name": "Object"
            },
            "description": "Provides access to WSDL definition files in a Cartridge's webreferences2\n folder. For example, webreferences2.mywebservice loads the\n mywebservice.wsdl file and returns an instance of dw.ws.WebReference2.\n The WebReference2 instance enables you to access the actual web service\n via the WebReference2.getDefaultService() method.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {
          "customer": {
            "name": "customer",
            "class": {
              "name": "Customer"
            },
            "static": true,
            "readonly": false,
            "description": "The current customer or null if this request is not associated with any customer.",
            "deprecated": false,
            "type": "property"
          },
          "exports": {
            "name": "exports",
            "class": {
              "name": "Object"
            },
            "static": true,
            "readonly": false,
            "description": "References the  module.exports property of the current module. Available only in scripts that were loaded\n as CommonJS module using the require(String) function.",
            "deprecated": false,
            "type": "property"
          },
          "globalThis": {
            "name": "globalThis",
            "class": {
              "name": "Object"
            },
            "static": true,
            "readonly": false,
            "description": "Provides access to the global scope object containing all built-in functions and classes.",
            "deprecated": false,
            "type": "property"
          },
          "module": {
            "name": "module",
            "class": {
              "name": "Module"
            },
            "static": true,
            "readonly": false,
            "description": "An object representing the current module. Available only in scripts that were loaded\n as CommonJS module using the require(String) function.",
            "deprecated": false,
            "type": "property"
          },
          "request": {
            "name": "request",
            "class": {
              "name": "Request"
            },
            "static": true,
            "readonly": false,
            "description": "The current request.",
            "deprecated": false,
            "type": "property"
          },
          "response": {
            "name": "response",
            "class": {
              "name": "Response"
            },
            "static": true,
            "readonly": false,
            "description": "The current response.",
            "deprecated": false,
            "type": "property"
          },
          "session": {
            "name": "session",
            "class": {
              "name": "Session"
            },
            "static": true,
            "readonly": false,
            "description": "The current session.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {},
        "methods": {
          "decodeURI": {
            "name": "decodeURI",
            "args": [
              {
                "name": "uri",
                "description": "a string that contains an encoded URI or other text to be decoded.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "A copy of uri with any hexadecimal escape sequences replaced with the characters they represent"
            },
            "description": "Unescapes characters in a URI component.",
            "deprecated": false
          },
          "decodeURIComponent": {
            "name": "decodeURIComponent",
            "args": [
              {
                "name": "uriComponent",
                "description": "a string that contains an encoded URI component or other text to be decoded.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "A copy of uriComponent with any hexadecimal escape sequences replaced with the characters they represent"
            },
            "description": "Unescapes characters in a URI component.",
            "deprecated": false
          },
          "empty": {
            "name": "empty",
            "args": [
              {
                "name": "obj",
                "description": "the object to be thested",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the object is interpreted as being empty"
            },
            "description": "The method tests, whether the given object is empty. The interpretation\n of empty is the following.\n - null is always empty\n - undefined is always empty\n - a string with zero length is empty\n - an array with no elements is empty\n - a collection with no elements is empty",
            "deprecated": false
          },
          "encodeURI": {
            "name": "encodeURI",
            "args": [
              {
                "name": "uri",
                "description": "a String that contains the URI or other text to be encoded.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "a copy of uri with certain characters replaced by hexadecimal escape sequences."
            },
            "description": "Escapes characters in a URI.",
            "deprecated": false
          },
          "encodeURIComponent": {
            "name": "encodeURIComponent",
            "args": [
              {
                "name": "uriComponent",
                "description": "a String that contains a portion of a URI or other text to be encoded.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "a copy of uriComponent with certain characters replaced by hexadecimal escape sequences."
            },
            "description": "Escapes characters in a URI component.",
            "deprecated": false
          },
          "escape": {
            "name": "escape",
            "args": [
              {
                "name": "s",
                "description": "the String to be encoded.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "a copy of s where characters have been replace by hexadecimal escape sequences."
            },
            "description": "Encodes a String.",
            "deprecated": false
          },
          "eval": {
            "name": "eval",
            "args": [
              {
                "name": "code",
                "description": "a String that contains the JavaScript expression to be evaluated or the statements to be executed.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "the value of the executed call or null."
            },
            "description": "Execute JavaScript code from a String.",
            "deprecated": true
          },
          "importClass": {
            "name": "importClass",
            "args": [
              {
                "name": "classPath",
                "description": "the fully qualified class path.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Import the specified class and make it\n available at the top level. It's equivalent in effect to the\n Java import declaration.",
            "deprecated": false
          },
          "importPackage": {
            "name": "importPackage",
            "args": [
              {
                "name": "packagePath",
                "description": "the fully qualified package path.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Import all the classes in the specified package\n available at the top level. It's equivalent in effect to the\n Java import declaration.",
            "deprecated": false
          },
          "importScript": {
            "name": "importScript",
            "args": [
              {
                "name": "scriptPath",
                "description": "the path to the script.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Imports all functions from the specified script. Variables are not imported\n from the script and must be accessed through helper functions.\n\n The script path has the following syntax: [cartridgename:]scriptname, where\n cartridgename identifies a cartridge where the script file is located. If\n cartridgename is omitted the script file is loaded from the same cartridge\n in which the importing component is located.\n\n Examples:\n importScript( 'example.ds' ) imports the script file example.ds from the same cartridge\n importScript( 'abc:example.ds' ) imports the script file example.ds from the cartridge 'abc'",
            "deprecated": false
          },
          "isFinite": {
            "name": "isFinite",
            "args": [
              {
                "name": "number",
                "description": "the Number to test.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the specified Number is finite, false otherwise."
            },
            "description": "Returns true if the specified Number is finite.",
            "deprecated": false
          },
          "isNaN": {
            "name": "isNaN",
            "args": [
              {
                "name": "object",
                "description": "the Object to be tested as a number",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "True if the object is not a number"
            },
            "description": "Test the specified value to determine if it\n is not a Number.",
            "deprecated": false
          },
          "isXMLName": {
            "name": "isXMLName",
            "args": [
              {
                "name": "name",
                "description": "the String specified",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "True if the string is a valid name"
            },
            "description": "Determines whether the specified string is a valid name for an\n XML element or attribute.",
            "deprecated": false
          },
          "parseFloat": {
            "name": "parseFloat",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the float as a Number."
            },
            "description": "Parses a String into an float Number.",
            "deprecated": false
          },
          "parseInt": {
            "name": "parseInt",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "radix",
                "description": "the radix to use.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the integer as a Number."
            },
            "description": "Parses a String into an integer Number using the\n specified radix.",
            "deprecated": false
          },
          "parseInt0": {
            "name": "parseInt",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the integer as a Number."
            },
            "description": "Parses a String into an integer Number.\n This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix.\n If the string starts with \"0x\" or \"0X\" then the radix is 16. If the string starts with \"0\" the the radix is 8. In all other cases the radix is 10.",
            "deprecated": false
          },
          "parseInt01": {
            "name": "parseInt",
            "args": [
              {
                "name": "s",
                "description": "the String to parse.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Number",
              "description": "Returns the integer as a Number."
            },
            "description": "Parses a String into an integer Number.\n This function is a short form for the call to parseInt(String, Number) with automatic determination of the radix.\n If the string starts with \"0x\" or \"0X\" then the radix is 16. In all other cases the radix is 10.",
            "deprecated": false
          },
          "require": {
            "name": "require",
            "args": [
              {
                "name": "path",
                "description": "the path to the JavaScript module.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Module",
              "description": "an object with the exported functions and properties."
            },
            "description": "The require() function supports loading of modules in JavaScript. The function works similar to the require() function\n in CommonJS. The general module loading works the same way, but the exact path lookup is slightly different\n and better fits into Demandware concepts. Here are the details for the lookup:\n \n If the module name starts with \"./\" or \"../\" then load it relative to the current module. The module can be a file or a directory. A file\n extension is acknowledged, but not required. If it's a directory a 'package.json' or a 'main' file is expected.\n If the 'package.json' does not contain a main entry, then default to main file in the directory.\n Access to parent files can't go beyond the cartridges directory. Access to other cartridges is explicitly allowed.\n If the module name starts with \"~/\" it's a path relative to the current cartridge.\n If the module name starts with \"*/\" try to find the module in all cartridges that are assigned to the current site.\n A module with the name \"dw\" or which starts with \"dw/\" references Demandware built-in functions and classes.\n For example var u = require( 'dw/util' ); loads the classes in the util package, which can be then used like\n var h = new u.HashMap();\n A module, which doesn't start with \"./\" or \"../\" is resolved as top level module.\n \n The module name is used to find a folder in the top cartridge directory, typically a cartridge itself, but it can also be a simple folder.\n If nothing is found, the module name is used to look into a special folder called \"modules\" in the top cartridge directory. That folder\n can be used by a developer to manage different modules. For example a developer could drop a module like \"less.js\" just into that folder.\n \n \n If the require function is used to reference a file then an optional file extension is used to determine the content of the file. Currently\n supported are the extensions ordered by priority:\n \n js - JavaScript file\n ds - Demandware Script file\n json - JSON file",
            "deprecated": false
          },
          "trace": {
            "name": "trace",
            "args": [
              {
                "name": "msg",
                "description": "the message to format.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "params",
                "description": "one, or multiple parameters that are used to format the message.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Formats and prints the message using the specified params and returns\n the formatted message. The format message is a Java MessageFormat\n expression. Printing happens in the script log output.",
            "deprecated": false
          },
          "unescape": {
            "name": "unescape",
            "args": [
              {
                "name": "string",
                "description": "the String to decode.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "a copy of the String where hexadecimal character sequences are replace by Unicode characters."
            },
            "description": "Decode an escaped String.",
            "deprecated": false
          }
        }
      }
    },
    "dw": {
      "alert": {
        "Alert": {
          "fullClassName": "dw.alert.Alert",
          "package": "dw.alert",
          "description": "This class represents a single system alert to be shown to a Business Manager user.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "PRIORITY_ACTION": {
              "name": "PRIORITY_ACTION",
              "value": "\"ACTION\"",
              "class": {
                "name": "String"
              },
              "description": "String constant to denote the 'action required' priority.",
              "deprecated": false,
              "type": "constant"
            },
            "PRIORITY_INFO": {
              "name": "PRIORITY_INFO",
              "value": "\"INFO\"",
              "class": {
                "name": "String"
              },
              "description": "String constant to denote the 'informational' priority.",
              "deprecated": false,
              "type": "constant"
            },
            "PRIORITY_WARN": {
              "name": "PRIORITY_WARN",
              "value": "\"WARN\"",
              "class": {
                "name": "String"
              },
              "description": "String constant to denote the 'warning' priority.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "alertDescriptorID": {
              "name": "alertDescriptorID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the referenced alert description.",
              "deprecated": false,
              "type": "property"
            },
            "contextObjectID": {
              "name": "contextObjectID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the referenced context object (or null, if no context object is assigned to this alert).",
              "deprecated": false,
              "type": "property"
            },
            "displayMessage": {
              "name": "displayMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Resolves the display message to be shown.\n It refers to the message resource ID specified in the alert descriptor file (\"message-resource-id\") and the message provided\n by the 'alerts.properties' resource bundle.\n When the referenced message contains parameter placeholders (such as '{0}' and '{1}') they are replaced by the parameters stored with the alert.",
              "deprecated": false,
              "type": "property"
            },
            "priority": {
              "name": "priority",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The priority assigned to the message.\n One of the string constants defined in this class (PRIORITY_INFO, PRIORITY_WARN, PRIORITY_ACTION).",
              "deprecated": false,
              "type": "property"
            },
            "remediationURL": {
              "name": "remediationURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The URL of the page where the user can resolve the alert, as provided in the\n 'alerts.json' descriptor file.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAlertDescriptorID": {
              "name": "getAlertDescriptorID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the referenced alert description"
              },
              "description": "Returns the ID of the referenced alert description.",
              "deprecated": false
            },
            "getContextObjectID": {
              "name": "getContextObjectID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the referenced context object"
              },
              "description": "Returns the ID of the referenced context object (or null, if no context object is assigned to this alert).",
              "deprecated": false
            },
            "getDisplayMessage": {
              "name": "getDisplayMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display message"
              },
              "description": "Resolves the display message to be shown.\n It refers to the message resource ID specified in the alert descriptor file (\"message-resource-id\") and the message provided\n by the 'alerts.properties' resource bundle.\n When the referenced message contains parameter placeholders (such as '{0}' and '{1}') they are replaced by the parameters stored with the alert.",
              "deprecated": false
            },
            "getPriority": {
              "name": "getPriority",
              "args": [],
              "class": {
                "name": "String",
                "description": "the priority"
              },
              "description": "Returns the priority assigned to the message.\n One of the string constants defined in this class (PRIORITY_INFO, PRIORITY_WARN, PRIORITY_ACTION).",
              "deprecated": false
            },
            "getRemediationURL": {
              "name": "getRemediationURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "the remediation URL"
              },
              "description": "The URL of the page where the user can resolve the alert, as provided in the\n 'alerts.json' descriptor file.",
              "deprecated": false
            }
          }
        },
        "Alerts": {
          "fullClassName": "dw.alert.Alerts",
          "package": "dw.alert",
          "description": "<p>Allow creation, removal, re-validation and retrieval of alerts that might get visible to Business Manager users.</p>\n <p>The alerts have to be registered by the 'alerts.json' descriptor file in a cartridge assigned to the Business Manager site.\n The descriptor file itself has to be defined in 'package.json' of that cartridge using a property 'alerts' and providing its path\n that is relative to the 'package.json'.\n The 'alert.json' descriptor files contain the 'alert descriptions', which are referenced by their ID throughout the API.</p>\n <p>For example, the 'alerts.json' file could have the following content:</p>\n <pre> {\n   \"alerts\": [\n     {\n       \"alert-id\": \"missing_org_config\",\n       \"menu-action\": \"global-prefs_custom_prefs\",\n       \"message-resource-id\": \"global.missing_org_config\",\n       \"priority\": \"ACTION\",\n       \"remediation\": {\n         \"pipeline\":\"GlobalCustomPreferences\",\n         \"start-node\":\"View\"\n       }\n     },\n     {\n       \"alert-id\":\"promo_in_past\",\n       \"menu-action\":\"marketing_promotions\",\n       \"context-object-type\":\"Promotion\",\n       \"message-resource-id\":\"promotion.in_the_past\",\n       \"priority\":\"WARN\",\n       \"remediation\": {\n         \"pipeline\":\"ViewApplication\",\n         \"start-node\":\"BM\",\n         \"parameter\":\"screen=Promotion\"\n       }\n     }\n   ]\n }\n </pre>\n The referenced menu actions can be found in the 'bm_extensions.xml' file of a Business manager extension cartridge\n (a sample file containing all current menu entries is provided when creating a new extension cartridge in Studio).",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "addAlert": {
              "name": "addAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new alert for the given ID.\n If such an alert already exists, no new one is created, and the existing one is not modified.",
              "deprecated": false
            },
            "addAlert0": {
              "name": "addAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObject",
                  "description": "the context object",
                  "class": {
                    "name": "PersistentObject"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new alert for the given ID and context object.\n If such an alert already exists, no new one is created, and the existing one is not modified.\n Multiple alerts for the same alert descriptor ID may exist, as long as they reference different objects.\n To refer to the same alert afterwards (e.g. to remove the alert) the same object must be provided.",
              "deprecated": false
            },
            "addAlert01": {
              "name": "addAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObjectID",
                  "description": "the ID of the referenced object",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new alert for the given ID and ID of the context object.\n If such an alert already exists, no new one is created, and the existing one is not modified.\n Multiple alerts for the same alert descriptor ID may exist, as long as they reference different objects.\n To refer to the same alert afterwards (e.g. to remove it) the same object ID must be provided.\n\n Use this method when the alerts refers to an object which is not a PersistentObject.",
              "deprecated": false
            },
            "getAlerts": {
              "name": "getAlerts",
              "args": [
                {
                  "name": "alertDescriptorIDs",
                  "description": "the IDs of the referenced alert descriptions",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "List",
                "description": "the list of alerts (of type Alert)"
              },
              "description": "Retrieves all alerts for a set of alert descriptor ID.",
              "deprecated": false
            },
            "getAlertsForContextObject": {
              "name": "getAlertsForContextObject",
              "args": [
                {
                  "name": "contextObjectID",
                  "description": "the ID of the referenced object",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "alertDescriptorIDs",
                  "description": "the IDs of the referenced alert descriptions",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "List",
                "description": "the list of alerts (of type Alert)"
              },
              "description": "Retrieves all alerts for a set of alert descriptor ID and the given context object ID.",
              "deprecated": false
            },
            "getAlertsForContextObject0": {
              "name": "getAlertsForContextObject",
              "args": [
                {
                  "name": "contextObject",
                  "description": "the context object",
                  "class": {
                    "name": "PersistentObject"
                  },
                  "multiple": false
                },
                {
                  "name": "alertDescriptorIDs",
                  "description": "the IDs of the referenced alert descriptions",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "List",
                "description": "the list of alerts (of type Alert)"
              },
              "description": "Retrieves all alerts for a set of alert descriptor ID and the given context object.",
              "deprecated": false
            },
            "removeAlert": {
              "name": "removeAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes all alerts for the given alert descriptor ID. This method will remove also alert referencing\n context objects, as long as they reference the same alert description.",
              "deprecated": false
            },
            "removeAlert0": {
              "name": "removeAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObject",
                  "description": "the context object",
                  "class": {
                    "name": "PersistentObject"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the alert for the given alert description and context object.",
              "deprecated": false
            },
            "removeAlert01": {
              "name": "removeAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObjectID",
                  "description": "the context object ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the alert for the given alert description and context object ID.",
              "deprecated": false
            },
            "revalidateAlert": {
              "name": "revalidateAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "processFunction",
                  "description": "the validation function. Must return true when the alert needs to be created.",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Re-evaluates the process function, and creates or removes the respective alert.\n The process function must return true when the alert should be created, and false when it should be removed.\n When the process function states that the alert should be created, but it already exists, it is not created again. Instead, the existing\n alert is updated with the supplied parameters.",
              "deprecated": false
            },
            "revalidateAlert0": {
              "name": "revalidateAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObject",
                  "description": "the context object for which the validation is done, might be null",
                  "class": {
                    "name": "PersistentObject"
                  },
                  "multiple": false
                },
                {
                  "name": "processFunction",
                  "description": "the validation function. Must return true when the alert needs to be created.",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Re-evaluates the process function, and creates or removes the respective alert. The context object is handed as the only parameter to the process function.\n The process function must return true when the alert should be created, and false when it should be removed.\n When the process function states that the alert should be created, but it already exists, it is not created again. Instead, the existing\n alert is updated with the supplied parameters.",
              "deprecated": false
            },
            "revalidateAlert01": {
              "name": "revalidateAlert",
              "args": [
                {
                  "name": "alertDescriptorID",
                  "description": "the ID of the referenced alert description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObject",
                  "description": "the context object for which the validation is done",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "contextObjectID",
                  "description": "the id of the context object for which the validation is done (and which is used to add / remove the alert object)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "processFunction",
                  "description": "the validation function. Must return true when the alert needs to be created.",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "parameters which may be shown in the alert message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Re-evaluates the process function, and creates or removes the respective alert. When the optional\n context object is supplied, it is handed as the only parameter to the process function (if its not supplied,\n no parameter is given to the function).\n The process function must return true when the alert should be created, and false when it should be removed.\n When the process function states that the alert should be created, but it already exists, it is not created again. Instead, the existing\n alert is updated with the supplied parameters.\n Use this variant of the function when the context object is not a persistent object. In this case the ID to be assigned\n to the alert must be supplied as an additional parameter. (Either both the context object and the ID must be provided, or none of them)",
              "deprecated": false
            }
          }
        }
      },
      "campaign": {
        "ABTest": {
          "fullClassName": "dw.campaign.ABTest",
          "package": "dw.campaign",
          "description": "Object representing an AB-test in Commerce Cloud Digital.\n <p>\n AB-tests provide the merchant the ability to compare one set of storefront\n \"experiences\" - promotions, sorting rules, and slot configurations in\n particular - against another set. The merchant configures different AB-test\n segments which define the sets of experiences that the merchant wishes to\n test. AB-tests run for a configured period of time, and customers are\n randomly assigned by the platform to the test segments according to\n allocation percentages defined by the merchant.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the test ID for this AB-test.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the test ID for this AB-test."
              },
              "description": "Get the test ID for this AB-test.",
              "deprecated": false
            }
          }
        },
        "ABTestMgr": {
          "fullClassName": "dw.campaign.ABTestMgr",
          "package": "dw.campaign",
          "description": "Manager class used to access AB-test information in the storefront.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "assignedTestSegments": {
              "name": "assignedTestSegments",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "Return the AB-test segments to which the current customer is assigned.\n AB-test segments deleted in the meantime will not be returned.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAssignedTestSegments": {
              "name": "getAssignedTestSegments",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "unordered collection of ABTestSegment instances representing the AB-test segments to which the current customer is assigned."
              },
              "description": "Return the AB-test segments to which the current customer is assigned.\n AB-test segments deleted in the meantime will not be returned.",
              "deprecated": false
            },
            "isParticipant": {
              "name": "isParticipant",
              "args": [
                {
                  "name": "testID",
                  "description": "The ID of the AB-test, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "segmentID",
                  "description": "The ID of the segment within the AB-test, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if the current customer is a member of the specified AB-test segment, false otherwise."
              },
              "description": "Test whether the current customer is a member of the specified AB-test\n segment. This method can be used to customize the storefront experience\n in ways that are not supported using Business Manager configuration\n alone.",
              "deprecated": false
            }
          }
        },
        "ABTestSegment": {
          "fullClassName": "dw.campaign.ABTestSegment",
          "package": "dw.campaign",
          "description": "Object representing an AB-test segment in the Commerce Cloud Digital.\n <p>\n Each AB-test defines 1 or more segments to which customers are randomly\n assigned by the platform when they qualify for the AB-test. Customers are\n assigned to segments according to allocation percentages controlled by the\n merchant. Each AB-test segment defines a set of \"experiences\" that the\n merchant is testing and which which apply only to the customers in that\n segment.  There is always one \"control\" segment which contains only the\n default set of experiences for that site.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {},
          "properties": {
            "ABTest": {
              "name": "ABTest",
              "class": {
                "name": "ABTest"
              },
              "static": false,
              "readonly": true,
              "description": "Get the AB-test to which this segment belongs.",
              "deprecated": false,
              "type": "property"
            },
            "controlSegment": {
              "name": "controlSegment",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this is the \"control segment\" for the AB-test, meaning\n the segment that has no experiences associated with it.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the ID of the AB-test segment.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getABTest": {
              "name": "getABTest",
              "args": [],
              "class": {
                "name": "ABTest",
                "description": "the AB-test to which this segment belongs."
              },
              "description": "Get the AB-test to which this segment belongs.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the AB-test segment."
              },
              "description": "Get the ID of the AB-test segment.",
              "deprecated": false
            },
            "isControlSegment": {
              "name": "isControlSegment",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this segment is the \"control segment\" for the AB-test, or false otherwise."
              },
              "description": "Returns true if this is the \"control segment\" for the AB-test, meaning\n the segment that has no experiences associated with it.",
              "deprecated": false
            }
          }
        },
        "AmountDiscount": {
          "fullClassName": "dw.campaign.AmountDiscount",
          "package": "dw.campaign",
          "description": "Represents an <i>amount-off</i> discount in the discount plan, for example\n \"$10 off all orders $100 or more\".",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "amount": {
              "name": "amount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The discount amount, for example 10.00 for a \"$10 off\" discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "AmountDiscount": {
              "name": "AmountDiscount",
              "args": [
                {
                  "name": "amount",
                  "description": "amount off, e.g. 15.00 for a \"15$ off\" discount",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create an amount-discount on the fly. Can be used to create a custom price adjustment.",
              "deprecated": false
            }
          },
          "methods": {
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Discount amount"
              },
              "description": "Returns the discount amount, for example 10.00 for a \"$10 off\" discount.",
              "deprecated": false
            }
          }
        },
        "ApproachingDiscount": {
          "fullClassName": "dw.campaign.ApproachingDiscount",
          "package": "dw.campaign",
          "description": "Transient class representing a discount that a <a href=\"class_dw_order_LineItemCtnr.html\">LineItemCtnr</a>\n \"almost\" qualifies for based on the amount of merchandise in it. Storefronts\n can display information about approaching discounts to customers in order to\n entice them to buy more merchandise.\n <p>\n Approaching discounts are calculated on the basis of a\n <a href=\"class_dw_campaign_DiscountPlan.html\">DiscountPlan</a> instead of a LineItemCtnr itself. When one\n of <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getDiscounts_LineItemCtnr_DetailAnchor\">PromotionMgr.getDiscounts(LineItemCtnr)</a> or\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getDiscounts_LineItemCtnr_PromotionPlan_DetailAnchor\">PromotionMgr.getDiscounts(LineItemCtnr, PromotionPlan)</a> is\n called, the promotions engine calculates the discounts the LineItemCtnr\n receives based on the promotions in context, and also tries to determine the\n discounts the LineItemCtnr would receive if additional merchandise were\n added. DiscountPlan provides different methods to retrieve this approaching\n discount info. Merchants can use these fine-grained methods to display\n information about approaching order discounts on the cart page, and\n approaching shipping discounts on the shipping method page during checkout,\n for example.\n </p><p>\n The merchant may include or exclude individual promotions from being included\n in this list, and define distance thresholds when configuring their\n promotions.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "conditionThreshold": {
              "name": "conditionThreshold",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The amount of merchandise required in the cart in order to receive the\n discount. For an order promotion \"Get 15% off orders of $100 or more\",\n the condition threshold is $100.00.",
              "deprecated": false,
              "type": "property"
            },
            "discount": {
              "name": "discount",
              "class": {
                "name": "Discount"
              },
              "static": false,
              "readonly": true,
              "description": "The discount that the customer will receive if he adds more merchandise\n to the cart. For an order promotion \"Get 15% off orders of $100 or more\",\n the discount is a PercentageDiscount object.",
              "deprecated": false,
              "type": "property"
            },
            "distanceFromConditionThreshold": {
              "name": "distanceFromConditionThreshold",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Convenience method that returns\n getConditionThreshold().subtract(getMerchandiseValue())",
              "deprecated": false,
              "type": "property"
            },
            "merchandiseTotal": {
              "name": "merchandiseTotal",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The amount of merchandise in the cart contributing towards the condition\n threshold. This will always be less than the condition threshold.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getConditionThreshold": {
              "name": "getConditionThreshold",
              "args": [],
              "class": {
                "name": "Money",
                "description": "The amount of merchandise required in the cart in order to receive the discount."
              },
              "description": "The amount of merchandise required in the cart in order to receive the\n discount. For an order promotion \"Get 15% off orders of $100 or more\",\n the condition threshold is $100.00.",
              "deprecated": false
            },
            "getDiscount": {
              "name": "getDiscount",
              "args": [],
              "class": {
                "name": "Discount",
                "description": "The discount that the customer will receive if he adds more merchandise to the cart."
              },
              "description": "The discount that the customer will receive if he adds more merchandise\n to the cart. For an order promotion \"Get 15% off orders of $100 or more\",\n the discount is a PercentageDiscount object.",
              "deprecated": false
            },
            "getDistanceFromConditionThreshold": {
              "name": "getDistanceFromConditionThreshold",
              "args": [],
              "class": {
                "name": "Money",
                "description": "The amount of money needed to add to the order or shipment in order to receive the discount."
              },
              "description": "Convenience method that returns\n getConditionThreshold().subtract(getMerchandiseValue())",
              "deprecated": false
            },
            "getMerchandiseTotal": {
              "name": "getMerchandiseTotal",
              "args": [],
              "class": {
                "name": "Money",
                "description": "The amount of merchandise in the cart contributing towards the condition threshold."
              },
              "description": "The amount of merchandise in the cart contributing towards the condition\n threshold. This will always be less than the condition threshold.",
              "deprecated": false
            }
          }
        },
        "BonusChoiceDiscount": {
          "fullClassName": "dw.campaign.BonusChoiceDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>choice of bonus products</i> discount in the discount plan,\n for example \"Choose 3 DVDs from a list of 20 options with your purchase of\n any DVD player.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "bonusProducts": {
              "name": "bonusProducts",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Get the list of bonus products which the customer is allowed to choose\n from for this discount. This list is configured by a merchant entering a\n list of SKUs for the discount. Products which do not exist in the system,\n or are offline, or are not assigned to a category in the site catalog are\n filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered\n out. This allows merchants to display out-of-stock bonus products with\n appropriate messaging.\n \n If a returned product is a master product, the customer is entitled to\n choose from any variant. If the product is an option product, the\n customer is entitled to choose any value for each option. Since the\n promotions engine does not touch the value of the product option line\n items, it is the responsibility of custom code to set option prices.\n \n If the promotion is rule based, then this method will return an empty list.\n A ProductSearchModel should be used to return the bonus products the\n customer may choose from instead. See\n ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS and\n ProductSearchModel.setPromotionID(String)",
              "deprecated": false,
              "type": "property"
            },
            "maxBonusItems": {
              "name": "maxBonusItems",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum number of bonus items that a customer is entitled to\n select for this discount.",
              "deprecated": false,
              "type": "property"
            },
            "ruleBased": {
              "name": "ruleBased",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this is a \"rule based\" bonus choice discount.\n For such discounts, there is no static list of bonus products\n associated with the discount but rather a discounted product\n rule associated with the promotion which defines the bonus\n products. To retrieve the list of selectable bonus products for\n display in the storefront, it is necessary to search for the\n bonus products using the ProductSearchModel\n API since the method getBonusProducts() in this class\n will always return an empty list. Furthermore, for rule based\n bonus-choice discounts, getBonusProductPrice(Product)\n will always return a price of 0.00 for bonus products.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBonusProductPrice": {
              "name": "getBonusProductPrice",
              "args": [
                {
                  "name": "product",
                  "description": "The bonus product to retrieve a price for, must not be null.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The price of the passed bonus product as a Number."
              },
              "description": "Get the effective price for the passed bonus product. This is expected to\n be one of the products returned by getBonusProducts() with one\n exception: If a master product is configured as a bonus product, this\n implies that a customer may choose from any of its variants. In this\n case, it is allowed to pass in a variant to this method and a price will\n be returned. If the passed product is not a valid bonus product, this\n method throws an exception.",
              "deprecated": false
            },
            "getBonusProducts": {
              "name": "getBonusProducts",
              "args": [],
              "class": {
                "name": "List",
                "description": "An ordered list of bonus products that the customer may choose from for this discount."
              },
              "description": "Get the list of bonus products which the customer is allowed to choose\n from for this discount. This list is configured by a merchant entering a\n list of SKUs for the discount. Products which do not exist in the system,\n or are offline, or are not assigned to a category in the site catalog are\n filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered\n out. This allows merchants to display out-of-stock bonus products with\n appropriate messaging.\n \n If a returned product is a master product, the customer is entitled to\n choose from any variant. If the product is an option product, the\n customer is entitled to choose any value for each option. Since the\n promotions engine does not touch the value of the product option line\n items, it is the responsibility of custom code to set option prices.\n \n If the promotion is rule based, then this method will return an empty list.\n A ProductSearchModel should be used to return the bonus products the\n customer may choose from instead. See\n ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS and\n ProductSearchModel.setPromotionID(String)",
              "deprecated": false
            },
            "getMaxBonusItems": {
              "name": "getMaxBonusItems",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The maximum number of bonus items that this discount permits a customer to select."
              },
              "description": "Returns the maximum number of bonus items that a customer is entitled to\n select for this discount.",
              "deprecated": false
            },
            "isRuleBased": {
              "name": "isRuleBased",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this is a rule-based bonus-choice discount, or false if this discount defines a simple static list of bonus products."
              },
              "description": "Returns true if this is a \"rule based\" bonus choice discount.\n For such discounts, there is no static list of bonus products\n associated with the discount but rather a discounted product\n rule associated with the promotion which defines the bonus\n products. To retrieve the list of selectable bonus products for\n display in the storefront, it is necessary to search for the\n bonus products using the ProductSearchModel\n API since the method getBonusProducts() in this class\n will always return an empty list. Furthermore, for rule based\n bonus-choice discounts, getBonusProductPrice(Product)\n will always return a price of 0.00 for bonus products.",
              "deprecated": false
            }
          }
        },
        "BonusDiscount": {
          "fullClassName": "dw.campaign.BonusDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>bonus</i> discount in the discount plan, for example\n \"Get a free DVD with your purchase of any DVD player.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "bonusProducts": {
              "name": "bonusProducts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The bonus products associated with this discount that are in\n stock, online and assigned to site catalog.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBonusProducts": {
              "name": "getBonusProducts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of bonus products"
              },
              "description": "Returns the bonus products associated with this discount that are in\n stock, online and assigned to site catalog.",
              "deprecated": false
            }
          }
        },
        "Campaign": {
          "fullClassName": "dw.campaign.Campaign",
          "package": "dw.campaign",
          "description": "A Campaign is a set of experiences (or site configurations) which may be\n deployed as a single unit for a given time frame.  The system currently\n supports 3 types of experience that may be assigned to a campaign:\n\n <ul>\n <li>Promotions</li>\n <li>Slot Configurations</li>\n <li>Sorting Rules</li>\n </ul>\n\n This list may be extended in the future.\n <p>\n A campaign can have a start and end date or be open-ended.  It may also have\n \"qualifiers\" which determine which customers the campaign applies to.\n The currently supported qualifiers are:\n\n </p><ul>\n <li>Customer groups (where \"Everyone\" is a possible customer group)</li>\n <li>Source codes</li>\n <li>Coupons</li>\n </ul>\n\n A campaign can have list of stores or store groups where it can be applicable to.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "active": {
              "name": "active",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the campaign is currently active, otherwise\n 'false'. \n A campaign is active if it is enabled and scheduled for now.",
              "deprecated": false,
              "type": "property"
            },
            "applicableInStore": {
              "name": "applicableInStore",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if campaign is applicable to store, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "applicableOnline": {
              "name": "applicableOnline",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if campaign is applicable to online site, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "coupons": {
              "name": "coupons",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The coupons assigned to the campaign.",
              "deprecated": false,
              "type": "property"
            },
            "customerGroups": {
              "name": "customerGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The customer groups assigned to the campaign.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The internal description of the campaign.",
              "deprecated": false,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if campaign is enabled, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "endDate": {
              "name": "endDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The end date of the campaign. If no end date is defined for the\n campaign, null is returned. A campaign w/o end date will run forever.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique campaign ID.",
              "deprecated": false,
              "type": "property"
            },
            "promotions": {
              "name": "promotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Returns promotions defined in this campaign in no particular order.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeGroups": {
              "name": "sourceCodeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The source codes assigned to the campaign.",
              "deprecated": false,
              "type": "property"
            },
            "startDate": {
              "name": "startDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The start date of the campaign. If no start date is defined for the\n campaign, null is returned. A campaign w/o start date is immediately\n effective.",
              "deprecated": false,
              "type": "property"
            },
            "storeGroups": {
              "name": "storeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Returns store groups assigned to the campaign.",
              "deprecated": false,
              "type": "property"
            },
            "stores": {
              "name": "stores",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Returns stores assigned to the campaign.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCoupons": {
              "name": "getCoupons",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All coupons assigned to the campaign."
              },
              "description": "Returns the coupons assigned to the campaign.",
              "deprecated": false
            },
            "getCustomerGroups": {
              "name": "getCustomerGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Customer groups assigned to campaign."
              },
              "description": "Returns the customer groups assigned to the campaign.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "Internal description of campaign."
              },
              "description": "Returns the internal description of the campaign.",
              "deprecated": false
            },
            "getEndDate": {
              "name": "getEndDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "End date of campaign."
              },
              "description": "Returns the end date of the campaign. If no end date is defined for the\n campaign, null is returned. A campaign w/o end date will run forever.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the campaign."
              },
              "description": "Returns the unique campaign ID.",
              "deprecated": false
            },
            "getPromotions": {
              "name": "getPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All promotions defined in campaign."
              },
              "description": "Returns promotions defined in this campaign in no particular order.",
              "deprecated": false
            },
            "getSourceCodeGroups": {
              "name": "getSourceCodeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All source code groups assigned to campaign."
              },
              "description": "Returns the source codes assigned to the campaign.",
              "deprecated": false
            },
            "getStartDate": {
              "name": "getStartDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "Start date of campaign."
              },
              "description": "Returns the start date of the campaign. If no start date is defined for the\n campaign, null is returned. A campaign w/o start date is immediately\n effective.",
              "deprecated": false
            },
            "getStoreGroups": {
              "name": "getStoreGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All store groups assigned to the campaign."
              },
              "description": "Returns store groups assigned to the campaign.",
              "deprecated": false
            },
            "getStores": {
              "name": "getStores",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All stores assigned to the campaign."
              },
              "description": "Returns stores assigned to the campaign.",
              "deprecated": false
            },
            "isActive": {
              "name": "isActive",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true of campaign is active, otherwise false."
              },
              "description": "Returns 'true' if the campaign is currently active, otherwise\n 'false'. \n A campaign is active if it is enabled and scheduled for now.",
              "deprecated": false
            },
            "isApplicableInStore": {
              "name": "isApplicableInStore",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if campaign is applicable to store, otherwise false."
              },
              "description": "Returns true if campaign is applicable to store, otherwise false.",
              "deprecated": false
            },
            "isApplicableOnline": {
              "name": "isApplicableOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if campaign is applicable to online site, otherwise false."
              },
              "description": "Returns true if campaign is applicable to online site, otherwise false.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if campaign is enabled, otherwise false."
              },
              "description": "Returns true if campaign is enabled, otherwise false.",
              "deprecated": false
            }
          }
        },
        "CampaignMgr": {
          "fullClassName": "dw.campaign.CampaignMgr",
          "package": "dw.campaign",
          "description": "CampaignMgr provides static methods for managing campaign-specific operations\n such as accessing promotions or updating promotion line items.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "applicablePromotions": {
              "name": "applicablePromotions",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "The enabled promotions of active campaigns applicable for the\n current customer and source code.\n \n Note that this method does not return any coupon-based promotions.",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "applyBonusPromotions": {
              "name": "applyBonusPromotions",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "Basket or order",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                },
                {
                  "name": "promotions",
                  "description": "Parameter not used, can be null",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "True if line item container contains bonus product line items, else false"
              },
              "description": "This method has been deprecated and should not be used anymore.\n Instead, use PromotionMgr to apply promotions to\n line item containers.\n \n The method does nothing, since bonus promotions  are applied as product\n or order promotions using methods\n applyProductPromotions(LineItemCtnr, Collection) and\n applyOrderPromotions(LineItemCtnr, Collection).\n \n The method returns 'true' if any the line item container contains\n any bonus product line items, and otherwise false.",
              "deprecated": true
            },
            "applyOrderPromotions": {
              "name": "applyOrderPromotions",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "basket or order",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                },
                {
                  "name": "promotions",
                  "description": "list of all promotions to be applied",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if changes were made to the line item container, false otherwise."
              },
              "description": "Applies the applicable order promotions in the specified collection to the\n specified line item container.\n \n This method has been deprecated and should not be used anymore.\n Instead, use PromotionMgr to apply promotions to\n line item containers.\n \n Note that the method does also apply any bonus discounts defined\n as order promotions (see also applyBonusPromotions(LineItemCtnr, Collection)).",
              "deprecated": true
            },
            "applyProductPromotions": {
              "name": "applyProductPromotions",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "basket or order",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                },
                {
                  "name": "promotions",
                  "description": "list of all promotions to be applied",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if changes were made to the line item container, false otherwise."
              },
              "description": "Applies all applicable product promotions in the specified collection to the\n specified line item container.\n \n This method has been deprecated and should not be used anymore.\n Instead, use PromotionMgr to apply promotions to\n line item containers.\n \n Note that the method does also apply any bonus discounts defined\n as product promotions (see also applyBonusPromotions(LineItemCtnr, Collection)).",
              "deprecated": true
            },
            "applyShippingPromotions": {
              "name": "applyShippingPromotions",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "basket or order",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                },
                {
                  "name": "promotions",
                  "description": "list of all promotions to be applied",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if changes were made to the line item container, false otherwise."
              },
              "description": "Applies all applicable shipping promotions in the specified collection to\n the specified line item container.\n \n This method has been deprecated and should not be used anymore.\n Instead, use PromotionMgr to apply promotions to\n line item containers.",
              "deprecated": true
            },
            "getApplicableConditionalPromotions": {
              "name": "getApplicableConditionalPromotions",
              "args": [
                {
                  "name": "product",
                  "description": "Qualifying product",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "List of active promotions"
              },
              "description": "Returns the enabled promotions of active campaigns applicable for the\n current customer and source code for which the specified product\n is a qualifiying product.\n \n As a replacement of this deprecated method, use\n PromotionMgr.getActiveCustomerPromotions() and\n PromotionPlan.getProductPromotions(Product).\n Unlike getApplicableConditionalPromotions(Product),\n PromotionPlan.getProductPromotions(Product)\n returns all promotions related to the specified product, regardless\n of whether the product is qualifying, discounted, or both, and\n also returns promotions where the product is a bonus product.",
              "deprecated": true
            },
            "getApplicablePromotions": {
              "name": "getApplicablePromotions",
              "args": [
                {
                  "name": "product",
                  "description": "The product whose promotions are returned.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "A list of promotions"
              },
              "description": "Returns the enabled promotions of active campaigns applicable for the\n current customer and source code for which the specified product is\n a discounted product.\n \n Note that this method does not return any coupon-based promotions.\n \n As a replacement of this deprecated method, use\n PromotionMgr.getActiveCustomerPromotions() and\n PromotionPlan.getProductPromotions(Product).\n Unlike getApplicablePromotions(Product),\n PromotionPlan.getProductPromotions(Product)\n returns all promotions related to the specified product, regardless\n of whether the product is qualifying, discounted, or both, and\n also returns promotions where the product is a bonus product.",
              "deprecated": true
            },
            "getApplicablePromotions0": {
              "name": "getApplicablePromotions",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "the basket or order",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "list of all applicable promotion for the given basket or order"
              },
              "description": "Returns the enabled promotions of active campaigns applicable for the\n current customer, source code and any coupon contained in the specified\n line item container.\n \n Note that although the method has been deprecated, no replacement\n method is provided.",
              "deprecated": true
            },
            "getApplicablePromotions01": {
              "name": "getApplicablePromotions",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "List of active promotions"
              },
              "description": "Returns the enabled promotions of active campaigns applicable for the\n current customer and source code.\n \n Note that this method does not return any coupon-based promotions.",
              "deprecated": true
            },
            "getCampaignByID": {
              "name": "getCampaignByID",
              "args": [
                {
                  "name": "id",
                  "description": "Campaign ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Campaign",
                "description": "Campaign or null if not found"
              },
              "description": "Returns the campaign identified by the specified ID.",
              "deprecated": true
            },
            "getConditionalPromotions": {
              "name": "getConditionalPromotions",
              "args": [
                {
                  "name": "product",
                  "description": "The product whose conditional promotions are returned.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "A list of promotions"
              },
              "description": "Returns the enabled promotions of active campaigns for which the\n specified product is a qualifiying product. \n Note that the method also returns coupon-based promotions.\n \n As a replacement of this deprecated method, use\n PromotionMgr.getActiveCustomerPromotions() and\n PromotionPlan.getProductPromotions(Product).\n Unlike getConditionalPromotions(Product),\n PromotionPlan.getProductPromotions(Product)\n returns all promotions related to the specified product, regardless\n of whether the product is qualifying, discounted, or both, and\n also returns promotions where the product is a bonus product.",
              "deprecated": true
            },
            "getPromotion": {
              "name": "getPromotion",
              "args": [
                {
                  "name": "couponCode",
                  "description": "The coupon code used to lookup the promotion",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Promotion",
                "description": "The resolved promotion object or null if none was found"
              },
              "description": "Returns the promotion associated with the specified coupon code.",
              "deprecated": true
            },
            "getPromotionByCouponCode": {
              "name": "getPromotionByCouponCode",
              "args": [
                {
                  "name": "couponCode",
                  "description": "Coupon code",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Promotion",
                "description": "The associated promotion or null"
              },
              "description": "Returns the promotion associated with the specified coupon code.",
              "deprecated": true
            },
            "getPromotionByID": {
              "name": "getPromotionByID",
              "args": [
                {
                  "name": "id",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Promotion",
                "description": "Promotion or null if not found"
              },
              "description": "Returns the promotion identified by the specified ID.",
              "deprecated": true
            },
            "getPromotions": {
              "name": "getPromotions",
              "args": [
                {
                  "name": "product",
                  "description": "Discounted product",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "List of promotions"
              },
              "description": "Returns the enabled promotions of active campaigns for which the\n specified product is a discounted product. \n Note that method does only return promotions based on customer groups\n or source codes.\n \n As a replacement of this deprecated method, use\n PromotionMgr.getActiveCustomerPromotions() and\n PromotionPlan.getProductPromotions(Product).\n Unlike getPromotions(Product),\n PromotionPlan.getProductPromotions(Product)\n returns all promotions related to the specified product, regardless\n of whether the product is qualifying, discounted, or both, and\n also returns promotions where the product is a bonus product.",
              "deprecated": true
            }
          }
        },
        "CampaignStatusCodes": {
          "fullClassName": "dw.campaign.CampaignStatusCodes",
          "package": "dw.campaign",
          "description": "Deprecated. Formerly used to contain the various statuses that a coupon may\n be in.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "COUPON_ALREADY_APPLIED": {
              "name": "COUPON_ALREADY_APPLIED",
              "value": "\"COUPON_ALREADY_APPLIED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the coupon has already been applied to the basket.",
              "deprecated": true,
              "type": "constant"
            },
            "COUPON_ALREADY_REDEEMED": {
              "name": "COUPON_ALREADY_REDEEMED",
              "value": "\"COUPON_ALREADY_REDEEMED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the coupon has already been redeemed.",
              "deprecated": true,
              "type": "constant"
            },
            "COUPON_NOT_REDEEMABLE": {
              "name": "COUPON_NOT_REDEEMABLE",
              "value": "\"COUPON_NOT_REDEEMABLE\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the coupon is not currently redeemable.",
              "deprecated": true,
              "type": "constant"
            },
            "COUPON_UNKNOWN": {
              "name": "COUPON_UNKNOWN",
              "value": "\"COUPON_UNKNOWN\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the coupon code is not valid.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "CampaignStatusCodes": {
              "name": "CampaignStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "Coupon": {
          "fullClassName": "dw.campaign.Coupon",
          "package": "dw.campaign",
          "description": "Represents a coupon in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {
            "TYPE_MULTIPLE_CODES": {
              "name": "TYPE_MULTIPLE_CODES",
              "value": "\"MULTIPLE_CODES\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing coupon type multiple-codes.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SINGLE_CODE": {
              "name": "TYPE_SINGLE_CODE",
              "value": "\"SINGLE_CODE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing coupon type single-code.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SYSTEM_CODES": {
              "name": "TYPE_SYSTEM_CODES",
              "value": "\"SYSTEM_CODES\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing coupon type system-codes.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "codePrefix": {
              "name": "codePrefix",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The prefix defined for coupons of type TYPE_SYSTEM_CODES\n If no prefix is defined, or coupon is of type TYPE_SINGLE_CODE\n or TYPE_MULTIPLE_CODES, null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if coupon is enabled, else false.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the coupon.",
              "deprecated": false,
              "type": "property"
            },
            "nextCouponCode": {
              "name": "nextCouponCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The next unissued code of this coupon.\n For single-code coupons, the single fixed coupon code is returned.\n For all multi-code coupons, the next available, unissued coupon code is returned.\n If all codes of the coupon have been issued, then there is no next code, and null is returned.\n\n A transaction is required when calling this method. This needs to be ensured by the calling script.",
              "deprecated": false,
              "type": "property"
            },
            "promotions": {
              "name": "promotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The coupon-based promotions directly or indirectly (through\n campaigns) assigned to this coupon.",
              "deprecated": false,
              "type": "property"
            },
            "redemptionLimitPerCode": {
              "name": "redemptionLimitPerCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The defined limit on redemption per coupon code. Null is\n returned if no limit is defined, which means that each code can be\n redeemed an unlimited number of times.",
              "deprecated": false,
              "type": "property"
            },
            "redemptionLimitPerCustomer": {
              "name": "redemptionLimitPerCustomer",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The defined limit on redemption of this coupon per customer.\n Null is returned if no limit is defined, which means that customers can\n redeem this coupon an unlimited number of times.",
              "deprecated": false,
              "type": "property"
            },
            "redemptionLimitPerTimeFrame": {
              "name": "redemptionLimitPerTimeFrame",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The defined limit on redemption per customer per time-frame (see\n getRedemptionLimitTimeFrame(). Null is returned if no limit is\n defined, which means that there is no time-specific redemption limit for\n customers.",
              "deprecated": false,
              "type": "property"
            },
            "redemptionLimitTimeFrame": {
              "name": "redemptionLimitTimeFrame",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The time-frame (in days) of the defined limit on redemption per\n customer per time-frame. Null is returned if no limit is defined, which\n means that there is no time-specific redemption limit for customers.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The coupon type.\n Possible values are TYPE_SINGLE_CODE, TYPE_MULTIPLE_CODES\n and TYPE_SYSTEM_CODES.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCodePrefix": {
              "name": "getCodePrefix",
              "args": [],
              "class": {
                "name": "String",
                "description": "Coupon code prefix or null"
              },
              "description": "Returns the prefix defined for coupons of type TYPE_SYSTEM_CODES\n If no prefix is defined, or coupon is of type TYPE_SINGLE_CODE\n or TYPE_MULTIPLE_CODES, null is returned.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "Coupon ID"
              },
              "description": "Returns the ID of the coupon.",
              "deprecated": false
            },
            "getNextCouponCode": {
              "name": "getNextCouponCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "Next available code of this coupon, or null if there are no available codes."
              },
              "description": "Returns the next unissued code of this coupon.\n For single-code coupons, the single fixed coupon code is returned.\n For all multi-code coupons, the next available, unissued coupon code is returned.\n If all codes of the coupon have been issued, then there is no next code, and null is returned.\n\n A transaction is required when calling this method. This needs to be ensured by the calling script.",
              "deprecated": false
            },
            "getPromotions": {
              "name": "getPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Promotions assigned to the coupon in no particular order."
              },
              "description": "Returns the coupon-based promotions directly or indirectly (through\n campaigns) assigned to this coupon.",
              "deprecated": false
            },
            "getRedemptionLimitPerCode": {
              "name": "getRedemptionLimitPerCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The maximum number of redemption per coupon code"
              },
              "description": "Returns the defined limit on redemption per coupon code. Null is\n returned if no limit is defined, which means that each code can be\n redeemed an unlimited number of times.",
              "deprecated": false
            },
            "getRedemptionLimitPerCustomer": {
              "name": "getRedemptionLimitPerCustomer",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The maximum number of redemption per customer"
              },
              "description": "Returns the defined limit on redemption of this coupon per customer.\n Null is returned if no limit is defined, which means that customers can\n redeem this coupon an unlimited number of times.",
              "deprecated": false
            },
            "getRedemptionLimitPerTimeFrame": {
              "name": "getRedemptionLimitPerTimeFrame",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The maximum number of redemption per customer within time-frame"
              },
              "description": "Returns the defined limit on redemption per customer per time-frame (see\n getRedemptionLimitTimeFrame(). Null is returned if no limit is\n defined, which means that there is no time-specific redemption limit for\n customers.",
              "deprecated": false
            },
            "getRedemptionLimitTimeFrame": {
              "name": "getRedemptionLimitTimeFrame",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Timeframe (days) of redemption per time"
              },
              "description": "Returns the time-frame (in days) of the defined limit on redemption per\n customer per time-frame. Null is returned if no limit is defined, which\n means that there is no time-specific redemption limit for customers.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "String",
                "description": "Coupon type"
              },
              "description": "Returns the coupon type.\n Possible values are TYPE_SINGLE_CODE, TYPE_MULTIPLE_CODES\n and TYPE_SYSTEM_CODES.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if coupon is enabled."
              },
              "description": "Returns true if coupon is enabled, else false.",
              "deprecated": false
            }
          }
        },
        "CouponMgr": {
          "fullClassName": "dw.campaign.CouponMgr",
          "package": "dw.campaign",
          "description": "Manager to access coupons.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "MR_ERROR_INVALID_SITE_ID": {
              "name": "MR_ERROR_INVALID_SITE_ID",
              "value": "\"MASKREDEMPTIONS_SITE_NOT_FOUND\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because a valid data domain cannot be found for given siteID.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "coupons": {
              "name": "coupons",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All coupons in the current site in no specific order.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCoupon": {
              "name": "getCoupon",
              "args": [
                {
                  "name": "couponID",
                  "description": "the coupon identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Coupon",
                "description": "Coupon with specified ID or null"
              },
              "description": "Returns the coupon with the specified ID.",
              "deprecated": false
            },
            "getCouponByCode": {
              "name": "getCouponByCode",
              "args": [
                {
                  "name": "couponCode",
                  "description": "The coupon code to get the coupon for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Coupon",
                "description": "The coupon with the matching coupon code or null if no coupon was found."
              },
              "description": "Tries to find a coupon for the given coupon code. The method first\n searches for a coupon with a fixed code matching the passed value. If no\n such fixed coupon is found, it searches for a coupon with a\n system-generated code matching the passed value. If found, the coupon is\n returned. Otherwise, the method returns null.",
              "deprecated": false
            },
            "getCoupons": {
              "name": "getCoupons",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "Coupons in current site"
              },
              "description": "Returns all coupons in the current site in no specific order.",
              "deprecated": false
            },
            "getRedemptions": {
              "name": "getRedemptions",
              "args": [
                {
                  "name": "couponID",
                  "description": "The coupon id to find redemption for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "couponCode",
                  "description": "The coupon code to find redemption for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "A sorted list of CouponRedemptions for the specified coupon and coupon code or an empty list if no redemption record exists."
              },
              "description": "Returns list of CouponRedemptions for the specified coupon and coupon code,\n sorted by redemption date descending (i.e. last redemption first).\n Usually, there should only either be 0 or 1 redemption. But if a coupon and code\n is removed and recreated and re-issued later, there might be multiple such redemption records.\n Returns an empty list if no redemption record exists in system for the specified coupon and code.",
              "deprecated": false
            },
            "maskRedemptions": {
              "name": "maskRedemptions",
              "args": [
                {
                  "name": "siteID",
                  "description": "the site ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "email",
                  "description": "the customer email address",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "The status of the masking result"
              },
              "description": "Mask customer email address in coupon redemptions for the given siteID and email address",
              "deprecated": false
            }
          }
        },
        "CouponRedemption": {
          "fullClassName": "dw.campaign.CouponRedemption",
          "package": "dw.campaign",
          "description": "Represents a redeemed coupon.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "customerEmail": {
              "name": "customerEmail",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns email of redeeming customer.",
              "deprecated": false,
              "type": "property"
            },
            "orderNo": {
              "name": "orderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns number of the order the code was redeemed with.",
              "deprecated": false,
              "type": "property"
            },
            "redemptionDate": {
              "name": "redemptionDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "Returns date of redemption.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCustomerEmail": {
              "name": "getCustomerEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "email of redeeming customer."
              },
              "description": "Returns email of redeeming customer.",
              "deprecated": false
            },
            "getOrderNo": {
              "name": "getOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "number of the order the code was redeemed with."
              },
              "description": "Returns number of the order the code was redeemed with.",
              "deprecated": false
            },
            "getRedemptionDate": {
              "name": "getRedemptionDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "date of redemption."
              },
              "description": "Returns date of redemption.",
              "deprecated": false
            }
          }
        },
        "CouponStatusCodes": {
          "fullClassName": "dw.campaign.CouponStatusCodes",
          "package": "dw.campaign",
          "description": "Helper class containing status codes for why a coupon code cannot be added\n to cart or why a coupon code already in cart is not longer valid for redemption.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "APPLIED": {
              "name": "APPLIED",
              "value": "\"APPLIED\"",
              "class": {
                "name": "String"
              },
              "description": "Coupon is currently applied in basket = Coupon code is valid for redemption and\n Coupon is assigned to one or multiple applicable! promotions.",
              "deprecated": false,
              "type": "constant"
            },
            "COUPON_ALREADY_IN_BASKET": {
              "name": "COUPON_ALREADY_IN_BASKET",
              "value": "\"COUPON_ALREADY_IN_BASKET\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that another code of the same MultiCode/System coupon has already been added to basket.",
              "deprecated": false,
              "type": "constant"
            },
            "COUPON_CODE_ALREADY_IN_BASKET": {
              "name": "COUPON_CODE_ALREADY_IN_BASKET",
              "value": "\"COUPON_CODE_ALREADY_IN_BASKET\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that coupon code has already been added to basket.",
              "deprecated": false,
              "type": "constant"
            },
            "COUPON_CODE_ALREADY_REDEEMED": {
              "name": "COUPON_CODE_ALREADY_REDEEMED",
              "value": "\"COUPON_CODE_ALREADY_REDEEMED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that code of MultiCode/System coupon has already been redeemed.",
              "deprecated": false,
              "type": "constant"
            },
            "COUPON_CODE_UNKNOWN": {
              "name": "COUPON_CODE_UNKNOWN",
              "value": "\"COUPON_CODE_UNKNOWN\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that coupon not found for given coupon code or that the code itself was not found.",
              "deprecated": false,
              "type": "constant"
            },
            "COUPON_DISABLED": {
              "name": "COUPON_DISABLED",
              "value": "\"COUPON_DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that coupon is not enabled.",
              "deprecated": false,
              "type": "constant"
            },
            "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED": {
              "name": "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED",
              "value": "\"CUSTOMER_REDEMPTION_LIMIT_EXCEEDED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that No. of redemptions per code & customer exceeded.",
              "deprecated": false,
              "type": "constant"
            },
            "NO_ACTIVE_PROMOTION": {
              "name": "NO_ACTIVE_PROMOTION",
              "value": "\"NO_ACTIVE_PROMOTION\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that coupon is not assigned to an active promotion.",
              "deprecated": false,
              "type": "constant"
            },
            "NO_APPLICABLE_PROMOTION": {
              "name": "NO_APPLICABLE_PROMOTION",
              "value": "\"NO_APPLICABLE_PROMOTION\"",
              "class": {
                "name": "String"
              },
              "description": "Coupon is assigned to one or multiple active promotions, but none of these promotions is currently applicable.",
              "deprecated": false,
              "type": "constant"
            },
            "REDEMPTION_LIMIT_EXCEEDED": {
              "name": "REDEMPTION_LIMIT_EXCEEDED",
              "value": "\"REDEMPTION_LIMIT_EXCEEDED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that no. of redemptions per code exceeded.\n Usually happens for single code coupons",
              "deprecated": false,
              "type": "constant"
            },
            "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED": {
              "name": "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED",
              "value": "\"TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that No. of redemptions per code,customer & time exceeded.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "Discount": {
          "fullClassName": "dw.campaign.Discount",
          "package": "dw.campaign",
          "description": "Superclass of all specific discount classes.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "TYPE_AMOUNT": {
              "name": "TYPE_AMOUNT",
              "value": "\"AMOUNT\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type amount.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_BONUS": {
              "name": "TYPE_BONUS",
              "value": "\"BONUS\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type bonus.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_BONUS_CHOICE": {
              "name": "TYPE_BONUS_CHOICE",
              "value": "\"BONUS_CHOICE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type bonus choice.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_FIXED_PRICE": {
              "name": "TYPE_FIXED_PRICE",
              "value": "\"FIXED_PRICE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type fixed-price.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_FIXED_PRICE_SHIPPING": {
              "name": "TYPE_FIXED_PRICE_SHIPPING",
              "value": "\"FIXED_PRICE_SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type fixed price shipping.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_FREE": {
              "name": "TYPE_FREE",
              "value": "\"FREE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type free.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_FREE_SHIPPING": {
              "name": "TYPE_FREE_SHIPPING",
              "value": "\"FREE_SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type free shipping.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_PERCENTAGE": {
              "name": "TYPE_PERCENTAGE",
              "value": "\"PERCENTAGE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type percentage.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_PERCENTAGE_OFF_OPTIONS": {
              "name": "TYPE_PERCENTAGE_OFF_OPTIONS",
              "value": "\"PERCENTAGE_OFF_OPTIONS\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type percent off options.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_PRICEBOOK_PRICE": {
              "name": "TYPE_PRICEBOOK_PRICE",
              "value": "\"PRICE_BOOK_PRICE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type price book price.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_TOTAL_FIXED_PRICE": {
              "name": "TYPE_TOTAL_FIXED_PRICE",
              "value": "\"TOTAL_FIXED_PRICE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing discounts of type total fixed price.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "itemPromotionTiers": {
              "name": "itemPromotionTiers",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The tier index by quantity Id of Product promotion. ProductLineItems may have more than one quantity, but\n not all items of that SKU may have received the same tier of promotion. Each quantity of the ProductLineItem is\n indexed from 1 to n, where n is the quantity of the ProductLineItem, and this method returns a mapping from that\n quantity index to the index of tier of the promotion that item received. For more information about tier indexes,\n see getPromotionTier()  method.",
              "deprecated": false,
              "type": "property"
            },
            "promotion": {
              "name": "promotion",
              "class": {
                "name": "Promotion"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion this discount is based on.",
              "deprecated": false,
              "type": "property"
            },
            "promotionTier": {
              "name": "promotionTier",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The tier index for promotion at order level or bonus product.\n Promotion tiers are always evaluated in the order of the highest threshold (e.g. quantity, or amount)\n to the lowest threshold. The tier that is evaluated first (i.e. the highest quantity or amount) is indexed as 0,\n the next tier 1, etc. The lowest tier will have index n - 1, where n is the total number of tiers.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of the discount. This quantity specifies how often\n this discount applies to its target object. For example, a 10% off\n discount with quantity 2 associated to a product line item with\n quantity 3 is applied to two items of the product line item. \n Discounts of order and shipping promotions, and bonus discounts\n have a fix quantity of 1.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getItemPromotionTiers": {
              "name": "getItemPromotionTiers",
              "args": [],
              "class": {
                "name": "Map",
                "description": "Map of Tier index by quantity Id or empty map"
              },
              "description": "Returns the tier index by quantity Id of Product promotion. ProductLineItems may have more than one quantity, but\n not all items of that SKU may have received the same tier of promotion. Each quantity of the ProductLineItem is\n indexed from 1 to n, where n is the quantity of the ProductLineItem, and this method returns a mapping from that\n quantity index to the index of tier of the promotion that item received. For more information about tier indexes,\n see getPromotionTier()  method.",
              "deprecated": false
            },
            "getPromotion": {
              "name": "getPromotion",
              "args": [],
              "class": {
                "name": "Promotion",
                "description": "Promotion related to this discount"
              },
              "description": "Returns the promotion this discount is based on.",
              "deprecated": false
            },
            "getPromotionTier": {
              "name": "getPromotionTier",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Tier index or null"
              },
              "description": "Returns the tier index for promotion at order level or bonus product.\n Promotion tiers are always evaluated in the order of the highest threshold (e.g. quantity, or amount)\n to the lowest threshold. The tier that is evaluated first (i.e. the highest quantity or amount) is indexed as 0,\n the next tier 1, etc. The lowest tier will have index n - 1, where n is the total number of tiers.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Discount quantity"
              },
              "description": "Returns the quantity of the discount. This quantity specifies how often\n this discount applies to its target object. For example, a 10% off\n discount with quantity 2 associated to a product line item with\n quantity 3 is applied to two items of the product line item. \n Discounts of order and shipping promotions, and bonus discounts\n have a fix quantity of 1.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "String",
                "description": "Discount type"
              },
              "description": "Returns the type of the discount.",
              "deprecated": false
            }
          }
        },
        "DiscountPlan": {
          "fullClassName": "dw.campaign.DiscountPlan",
          "package": "dw.campaign",
          "description": "DiscountPlan represents a set of <a href=\"class_dw_campaign_Discount.html\">Discount</a>s. Instances of the class are\n returned by the <a href=\"class_dw_campaign_PromotionMgr.html\">PromotionMgr</a> when requesting applicable discounts\n for a specified set of promotions and a line item container\n (see <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getDiscounts_LineItemCtnr_PromotionPlan_DetailAnchor\">PromotionMgr.getDiscounts(LineItemCtnr, PromotionPlan)</a>).\n <p>\n DiscountPlan provides methods to access the discounts contained in the plan,\n add additional discounts to the plan (future) or remove discounts from the plan.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "approachingOrderDiscounts": {
              "name": "approachingOrderDiscounts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Get the collection of order discounts that the LineItemCtnr \"almost\"\n qualifies for based on the merchandise total in the cart. Nearness is\n controlled by thresholds configured at the promotion level.\n \n The collection of returned approaching discounts is ordered by the\n condition threshold of the promotion (e.g. \"spend $100 and get 10% off\"\n discount is returned before \"spend $150 and get 15% off\" discount.) A\n discount is not returned if it would be prevented from applying (because\n of compatibility rules) by an order discount already in the DiscountPlan\n or an approaching order discount with a lower condition threshold.",
              "deprecated": false,
              "type": "property"
            },
            "bonusDiscounts": {
              "name": "bonusDiscounts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All bonus discounts contained in the discount plan.",
              "deprecated": false,
              "type": "property"
            },
            "lineItemCtnr": {
              "name": "lineItemCtnr",
              "class": {
                "name": "LineItemCtnr"
              },
              "static": false,
              "readonly": true,
              "description": "Returns line item container associated with discount plan. \n A discount plan is created from and associated with a line item container.\n This method returns the line item container associated with this discount plan.",
              "deprecated": false,
              "type": "property"
            },
            "orderDiscounts": {
              "name": "orderDiscounts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The percentage and amount order discounts contained in the\n discount plan.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getApproachingOrderDiscounts": {
              "name": "getApproachingOrderDiscounts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of approaching order discounts ordered by the condition threshold of the promotion ascending."
              },
              "description": "Get the collection of order discounts that the LineItemCtnr \"almost\"\n qualifies for based on the merchandise total in the cart. Nearness is\n controlled by thresholds configured at the promotion level.\n \n The collection of returned approaching discounts is ordered by the\n condition threshold of the promotion (e.g. \"spend $100 and get 10% off\"\n discount is returned before \"spend $150 and get 15% off\" discount.) A\n discount is not returned if it would be prevented from applying (because\n of compatibility rules) by an order discount already in the DiscountPlan\n or an approaching order discount with a lower condition threshold.",
              "deprecated": false
            },
            "getApproachingShippingDiscounts": {
              "name": "getApproachingShippingDiscounts",
              "args": [
                {
                  "name": "shipment",
                  "description": "The shipment to calculate approaching discounts for.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Collection of approaching shipping discounts ordered by the condition threshold of the promotion ascending."
              },
              "description": "Get the collection of shipping discounts that the passed shipment\n \"almost\" qualifies for based on the merchandise total in the shipment.\n Nearness is controlled by thresholds configured at the promotion level.\n \n The collection of returned approaching discounts is ordered by the\n condition threshold of the promotion (e.g.\n \"spend $100 and get free standard shipping\" discount is returned before\n \"spend $150 and get free standard shipping\" discount.) A discount is not\n returned if it would be prevented from applying (because of compatibility\n rules) by a shipping discount already in the DiscountPlan or an\n approaching shipping discount with a lower condition threshold.",
              "deprecated": false
            },
            "getApproachingShippingDiscounts0": {
              "name": "getApproachingShippingDiscounts",
              "args": [
                {
                  "name": "shipment",
                  "description": "The shipment to calculate approaching discounts for.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                },
                {
                  "name": "shippingMethod",
                  "description": "The shipping method to filter by.",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Collection of approaching shipping discounts ordered by the condition threshold of the promotion, ascending."
              },
              "description": "Get the collection of shipping discounts that the passed shipment\n \"almost\" qualifies for based on the merchandise total in the shipment.\n Here \"almost\" is controlled by thresholds configured at the promotion\n level.\n \n This method only returns discounts for shipping promotions which apply to\n the passed shipping method.\n \n The collection of returned approaching discounts is ordered by the\n condition threshold of the promotion (e.g.\n \"spend $100 and get free standard shipping\" discount is returned before\n \"spend $150 and get free standard shipping\" discount.) A discount is not\n returned if it would be prevented from applying (because of compatibility\n rules) by a shipping discount already in the DiscountPlan or an\n approaching shipping discount with a lower condition threshold.",
              "deprecated": false
            },
            "getApproachingShippingDiscounts01": {
              "name": "getApproachingShippingDiscounts",
              "args": [
                {
                  "name": "shipment",
                  "description": "The shipment to calculate approaching discounts for.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                },
                {
                  "name": "shippingMethods",
                  "description": "The shipping methods to filter by.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Collection of approaching shipping discounts ordered by the condition threshold of the promotion ascending."
              },
              "description": "Get the collection of shipping discounts that the passed shipment\n \"almost\" qualifies for based on the merchandise total in the shipment.\n Here \"almost\" is controlled by thresholds configured at the promotion\n level.\n \n This method only returns discounts for shipping promotions which apply to\n one of the passed shipping methods.\n \n The collection of returned approaching discounts is ordered by the\n condition threshold of the promotion (e.g.\n \"spend $100 and get free standard shipping\" discount is returned before\n \"spend $150 and get free standard shipping\" discount.) A discount is not\n returned if it would be prevented from applying (because of compatibility\n rules) by a shipping discount already in the DiscountPlan or an\n approaching shipping discount with a lower condition threshold.",
              "deprecated": false
            },
            "getBonusDiscounts": {
              "name": "getBonusDiscounts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All bonus discounts contained in discount plan"
              },
              "description": "Returns all bonus discounts contained in the discount plan.",
              "deprecated": false
            },
            "getLineItemCtnr": {
              "name": "getLineItemCtnr",
              "args": [],
              "class": {
                "name": "LineItemCtnr",
                "description": "Line item container associated with plan"
              },
              "description": "Returns line item container associated with discount plan. \n A discount plan is created from and associated with a line item container.\n This method returns the line item container associated with this discount plan.",
              "deprecated": false
            },
            "getOrderDiscounts": {
              "name": "getOrderDiscounts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Order discounts contained in the discount plan"
              },
              "description": "Returns the percentage and amount order discounts contained in the\n discount plan.",
              "deprecated": false
            },
            "getProductDiscounts": {
              "name": "getProductDiscounts",
              "args": [
                {
                  "name": "productLineItem",
                  "description": "Product line item",
                  "class": {
                    "name": "ProductLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Discounts associated with specified product line item"
              },
              "description": "Returns the percentage, amount and fix price discounts associated\n with the specified product line item. If the specified product line\n item is not contained in the discount plan, an empty collection is\n returned.",
              "deprecated": false
            },
            "getProductShippingDiscounts": {
              "name": "getProductShippingDiscounts",
              "args": [
                {
                  "name": "productLineItem",
                  "description": "Product line item",
                  "class": {
                    "name": "ProductLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product-shipping discounts associated with specified product line item"
              },
              "description": "Returns the product-shipping discounts associated with the specified\n product line item. If the specified product line item is not contained in\n the discount plan, an empty collection is returned.",
              "deprecated": false
            },
            "getShippingDiscounts": {
              "name": "getShippingDiscounts",
              "args": [
                {
                  "name": "shipment",
                  "description": "the shipment for which to fetch discounts.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Discounts associated with specified shipment"
              },
              "description": "Returns the percentage, amount and fix price discounts associated with\n the specified shipment. If the specified shipment is not contained in\n the discount plan, an empty collection is returned.",
              "deprecated": false
            },
            "removeDiscount": {
              "name": "removeDiscount",
              "args": [
                {
                  "name": "discount",
                  "description": "Discount to be removed",
                  "class": {
                    "name": "Discount"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified discount from the discount plan. \n\n This method should only be used for very simple discount scenarios. It\n is not recommended to use the method in case of stacked discounts\n (i.e. multiple order or product discounts), or complex discount types\n like Buy X Get Y or Total Fixed Price, since correct re-calculation of the\n discount plan based on the promotion rules is not guaranteed.",
              "deprecated": false
            }
          }
        },
        "FixedPriceDiscount": {
          "fullClassName": "dw.campaign.FixedPriceDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>fix price</i> discount in the discount plan, for example\n \"Shipping only 0.99 all orders $25 or more.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "fixedPrice": {
              "name": "fixedPrice",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The fixed price amount, for example 0.99 for a \"Shipping only $0.99\"\n discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FixedPriceDiscount": {
              "name": "FixedPriceDiscount",
              "args": [
                {
                  "name": "amount",
                  "description": "fixed price e.g. 10.00",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a fixed-price-discount on the fly. Can be used to create a custom price adjustment.",
              "deprecated": false
            }
          },
          "methods": {
            "getFixedPrice": {
              "name": "getFixedPrice",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Fixed price amount"
              },
              "description": "Returns the fixed price amount, for example 0.99 for a \"Shipping only $0.99\"\n discount.",
              "deprecated": false
            }
          }
        },
        "FixedPriceShippingDiscount": {
          "fullClassName": "dw.campaign.FixedPriceShippingDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>fixed price shipping</i> discount in the discount plan, for\n example \"Shipping only 0.99 for iPods.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "fixedPrice": {
              "name": "fixedPrice",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The fixed price amount, for example 0.99 for a \"Shipping only $0.99\"\n discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FixedPriceShippingDiscount": {
              "name": "FixedPriceShippingDiscount",
              "args": [
                {
                  "name": "amount",
                  "description": "fixed price for shipping e.g. 10.00",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a fixed-price-shipping-discount on the fly. Can be used to create a custom price adjustment.",
              "deprecated": false
            }
          },
          "methods": {
            "getFixedPrice": {
              "name": "getFixedPrice",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Fixed price amount"
              },
              "description": "Returns the fixed price amount, for example 0.99 for a \"Shipping only $0.99\"\n discount.",
              "deprecated": false
            }
          }
        },
        "FreeDiscount": {
          "fullClassName": "dw.campaign.FreeDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>free</i> discount in the discount plan, for example\n \"Free shipping on all orders $25 or more.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "FreeShippingDiscount": {
          "fullClassName": "dw.campaign.FreeShippingDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>free shipping</i> discount in the discount plan, for example\n \"Free shipping on all iPods.\"",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "PercentageOptionDiscount": {
          "fullClassName": "dw.campaign.PercentageOptionDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>percentage-off options</i> discount in the discount plan, for\n example \"50% off monogramming on shirts\".",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "percentage": {
              "name": "percentage",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The percentage discount value, for example 10.00 for a \"10% off\"\n discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getPercentage": {
              "name": "getPercentage",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Discount percentage value"
              },
              "description": "Returns the percentage discount value, for example 10.00 for a \"10% off\"\n discount.",
              "deprecated": false
            }
          }
        },
        "PriceBookPriceDiscount": {
          "fullClassName": "dw.campaign.PriceBookPriceDiscount",
          "package": "dw.campaign",
          "description": "Discount representing that a product's price has been calculated from a\n separate sales price book other than the standard price book assigned to the\n site.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "priceBookID": {
              "name": "priceBookID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The price book identifier.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getPriceBookID": {
              "name": "getPriceBookID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the price book identifier."
              },
              "description": "Returns the price book identifier.",
              "deprecated": false
            }
          }
        },
        "TotalFixedPriceDiscount": {
          "fullClassName": "dw.campaign.TotalFixedPriceDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>total fix price</i> discount on a group of products in the\n discount plan.  For example:  \"buy 3 products of type X for a total price\n of $29.99\".",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.campaign.Discount"
            }
          ],
          "constants": {},
          "properties": {
            "totalFixedPrice": {
              "name": "totalFixedPrice",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The total fixed price amount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getTotalFixedPrice": {
              "name": "getTotalFixedPrice",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Total fixed price amount"
              },
              "description": "Returns the total fixed price amount.",
              "deprecated": false
            }
          }
        }
      },
      "catalog": {
        "Catalog": {
          "fullClassName": "dw.catalog.Catalog",
          "package": "dw.catalog",
          "description": "Represents a Commerce Cloud Digital Catalog. Catalogs are containers of products\n and other product-related information and can be shared between sites. Every\n product in the system is contained in (or \"owned by\") exactly one catalog.\n Every site has a single \"site catalog\" which defines the products that are\n available to purchase on that site. The static method\n <a href=\"class_dw_catalog_CatalogMgr.html#dw_catalog_CatalogMgr_getSiteCatalog_DetailAnchor\">CatalogMgr.getSiteCatalog()</a> returns the site catalog for\n the current site.\n <p>\n Catalogs are organized into a tree of categories with a single top-level root\n category. Products are assigned to categories within catalogs. They can be\n assigned to categories in their owning catalog, or other catalogs. They can\n be assigned to multiple categories within the same catalog. Products that are\n not assigned to any categories are considered \"uncategorized.\" A product has\n a single \"classification category\" in some catalog, and one\n \"primary category\" per catalog. The classification category defines the\n attribute set of the product. The primary category is used as standard\n presentation context within that catalog in the storefront.\n </p><p>\n While Commerce Cloud Digital does not currently distinguish different\n catalog types, it is common practice to have two general types of catalog:\n\n </p><ul>\n <li>\"Product catalogs\" typically contain detailed product information and are\n frequently generated from some backend PIM system.</li>\n <li>\"Site Catalogs\" define the category structure of the storefront and\n contain primarily the assignments of these categories to the products defined\n in the product catalogs. The site catalog is assigned to the site.</li>\n </ul>\n <p>\n In addition to products and categories, catalogs contain recommendations,\n shared variation attributes which can be used by multiple master products,\n and shared product options which can be used by multiple option products.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the localized extensible object attribute\n \"shortDescription\" for the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the localized extensible object attribute\n \"displayName\" for the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of attribute 'id'.",
              "deprecated": false,
              "type": "property"
            },
            "root": {
              "name": "root",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The object for the relation 'root'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the attribute for the current locale, or null if it wasn't found."
              },
              "description": "Returns the value of the localized extensible object attribute\n \"shortDescription\" for the current locale.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the attribute for the current locale, or null if it wasn't found."
              },
              "description": "Returns the value of the localized extensible object attribute\n \"displayName\" for the current locale.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'id'"
              },
              "description": "Returns the value of attribute 'id'.",
              "deprecated": false
            },
            "getRoot": {
              "name": "getRoot",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the object for the relation 'root'."
              },
              "description": "Returns the object for the relation 'root'.",
              "deprecated": false
            }
          }
        },
        "CatalogMgr": {
          "fullClassName": "dw.catalog.CatalogMgr",
          "package": "dw.catalog",
          "description": "Provides helper methods for getting categories.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "siteCatalog": {
              "name": "siteCatalog",
              "class": {
                "name": "Catalog"
              },
              "static": true,
              "readonly": true,
              "description": "The catalog of the current site or null if no catalog is assigned to the site.",
              "deprecated": false,
              "type": "property"
            },
            "sortingOptions": {
              "name": "sortingOptions",
              "class": {
                "name": "List"
              },
              "static": true,
              "readonly": true,
              "description": "A list containing the sorting options configured for this site.",
              "deprecated": false,
              "type": "property"
            },
            "sortingRules": {
              "name": "sortingRules",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "A collection containing all of the sorting rules for this site, including global sorting rules.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCatalog": {
              "name": "getCatalog",
              "args": [
                {
                  "name": "id",
                  "description": "Catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Catalog",
                "description": "the catalog or null."
              },
              "description": "Returns the catalog identified by the specified catalog id.\n Returns null if no catalog with the specified id exists in the\n current organization context.",
              "deprecated": false
            },
            "getCategory": {
              "name": "getCategory",
              "args": [
                {
                  "name": "id",
                  "description": "the category identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Category",
                "description": "the category of the site catalog identified by the specified category id or null if no site catalog is found."
              },
              "description": "Returns the category of the site catalog identified by the specified\n category id. Returns null if no site catalog is defined, or no category\n with the specified id is found in the site catalog.",
              "deprecated": false
            },
            "getSiteCatalog": {
              "name": "getSiteCatalog",
              "args": [],
              "static": true,
              "class": {
                "name": "Catalog",
                "description": "the catalog of the current site or null."
              },
              "description": "Returns the catalog of the current site or null if no catalog is assigned to the site.",
              "deprecated": false
            },
            "getSortingOption": {
              "name": "getSortingOption",
              "args": [
                {
                  "name": "id",
                  "description": "the ID of the sorting option",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SortingOption",
                "description": "a SortingOption or null."
              },
              "description": "Returns the sorting option with the given ID for this site, or\n null if there is no such option.",
              "deprecated": false
            },
            "getSortingOptions": {
              "name": "getSortingOptions",
              "args": [],
              "static": true,
              "class": {
                "name": "List",
                "description": "a list of SortingOption objects"
              },
              "description": "Returns a list containing the sorting options configured for this site.",
              "deprecated": false
            },
            "getSortingRule": {
              "name": "getSortingRule",
              "args": [
                {
                  "name": "id",
                  "description": "the ID of the sorting rule",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SortingRule",
                "description": "a SortingRule or null."
              },
              "description": "Returns the sorting rule with the given ID for this site,\n or null if there is no such rule.",
              "deprecated": false
            },
            "getSortingRules": {
              "name": "getSortingRules",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "a collection of SortingRule objects"
              },
              "description": "Returns a collection containing all of the sorting rules for this site, including global sorting rules.",
              "deprecated": false
            }
          }
        },
        "Category": {
          "fullClassName": "dw.catalog.Category",
          "package": "dw.catalog",
          "description": "Represents a category in a product catalog.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "DISPLAY_MODE_INDIVIDUAL": {
              "name": "DISPLAY_MODE_INDIVIDUAL",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the Variation Group Display Mode individual setting.",
              "deprecated": false,
              "type": "constant"
            },
            "DISPLAY_MODE_MERGED": {
              "name": "DISPLAY_MODE_MERGED",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the Variation Group Display Mode merged setting.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allRecommendations": {
              "name": "allRecommendations",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All outgoing recommendations for this category.  The\n recommendations are sorted by their explicitly set order.",
              "deprecated": false,
              "type": "property"
            },
            "categoryAssignments": {
              "name": "categoryAssignments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of category assignments of the category.",
              "deprecated": false,
              "type": "property"
            },
            "defaultSortingRule": {
              "name": "defaultSortingRule",
              "class": {
                "name": "SortingRule"
              },
              "static": false,
              "readonly": true,
              "description": "The default sorting rule configured for this category,\n or null if there is no default rule to be applied for it.\n\n This method returns the default rule for the parent category if this\n category inherits one.  The parent category may inherit its default\n rule from its parent, and so on, up to the root category.\n\n This method returns null if no ancestor category for this\n category has a default rule.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the catalog category for the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayMode": {
              "name": "displayMode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The Variation Groups Display Mode of the category or null if no display mode is defined.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of the of the catalog category for the current locale.\n\n This value is intended to be used as the\n external visible name of the catalog category.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The id of the category.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The image reference of this catalog category.",
              "deprecated": false,
              "type": "property"
            },
            "incomingCategoryLinks": {
              "name": "incomingCategoryLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of CategoryLink objects for which this category\n is the target.  If the source category of a link belongs to a different\n catalog than the catalog owning this category, it is not returned.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The value indicating whether the catalog category is \"currently\n online\".  A category is currently online if its online flag equals true\n and the current site date is within the date range defined by the\n onlineFrom and onlineTo attributes.",
              "deprecated": false,
              "type": "property"
            },
            "onlineCategoryAssignments": {
              "name": "onlineCategoryAssignments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of category assignments of the category where the\n referenced product is currently online. When checking the online status\n of the product, the online flag and the online from & to dates are taken\n into account. Online flag, online from & to dates set for the current site\n takes precedence over the default values.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFlag": {
              "name": "onlineFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status flag of the category.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date from which the category is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "onlineIncomingCategoryLinks": {
              "name": "onlineIncomingCategoryLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of CategoryLink objects for\n which this category is the target. If the source category of a link\n belongs to a different catalog than the catalog owning this category, it\n is not returned. Additionally, this method will only return a link if the\n source category is currently online. A category is currently online if\n its online flag equals true and the current site date is within the date\n range defined by the onlineFrom and onlineTo attributes.",
              "deprecated": false,
              "type": "property"
            },
            "onlineOutgoingCategoryLinks": {
              "name": "onlineOutgoingCategoryLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of CategoryLink objects for\n which this category is the source. If the target category of a link\n belongs to a different catalog than the catalog owning this category, it\n is not returned. Additionally, this method will only return a link if the\n target category is currently online. A category is currently online if\n its online flag equals true and the current site date is within the date\n range defined by the onlineFrom and onlineTo attributes.",
              "deprecated": false,
              "type": "property"
            },
            "onlineProducts": {
              "name": "onlineProducts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Returns online products assigned to this category.\n Offline products are not included in the returned collection.\n When checking the online status of the product,\n the online flag and the online from & to dates are taken into account.\n Online flag, online from & to dates set for the current site takes precedence\n over the default values. \n\n The order of products in the returned collection corresponds to the\n defined explicit sorting of products in this category.",
              "deprecated": false,
              "type": "property"
            },
            "onlineSubCategories": {
              "name": "onlineSubCategories",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted collection of currently online subcategories of this\n catalog category.\n \n  \n   A category is currently online if its online flag\n   equals true and the current site date is within the date range defined by\n   the onlineFrom and onlineTo attributes.\n  \n  \n   The returned collection is sorted by position. Subcategories marked as\n   \"unsorted\" always appear after those marked as \"sorted\" but are otherwise\n   not in any guaranteed order.\n  \n  \n    The returned collection contains direct subcategories only.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date until which the category is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "orderableRecommendations": {
              "name": "orderableRecommendations",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A list of outgoing recommendations for this category. This method\n behaves similarly to getRecommendations() but additionally filters out\n recommendations for which the target product is unorderable according to\n its product availability model.",
              "deprecated": false,
              "type": "property"
            },
            "outgoingCategoryLinks": {
              "name": "outgoingCategoryLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of CategoryLink objects for which this category\n is the source.  If the target category of a link belongs to a different\n catalog than the catalog owning this category, it is not returned.\n The collection of links is sorted by the explicitly defined order\n for this category with unsorted links appearing at the end.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page description of this category for the default locale or null if not defined.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page keywords of this category for the default locale or null if not defined.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page title of this category for the default locale or null if not defined.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page URL property of this category or null if not defined.",
              "deprecated": false,
              "type": "property"
            },
            "parent": {
              "name": "parent",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The parent of this category.",
              "deprecated": false,
              "type": "property"
            },
            "productAttributeModel": {
              "name": "productAttributeModel",
              "class": {
                "name": "ProductAttributeModel"
              },
              "static": false,
              "readonly": true,
              "description": "Returns this category's ProductAttributeModel, which makes access to the\n category's attribute information convenient. The model is calculated\n based on the attribute definitions assigned to this category and the\n global attribute definitions for the object type 'Product'.",
              "deprecated": false,
              "type": "property"
            },
            "products": {
              "name": "products",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All products assigned to this category.\n The order of products in the returned collection corresponds to the\n defined explicit sorting of products in this category.",
              "deprecated": false,
              "type": "property"
            },
            "recommendations": {
              "name": "recommendations",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The outgoing recommendations for this category.  If this category\n is not in the site catalog, or there is no site catalog, an empty\n collection is returned.  Only recommendations for which the target\n product exists and is assigned to the site catalog are returned.  The\n recommendations are sorted by their explicitly set order.",
              "deprecated": false,
              "type": "property"
            },
            "root": {
              "name": "root",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the category is the root category of its catalog.",
              "deprecated": false,
              "type": "property"
            },
            "searchPlacement": {
              "name": "searchPlacement",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The search placement of the category or null of no search placement is defined.",
              "deprecated": false,
              "type": "property"
            },
            "searchRank": {
              "name": "searchRank",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The search rank of the category or null of no search rank is defined.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapChangeFrequency": {
              "name": "siteMapChangeFrequency",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The category's sitemap change frequency.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapIncluded": {
              "name": "siteMapIncluded",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The category's sitemap inclusion.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapPriority": {
              "name": "siteMapPriority",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The category's sitemap priority.",
              "deprecated": false,
              "type": "property"
            },
            "subCategories": {
              "name": "subCategories",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted collection of the subcategories of this catalog category,\n including both online and offline subcategories.\n \n  \n   The returned collection is sorted by position. Subcategories marked as\n   \"unsorted\" always appear after those marked as \"sorted\" but are otherwise\n   not in any guaranteed order.\n  \n  \n   The returned collection contains direct subcategories only.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The template property value , which is the file name of the template\n used to display the catalog category.",
              "deprecated": false,
              "type": "property"
            },
            "thumbnail": {
              "name": "thumbnail",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The thumbnail image reference of this catalog category.",
              "deprecated": false,
              "type": "property"
            },
            "topLevel": {
              "name": "topLevel",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the category is a top level category, but not the root\n category.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllRecommendations": {
              "name": "getAllRecommendations",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns all outgoing recommendations for this category.  The\n recommendations are sorted by their explicitly set order.",
              "deprecated": false
            },
            "getAllRecommendations0": {
              "name": "getAllRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns all outgoing recommendations for this category which are of the\n specified type. The recommendations are sorted by their explicitly set\n order.",
              "deprecated": false
            },
            "getCategoryAssignments": {
              "name": "getCategoryAssignments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of category assignments of the category."
              },
              "description": "Returns a collection of category assignments of the category.",
              "deprecated": false
            },
            "getDefaultSortingRule": {
              "name": "getDefaultSortingRule",
              "args": [],
              "class": {
                "name": "SortingRule",
                "description": "the default SortingRule or null."
              },
              "description": "Returns the default sorting rule configured for this category,\n or null if there is no default rule to be applied for it.\n\n This method returns the default rule for the parent category if this\n category inherits one.  The parent category may inherit its default\n rule from its parent, and so on, up to the root category.\n\n This method returns null if no ancestor category for this\n category has a default rule.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the property for the current locale, or null if it wasn't found."
              },
              "description": "Returns the description of the catalog category for the current locale.",
              "deprecated": false
            },
            "getDisplayMode": {
              "name": "getDisplayMode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'displayMode' which is either DISPLAY_MODE_MERGED or DISPLAY_MODE_INDIVIDUAL or null if category is set to inherit the display mode."
              },
              "description": "Returns the Variation Groups Display Mode of the category or null if no display mode is defined.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the property for the current locale, or null if it wasn't found."
              },
              "description": "Returns the display name of the of the catalog category for the current locale.\n\n This value is intended to be used as the\n external visible name of the catalog category.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the id of the category."
              },
              "description": "Returns the id of the category.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the image reference for this category."
              },
              "description": "Returns the image reference of this catalog category.",
              "deprecated": false
            },
            "getIncomingCategoryLinks": {
              "name": "getIncomingCategoryLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for which this category\n is the target.  If the source category of a link belongs to a different\n catalog than the catalog owning this category, it is not returned.",
              "deprecated": false
            },
            "getIncomingCategoryLinks0": {
              "name": "getIncomingCategoryLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the link type type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for which this category\n is the target and which are of the specified type.  If the source\n category of a link belongs to a different catalog than the catalog owning\n this category, it is not returned.",
              "deprecated": false
            },
            "getOnlineCategoryAssignments": {
              "name": "getOnlineCategoryAssignments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of online category assignments of the category."
              },
              "description": "Returns a collection of category assignments of the category where the\n referenced product is currently online. When checking the online status\n of the product, the online flag and the online from & to dates are taken\n into account. Online flag, online from & to dates set for the current site\n takes precedence over the default values.",
              "deprecated": false
            },
            "getOnlineFlag": {
              "name": "getOnlineFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the online status flag of the category."
              },
              "description": "Returns the online status flag of the category.",
              "deprecated": false
            },
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date from which the category is online or valid."
              },
              "description": "Returns the date from which the category is online or valid.",
              "deprecated": false
            },
            "getOnlineIncomingCategoryLinks": {
              "name": "getOnlineIncomingCategoryLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for\n which this category is the target. If the source category of a link\n belongs to a different catalog than the catalog owning this category, it\n is not returned. Additionally, this method will only return a link if the\n source category is currently online. A category is currently online if\n its online flag equals true and the current site date is within the date\n range defined by the onlineFrom and onlineTo attributes.",
              "deprecated": false
            },
            "getOnlineOutgoingCategoryLinks": {
              "name": "getOnlineOutgoingCategoryLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for\n which this category is the source. If the target category of a link\n belongs to a different catalog than the catalog owning this category, it\n is not returned. Additionally, this method will only return a link if the\n target category is currently online. A category is currently online if\n its online flag equals true and the current site date is within the date\n range defined by the onlineFrom and onlineTo attributes.",
              "deprecated": false
            },
            "getOnlineProducts": {
              "name": "getOnlineProducts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of online products of this category."
              },
              "description": "Returns online products assigned to this category.\n Offline products are not included in the returned collection.\n When checking the online status of the product,\n the online flag and the online from & to dates are taken into account.\n Online flag, online from & to dates set for the current site takes precedence\n over the default values. \n\n The order of products in the returned collection corresponds to the\n defined explicit sorting of products in this category.",
              "deprecated": false
            },
            "getOnlineSubCategories": {
              "name": "getOnlineSubCategories",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of currently online subcategories."
              },
              "description": "Returns a sorted collection of currently online subcategories of this\n catalog category.\n \n  \n   A category is currently online if its online flag\n   equals true and the current site date is within the date range defined by\n   the onlineFrom and onlineTo attributes.\n  \n  \n   The returned collection is sorted by position. Subcategories marked as\n   \"unsorted\" always appear after those marked as \"sorted\" but are otherwise\n   not in any guaranteed order.\n  \n  \n    The returned collection contains direct subcategories only.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date until which the category is online or valid."
              },
              "description": "Returns the date until which the category is online or valid.",
              "deprecated": false
            },
            "getOrderableRecommendations": {
              "name": "getOrderableRecommendations",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns a list of outgoing recommendations for this category. This method\n behaves similarly to getRecommendations() but additionally filters out\n recommendations for which the target product is unorderable according to\n its product availability model.",
              "deprecated": false
            },
            "getOrderableRecommendations0": {
              "name": "getOrderableRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns a list of outgoing recommendations for this category. This method\n behaves similarly to getRecommendations(Number) but additionally\n filters out recommendations for which the target product is unorderable\n according to its product availability model.",
              "deprecated": false
            },
            "getOutgoingCategoryLinks": {
              "name": "getOutgoingCategoryLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for which this category\n is the source.  If the target category of a link belongs to a different\n catalog than the catalog owning this category, it is not returned.\n The collection of links is sorted by the explicitly defined order\n for this category with unsorted links appearing at the end.",
              "deprecated": false
            },
            "getOutgoingCategoryLinks0": {
              "name": "getOutgoingCategoryLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the link type type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of CategoryLink objects, possibly empty but not null."
              },
              "description": "Returns the collection of CategoryLink objects for which this category\n is the source and which are of the specified type.  If the target\n category of a link belongs to a different catalog than the catalog owning\n this category, it is not returned.  The collection of links is sorted by\n the explicitly defined order for this category with unsorted links\n appearing at the end.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'pageDescription'."
              },
              "description": "Returns the page description of this category for the default locale or null if not defined.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'pageKeywords'."
              },
              "description": "Returns the page keywords of this category for the default locale or null if not defined.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'pageTitle'."
              },
              "description": "Returns the page title of this category for the default locale or null if not defined.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'pageURL'."
              },
              "description": "Returns the page URL property of this category or null if not defined.",
              "deprecated": false
            },
            "getParent": {
              "name": "getParent",
              "args": [],
              "class": {
                "name": "Category",
                "description": "a CatalogCategory instance representing the parent of this CatalogCategory or null."
              },
              "description": "Returns the parent of this category.",
              "deprecated": false
            },
            "getProductAttributeModel": {
              "name": "getProductAttributeModel",
              "args": [],
              "class": {
                "name": "ProductAttributeModel",
                "description": "the ProductAttributeModel for this category."
              },
              "description": "Returns this category's ProductAttributeModel, which makes access to the\n category's attribute information convenient. The model is calculated\n based on the attribute definitions assigned to this category and the\n global attribute definitions for the object type 'Product'.",
              "deprecated": false
            },
            "getProducts": {
              "name": "getProducts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of all products of this category."
              },
              "description": "Returns all products assigned to this category.\n The order of products in the returned collection corresponds to the\n defined explicit sorting of products in this category.",
              "deprecated": false
            },
            "getRecommendations": {
              "name": "getRecommendations",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this category.  If this category\n is not in the site catalog, or there is no site catalog, an empty\n collection is returned.  Only recommendations for which the target\n product exists and is assigned to the site catalog are returned.  The\n recommendations are sorted by their explicitly set order.",
              "deprecated": false
            },
            "getRecommendations0": {
              "name": "getRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this category which are of the\n specified type.  Behaves the same as getRecommendations() but\n additionally filters by recommendation type.",
              "deprecated": false
            },
            "getSearchPlacement": {
              "name": "getSearchPlacement",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'searchPlacement'."
              },
              "description": "Returns the search placement of the category or null of no search placement is defined.",
              "deprecated": false
            },
            "getSearchRank": {
              "name": "getSearchRank",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'searchRank'."
              },
              "description": "Returns the search rank of the category or null of no search rank is defined.",
              "deprecated": false
            },
            "getSiteMapChangeFrequency": {
              "name": "getSiteMapChangeFrequency",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'siteMapChangeFrequency'."
              },
              "description": "Returns the category's sitemap change frequency.",
              "deprecated": false
            },
            "getSiteMapIncluded": {
              "name": "getSiteMapIncluded",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapIncluded'."
              },
              "description": "Returns the category's sitemap inclusion.",
              "deprecated": false
            },
            "getSiteMapPriority": {
              "name": "getSiteMapPriority",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapPriority'."
              },
              "description": "Returns the category's sitemap priority.",
              "deprecated": false
            },
            "getSubCategories": {
              "name": "getSubCategories",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of the subcategories."
              },
              "description": "Returns a sorted collection of the subcategories of this catalog category,\n including both online and offline subcategories.\n \n  \n   The returned collection is sorted by position. Subcategories marked as\n   \"unsorted\" always appear after those marked as \"sorted\" but are otherwise\n   not in any guaranteed order.\n  \n  \n   The returned collection contains direct subcategories only.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the property 'template'."
              },
              "description": "Returns the template property value , which is the file name of the template\n used to display the catalog category.",
              "deprecated": false
            },
            "getThumbnail": {
              "name": "getThumbnail",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the thumbnail image reference for this category."
              },
              "description": "Returns the thumbnail image reference of this catalog category.",
              "deprecated": false
            },
            "hasOnlineProducts": {
              "name": "hasOnlineProducts",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if this category has at least one online product assigned, false otherwise."
              },
              "description": "Returns true if this catalog category has any online products assigned.\n When checking the online status of the product,\n the online flag and the online from & to dates are taken into account.\n Online flag, online from & to dates set for the current site takes precedence\n over the default values.",
              "deprecated": false
            },
            "hasOnlineSubCategories": {
              "name": "hasOnlineSubCategories",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if this category has at least one online subcategory, false otherwise."
              },
              "description": "Returns true if this catalog category has any online subcategories.\n \n  \n   A category is currently online if its online flag\n   equals true and the current site date is within the date range defined by\n   the onlineFrom and onlineTo attributes.\n  \n  \n   Only direct subcategories are considered.",
              "deprecated": false
            },
            "isDirectSubCategoryOf": {
              "name": "isDirectSubCategoryOf",
              "args": [
                {
                  "name": "parent",
                  "description": "The parent category, must not be null.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if this category is a direct sub-category of parent, false otherwise."
              },
              "description": "Returns true if this category is a direct sub-category of the provided\n category.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the category is currently online, false otherwise."
              },
              "description": "Returns the value indicating whether the catalog category is \"currently\n online\".  A category is currently online if its online flag equals true\n and the current site date is within the date range defined by the\n onlineFrom and onlineTo attributes.",
              "deprecated": false
            },
            "isRoot": {
              "name": "isRoot",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "'true' if the category is the root category of its catalog, 'false' otherwise."
              },
              "description": "Identifies if the category is the root category of its catalog.",
              "deprecated": false
            },
            "isSubCategoryOf": {
              "name": "isSubCategoryOf",
              "args": [
                {
                  "name": "ancestor",
                  "description": "The ancestor category, must not be null.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this category is a sub-category of ancestor, false otherwise."
              },
              "description": "Returns true if this category is a sub-category of the provided category.\n This can be either a direct or an indirect sub-category.",
              "deprecated": false
            },
            "isTopLevel": {
              "name": "isTopLevel",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if the category is a direct sub-category of the root category, false otherwise."
              },
              "description": "Returns true if the category is a top level category, but not the root\n category.",
              "deprecated": false
            },
            "setDisplayMode": {
              "name": "setDisplayMode",
              "args": [
                {
                  "name": "displayMode",
                  "description": "The category's variation groups display mode which is either DISPLAY_MODE_MERGED or DISPLAY_MODE_INDIVIDUAL or null if category is set to inherit the display mode.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the category's Variation Groups Display Mode.",
              "deprecated": false
            },
            "setSearchPlacement": {
              "name": "setSearchPlacement",
              "args": [
                {
                  "name": "placement",
                  "description": "The category's search placement.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the category's search placement.",
              "deprecated": false
            },
            "setSearchRank": {
              "name": "setSearchRank",
              "args": [
                {
                  "name": "rank",
                  "description": "The category's search rank.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the category's search rank.",
              "deprecated": false
            }
          }
        },
        "CategoryAssignment": {
          "fullClassName": "dw.catalog.CategoryAssignment",
          "package": "dw.catalog",
          "description": "Represents a category assignment in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "calloutMsg": {
              "name": "calloutMsg",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The category assignment's callout message in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "category": {
              "name": "category",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The category to which this category assignment is bound.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The category assignment's image.",
              "deprecated": false,
              "type": "property"
            },
            "longDescription": {
              "name": "longDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The category assignment's long description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the category assignment in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "product": {
              "name": "product",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The product to which this category assignment is bound.",
              "deprecated": false,
              "type": "property"
            },
            "shortDescription": {
              "name": "shortDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The category assignment's short description in the current locale.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCalloutMsg": {
              "name": "getCalloutMsg",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "the category assignment's callout message in the current locale, or null if it wasn't found."
              },
              "description": "Returns the category assignment's callout message in the current locale.",
              "deprecated": false
            },
            "getCategory": {
              "name": "getCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "The category to which this category assignment is bound."
              },
              "description": "Returns the category to which this category assignment is bound.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the category assignment's image."
              },
              "description": "Returns the category assignment's image.",
              "deprecated": false
            },
            "getLongDescription": {
              "name": "getLongDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The category assignment's long description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the category assignment's long description in the current locale.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the category assignment for the current locale, or null if it wasn't found."
              },
              "description": "Returns the name of the category assignment in the current locale.",
              "deprecated": false
            },
            "getProduct": {
              "name": "getProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "The product to which this category assignment is bound."
              },
              "description": "Returns the product to which this category assignment is bound.",
              "deprecated": false
            },
            "getShortDescription": {
              "name": "getShortDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "the category assignment's short description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the category assignment's short description in the current locale.",
              "deprecated": false
            }
          }
        },
        "CategoryLink": {
          "fullClassName": "dw.catalog.CategoryLink",
          "package": "dw.catalog",
          "description": "A CategoryLink represents a directed relationship between two catalog\n categories.  Merchants create category links in order to market similar or\n related groups of products.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "LINKTYPE_ACCESSORY": {
              "name": "LINKTYPE_ACCESSORY",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents an accessory category link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_CROSS_SELL": {
              "name": "LINKTYPE_CROSS_SELL",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Represents a cross-sell category link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_OTHER": {
              "name": "LINKTYPE_OTHER",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents a miscellaneous category link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_SPARE_PART": {
              "name": "LINKTYPE_SPARE_PART",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Represents a spare part category link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_UP_SELL": {
              "name": "LINKTYPE_UP_SELL",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Represents an up-sell category link.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "sourceCategory": {
              "name": "sourceCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The object for the relation 'sourceCategory'.",
              "deprecated": false,
              "type": "property"
            },
            "targetCategory": {
              "name": "targetCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The object for the relation 'targetCategory'.",
              "deprecated": false,
              "type": "property"
            },
            "typeCode": {
              "name": "typeCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The type of this category link (see constants).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSourceCategory": {
              "name": "getSourceCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the object for the relation 'sourceCategory'"
              },
              "description": "Returns the object for the relation 'sourceCategory'.",
              "deprecated": false
            },
            "getTargetCategory": {
              "name": "getTargetCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the object for the relation 'targetCategory'"
              },
              "description": "Returns the object for the relation 'targetCategory'.",
              "deprecated": false
            },
            "getTypeCode": {
              "name": "getTypeCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the type of the link."
              },
              "description": "Returns the type of this category link (see constants).",
              "deprecated": false
            }
          }
        },
        "PriceBook": {
          "fullClassName": "dw.catalog.PriceBook",
          "package": "dw.catalog",
          "description": "Represents a price book.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The currency code of the price book.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the price book.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of the price book.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the price book.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status of the price book. The online status\n is calculated from the online status flag and the onlineFrom\n onlineTo dates defined for the price book.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFlag": {
              "name": "onlineFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status flag of the price book.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date from which the price book is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date until which the price book is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "parentPriceBook": {
              "name": "parentPriceBook",
              "class": {
                "name": "PriceBook"
              },
              "static": false,
              "readonly": true,
              "description": "The parent price book.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "Currency code of the price book"
              },
              "description": "Returns the currency code of the price book.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "Currency code of the price book"
              },
              "description": "Returns the description of the price book.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "Display name of the price book"
              },
              "description": "Returns the display name of the price book.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the price book"
              },
              "description": "Returns the ID of the price book.",
              "deprecated": false
            },
            "getOnlineFlag": {
              "name": "getOnlineFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the online status flag of the price book."
              },
              "description": "Returns the online status flag of the price book.",
              "deprecated": false
            },
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date from which the price book is online or valid."
              },
              "description": "Returns the date from which the price book is online or valid.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date until which the price book is online or valid."
              },
              "description": "Returns the date until which the price book is online or valid.",
              "deprecated": false
            },
            "getParentPriceBook": {
              "name": "getParentPriceBook",
              "args": [],
              "class": {
                "name": "PriceBook",
                "description": "Parent price book"
              },
              "description": "Returns the parent price book.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "The online status of the price book."
              },
              "description": "Returns the online status of the price book. The online status\n is calculated from the online status flag and the onlineFrom\n onlineTo dates defined for the price book.",
              "deprecated": false
            }
          }
        },
        "PriceBookMgr": {
          "fullClassName": "dw.catalog.PriceBookMgr",
          "package": "dw.catalog",
          "description": "Price book manager provides methods to access price books.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "allPriceBooks": {
              "name": "allPriceBooks",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All price books defined for the organization.",
              "deprecated": false,
              "type": "property"
            },
            "applicablePriceBooks": {
              "name": "applicablePriceBooks",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": false,
              "description": "A collection of price books that are set in the user session.",
              "deprecated": false,
              "type": "property"
            },
            "sitePriceBooks": {
              "name": "sitePriceBooks",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All price books assigned to the current site. \n\n Please note that this doesn't include parent price books not assigned\n to the site, but considered by the price lookup.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "assignPriceBookToSite": {
              "name": "assignPriceBookToSite",
              "args": [
                {
                  "name": "priceBook",
                  "description": "price book to be assigned",
                  "class": {
                    "name": "PriceBook"
                  },
                  "multiple": false
                },
                {
                  "name": "siteId",
                  "description": "id of the site to be assigned to, such as 'SiteGenesis'. The site has to be a storefront site.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if price book is assigned to site. Throws an exception if price book doesn't exist or site doesn't exist or site is not a storefront site."
              },
              "description": "Assign a price book to a site. This requires a transaction, see Transaction.wrap(Function)",
              "deprecated": false
            },
            "getAllPriceBooks": {
              "name": "getAllPriceBooks",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "All price books of the organization."
              },
              "description": "Returns all price books defined for the organization.",
              "deprecated": false
            },
            "getApplicablePriceBooks": {
              "name": "getApplicablePriceBooks",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "Collection of applicable price books set in the session."
              },
              "description": "Returns a collection of price books that are set in the user session.",
              "deprecated": false
            },
            "getPriceBook": {
              "name": "getPriceBook",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "The price book id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PriceBook",
                "description": "Price book or null of not found"
              },
              "description": "Returns the price book of the current organization matching the\n specified ID.",
              "deprecated": false
            },
            "getSitePriceBooks": {
              "name": "getSitePriceBooks",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "All price books assigned to the current site."
              },
              "description": "Returns all price books assigned to the current site. \n\n Please note that this doesn't include parent price books not assigned\n to the site, but considered by the price lookup.",
              "deprecated": false
            },
            "setApplicablePriceBooks": {
              "name": "setApplicablePriceBooks",
              "args": [
                {
                  "name": "priceBooks",
                  "description": "The price books that are set in the session as applicable price books.",
                  "class": {
                    "name": "PriceBook"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets one or more price books to be considered by the product price lookup. The information is\n stored in the user session. If no price book is set in the user session, all active and valid price books assigned to\n the site are used for the price lookup. If price books are set, only those price books are considered by the price\n lookup. Note that the system does not assure that a price book set by this API is assigned to the current\n site.",
              "deprecated": false
            },
            "unassignPriceBookFromAllSites": {
              "name": "unassignPriceBookFromAllSites",
              "args": [
                {
                  "name": "priceBook",
                  "description": "price book to be unassigned",
                  "class": {
                    "name": "PriceBook"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if price book is unassigned from all sites. Throws an exception if price book doesn't exist"
              },
              "description": "Unassign a price book from all sites. This requires a transaction, see\n Transaction.wrap(Function)",
              "deprecated": false
            },
            "unassignPriceBookFromSite": {
              "name": "unassignPriceBookFromSite",
              "args": [
                {
                  "name": "priceBook",
                  "description": "price book to be unassigned",
                  "class": {
                    "name": "PriceBook"
                  },
                  "multiple": false
                },
                {
                  "name": "siteId",
                  "description": "id of the site to be unassigned from, such as 'SiteGenesis'. The site has to be a storefront site.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if price book is unassigned from site. Throws an exception if price book doesn't exist or site doesn't exist or site is not a storefront site."
              },
              "description": "Unassign a price book from a site. This requires a transaction, see\n Transaction.wrap(Function)",
              "deprecated": false
            }
          }
        },
        "Product": {
          "fullClassName": "dw.catalog.Product",
          "package": "dw.catalog",
          "description": "Represents a product in Commerce Cloud Digital. Products are identified by\n a unique product ID, sometimes called the SKU. There are several different\n types of product:\n\n <ul>\n <li><b>Simple product</b></li>\n <li><b>Master products:</b> This type of product defines a template for a set\n of related products which differ only by a set of defined\n \"variation attributes\", such as size or color. Master products are not\n orderable themselves. The variation information for a master product is\n available through its <a href=\"class_dw_catalog_ProductVariationModel.html\">ProductVariationModel</a>.</li>\n <li><b>Variant:</b> Variants are the actual orderable products that are\n related to a master product. Each variant of a master product has a unique\n set of values for the defined variation attributes. Variants are said to be\n \"mastered\" by the corresponding master product.</li>\n <li><b>Option products:</b> Option products define additional options, such\n as a warranty, which can be purchased for a defined price at the time the\n product is purchased. The option information for an option product is\n available through its <a href=\"class_dw_catalog_ProductOptionModel.html\">ProductOptionModel</a>.</li>\n <li><b>Product-sets:</b> A product-set is a set of products which the\n merchant can sell as a collection in the storefront, for example an outfit of\n clothes. Product-sets are not orderable and therefore do not define prices.\n They exist only to group the products together in the storefront UI. Members\n of the set are called \"product-set-products\".</li>\n <li><b>Products bundles:</b> A collection of products which can be ordered as\n a single unit and therefore can define its own price and inventory record.</li>\n </ul>\n\n <p>\n Product price and availability information are retrievable through\n <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getPriceModel_DetailAnchor\">getPriceModel()</a> and <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getAvailabilityModel_DetailAnchor\">getAvailabilityModel()</a> respectively.\n Attribute information is retrievable through <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getAttributeModel_DetailAnchor\">getAttributeModel()</a>.\n Products may reference other products, either as recommendations or product\n links. This class provides the methods for retrieving these referenced\n products.\n </p><p>\n Products belong to a catalog (the \"owning\" catalog) and are assigned to\n categories in other catalogs. Products assigned to categories in the site\n catalog are typically orderable on the site.\n </p><p>\n Any API method which returns products will return an instance of a\n <a href=\"class_dw_catalog_Variant.html\">Variant</a> for variant products. This subclass contains\n methods which are specific to this type of product.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "activeData": {
              "name": "activeData",
              "class": {
                "name": "ProductActiveData"
              },
              "static": false,
              "readonly": true,
              "description": "The active data for this product, for the current site.",
              "deprecated": false,
              "type": "property"
            },
            "allCategories": {
              "name": "allCategories",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all categories to which this product is assigned.",
              "deprecated": false,
              "type": "property"
            },
            "allCategoryAssignments": {
              "name": "allCategoryAssignments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All category assignments for this product in any catalog.",
              "deprecated": false,
              "type": "property"
            },
            "allIncomingProductLinks": {
              "name": "allIncomingProductLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All incoming ProductLinks.",
              "deprecated": false,
              "type": "property"
            },
            "allProductLinks": {
              "name": "allProductLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All outgoing ProductLinks.",
              "deprecated": false,
              "type": "property"
            },
            "assignedToSiteCatalog": {
              "name": "assignedToSiteCatalog",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the product is assigned to the current site (via the site catalog), otherwise\n false is returned.\n \n In case of the product being a variant, the variant will be considered as assigned if its master, one of the\n variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation\n group the variation group is considered as assigned if its master or itself is assigned.",
              "deprecated": false,
              "type": "property"
            },
            "attributeModel": {
              "name": "attributeModel",
              "class": {
                "name": "ProductAttributeModel"
              },
              "static": false,
              "readonly": true,
              "description": "Returns this product's ProductAttributeModel, which makes access to the\n product attribute information convenient. The model is calculated based\n on the product attributes assigned to this product's classification\n category (or any of it's ancestors) and the global attribute definitions\n for the system object type 'Product'. If this product has no\n classification category, the attribute model is calculated on the global\n attribute definitions only. If this product is a variant, then the\n attribute model is calculated based on the classification category of its\n corresponding master product.",
              "deprecated": false,
              "type": "property"
            },
            "availabilityModel": {
              "name": "availabilityModel",
              "class": {
                "name": "ProductAvailabilityModel"
              },
              "static": false,
              "readonly": true,
              "description": "The availability model, which can be used to determine availability\n information for a product.",
              "deprecated": false,
              "type": "property"
            },
            "available": {
              "name": "available",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product is available.",
              "deprecated": true,
              "type": "property"
            },
            "availableFlag": {
              "name": "availableFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Identifies if the product is available.",
              "deprecated": true,
              "type": "property"
            },
            "brand": {
              "name": "brand",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Brand of the product.",
              "deprecated": false,
              "type": "property"
            },
            "bundle": {
              "name": "bundle",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is a product bundle.",
              "deprecated": false,
              "type": "property"
            },
            "bundled": {
              "name": "bundled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is bundled within at least one\n product bundle.",
              "deprecated": false,
              "type": "property"
            },
            "bundledProducts": {
              "name": "bundledProducts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing all products that participate in the\n product bundle.",
              "deprecated": false,
              "type": "property"
            },
            "bundles": {
              "name": "bundles",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all bundles in which this product is included.\n The method only returns bundles assigned to the current site.",
              "deprecated": false,
              "type": "property"
            },
            "categories": {
              "name": "categories",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all categories to which this product is assigned\n and which are also available through the current site.",
              "deprecated": false,
              "type": "property"
            },
            "categorized": {
              "name": "categorized",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product is bound to at least one catalog category.",
              "deprecated": false,
              "type": "property"
            },
            "categoryAssignments": {
              "name": "categoryAssignments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of category assignments for this product in\n the current site catalog.",
              "deprecated": false,
              "type": "property"
            },
            "classificationCategory": {
              "name": "classificationCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The classification category associated with this Product. A\n product has a single classification category which may or may not be in\n the site catalog. The classification category defines the attribute set\n of the product. See getAttributeModel() for\n how the classification category is used.",
              "deprecated": false,
              "type": "property"
            },
            "EAN": {
              "name": "EAN",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The European Article Number of the product.",
              "deprecated": false,
              "type": "property"
            },
            "facebookEnabled": {
              "name": "facebookEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product is Facebook enabled.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The product's image.",
              "deprecated": true,
              "type": "property"
            },
            "incomingProductLinks": {
              "name": "incomingProductLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Returns incoming ProductLinks, where the source product is a site product.",
              "deprecated": false,
              "type": "property"
            },
            "longDescription": {
              "name": "longDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The product's long description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerName": {
              "name": "manufacturerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the product manufacturer.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerSKU": {
              "name": "manufacturerSKU",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the manufacturer's stock keeping unit.",
              "deprecated": false,
              "type": "property"
            },
            "master": {
              "name": "master",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is a product master.",
              "deprecated": false,
              "type": "property"
            },
            "minOrderQuantity": {
              "name": "minOrderQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The minimum order quantity for this product.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the product in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status of the product. The online status\n is calculated from the online status flag and the onlineFrom\n onlineTo dates defined for the product.",
              "deprecated": false,
              "type": "property"
            },
            "onlineCategories": {
              "name": "onlineCategories",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all currently online categories to which this\n product is assigned and which are also available through the current\n site. A category is currently online if its online flag equals true and\n the current site date is within the date range defined by the onlineFrom\n and onlineTo attributes.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFlag": {
              "name": "onlineFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status flag of the product.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date from which the product is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date until which the product is online or valid.",
              "deprecated": false,
              "type": "property"
            },
            "optionModel": {
              "name": "optionModel",
              "class": {
                "name": "ProductOptionModel"
              },
              "static": false,
              "readonly": true,
              "description": "The product's option model. The option values selections are\n initialized with the values defined for the product, or the default values\n defined for the option.",
              "deprecated": false,
              "type": "property"
            },
            "optionProduct": {
              "name": "optionProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product has options.",
              "deprecated": false,
              "type": "property"
            },
            "orderableRecommendations": {
              "name": "orderableRecommendations",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A list of outgoing recommendations for this product. This method\n behaves similarly to getRecommendations() but additionally filters out\n recommendations for which the target product is unorderable according to\n its product availability model.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns product's page description in the default locale.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product's page keywords in the default locale.",
              "deprecated": false,
              "type": "property"
            },
            "pageMetaTags": {
              "name": "pageMetaTags",
              "class": {
                "name": "Array"
              },
              "static": false,
              "readonly": true,
              "description": "All page meta tags, defined for this instance for which content can be generated.\n \n The meta tag content is generated based on the product detail page meta tag context and rules. The rules are\n obtained from the current product context or inherited from variation groups, master product, the primary\n category, up to the root category.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product's page title in the default locale.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product's page URL in the default locale.",
              "deprecated": false,
              "type": "property"
            },
            "pinterestEnabled": {
              "name": "pinterestEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product is Pinterest enabled.",
              "deprecated": false,
              "type": "property"
            },
            "priceModel": {
              "name": "priceModel",
              "class": {
                "name": "ProductPriceModel"
              },
              "static": false,
              "readonly": true,
              "description": "The price model, which can be used to retrieve a price\n for this product.",
              "deprecated": false,
              "type": "property"
            },
            "primaryCategory": {
              "name": "primaryCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The primary category of the product within the current site catalog.",
              "deprecated": false,
              "type": "property"
            },
            "primaryCategoryAssignment": {
              "name": "primaryCategoryAssignment",
              "class": {
                "name": "CategoryAssignment"
              },
              "static": false,
              "readonly": true,
              "description": "The category assignment to the primary category in the current site\n catalog or null if no primary category is defined within the current site\n catalog.",
              "deprecated": false,
              "type": "property"
            },
            "product": {
              "name": "product",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the instance represents a product. Returns 'false' if\n the instance represents a product set.",
              "deprecated": false,
              "type": "property"
            },
            "productLinks": {
              "name": "productLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All outgoing ProductLinks, where the target product is also\n available in the current site. The ProductLinks are unsorted.",
              "deprecated": false,
              "type": "property"
            },
            "productSet": {
              "name": "productSet",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the instance represents a product set, otherwise 'false'.",
              "deprecated": false,
              "type": "property"
            },
            "productSetProduct": {
              "name": "productSetProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this product is part of any product set, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "productSetProducts": {
              "name": "productSetProducts",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all products which are assigned to this product\n and which are also available through the current site.  If this product\n does not represent a product set then an empty collection will be\n returned.",
              "deprecated": false,
              "type": "property"
            },
            "productSets": {
              "name": "productSets",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all product sets in which this product is included.\n The method only returns product sets assigned to the current site.",
              "deprecated": false,
              "type": "property"
            },
            "recommendations": {
              "name": "recommendations",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The outgoing recommendations for this product which\n belong to the site catalog.  If this product is not assigned to the site\n catalog, or there is no site catalog, an empty collection is returned.\n Only recommendations for which the target product exists and is assigned\n to the site catalog are returned.  The recommendations are sorted by\n their explicitly set order.",
              "deprecated": false,
              "type": "property"
            },
            "retailSet": {
              "name": "retailSet",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is part of a retail set.",
              "deprecated": true,
              "type": "property"
            },
            "searchable": {
              "name": "searchable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product is searchable.",
              "deprecated": false,
              "type": "property"
            },
            "searchableFlag": {
              "name": "searchableFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns, whether the product is currently searchable.",
              "deprecated": false,
              "type": "property"
            },
            "searchableIfUnavailableFlag": {
              "name": "searchableIfUnavailableFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The searchable status of the Product if unavailable.\n\n Besides true or false, the return value null indicates that the value is not set.",
              "deprecated": false,
              "type": "property"
            },
            "searchPlacement": {
              "name": "searchPlacement",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The product's search placement classification. The higher the\n numeric product placement value, the more relevant is the product when\n sorting search results. The range of numeric placement values is\n defined in the meta data of object type 'Product' and can therefore be\n customized.",
              "deprecated": false,
              "type": "property"
            },
            "searchRank": {
              "name": "searchRank",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The product's search rank. The higher the numeric product rank,\n the more relevant is the product when sorting search results. The range of\n numeric rank values is defined in the meta data of object type 'Product'\n and can therefore be customized.",
              "deprecated": false,
              "type": "property"
            },
            "shortDescription": {
              "name": "shortDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The product's short description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapChangeFrequency": {
              "name": "siteMapChangeFrequency",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product's change frequency needed for the sitemap creation.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapIncluded": {
              "name": "siteMapIncluded",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status if the product is included into the sitemap.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapPriority": {
              "name": "siteMapPriority",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The product's priority needed for the sitemap creation.",
              "deprecated": false,
              "type": "property"
            },
            "siteProduct": {
              "name": "siteProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the product is assigned to the current site (via the\n site catalog), otherwise 'false' is returned.",
              "deprecated": true,
              "type": "property"
            },
            "stepQuantity": {
              "name": "stepQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The steps in which the order amount of the product can be\n increased.",
              "deprecated": false,
              "type": "property"
            },
            "storeReceiptName": {
              "name": "storeReceiptName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The store receipt name of the product in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "storeTaxClass": {
              "name": "storeTaxClass",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The store tax class ID.\n This is an optional override for in-store tax calculation.",
              "deprecated": false,
              "type": "property"
            },
            "taxClassID": {
              "name": "taxClassID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product's tax class, by resolving\n the Global Preference setting selected. If the Localized\n Tax Class setting under Global Preferences -> Products is\n selected, the localizedTaxClassID attribute value will be\n returned, else the legacy taxClassID attribute value will\n be returned.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the product's rendering template.",
              "deprecated": false,
              "type": "property"
            },
            "thumbnail": {
              "name": "thumbnail",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The product's thumbnail image.",
              "deprecated": true,
              "type": "property"
            },
            "unit": {
              "name": "unit",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product's sales unit.",
              "deprecated": false,
              "type": "property"
            },
            "unitQuantity": {
              "name": "unitQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The product's unit quantity.",
              "deprecated": false,
              "type": "property"
            },
            "UPC": {
              "name": "UPC",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Universal Product Code of the product.",
              "deprecated": false,
              "type": "property"
            },
            "variant": {
              "name": "variant",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is mastered by a product master.",
              "deprecated": false,
              "type": "property"
            },
            "variants": {
              "name": "variants",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all variants assigned to this variation master\n or variation group product. All variants are returned regardless of whether\n they are online or offline.\n\n If this product does not represent a variation master or variation group\n product then an empty collection is returned.",
              "deprecated": false,
              "type": "property"
            },
            "variationGroup": {
              "name": "variationGroup",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this product instance is a variation group product.",
              "deprecated": false,
              "type": "property"
            },
            "variationGroups": {
              "name": "variationGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all variation groups assigned to this variation\n master product. All variation groups are returned regardless of whether\n they are online or offline.\n\n If this product does not represent a variation master product then an\n empty collection is returned.",
              "deprecated": false,
              "type": "property"
            },
            "variationModel": {
              "name": "variationModel",
              "class": {
                "name": "ProductVariationModel"
              },
              "static": false,
              "readonly": true,
              "description": "The variation model of this product. If this product is a master\n product, then the returned model will encapsulate all the information\n about its variation attributes and variants. If this product is a variant\n product, then the returned model will encapsulate all the same\n information, but additionally pre-select all the variation attribute\n values of this variant. (See ProductVariationModel for\n details on what \"selected\" means.) If this product is neither a master\n product or a variation product, then a model will be returned but will be\n essentially empty and not useful for any particular purpose.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "assignedToCategory": {
              "name": "assignedToCategory",
              "args": [
                {
                  "name": "category",
                  "description": "the CatalogCategory to check.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the product is bound to the CatalogCategory, false otherwise."
              },
              "description": "Identifies if this product is bound to the specified catalog category.",
              "deprecated": true
            },
            "getActiveData": {
              "name": "getActiveData",
              "args": [],
              "class": {
                "name": "ProductActiveData",
                "description": "the active data for this product for the current site."
              },
              "description": "Returns the active data for this product, for the current site.",
              "deprecated": false
            },
            "getAllCategories": {
              "name": "getAllCategories",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of categories."
              },
              "description": "Returns a collection of all categories to which this product is assigned.",
              "deprecated": false
            },
            "getAllCategoryAssignments": {
              "name": "getAllCategoryAssignments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of category assignments of the product in any catalog."
              },
              "description": "Returns all category assignments for this product in any catalog.",
              "deprecated": false
            },
            "getAllIncomingProductLinks": {
              "name": "getAllIncomingProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all incoming ProductLinks."
              },
              "description": "Returns all incoming ProductLinks.",
              "deprecated": false
            },
            "getAllIncomingProductLinks0": {
              "name": "getAllIncomingProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the type of ProductLinks to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of all incoming ProductLinks of a specific type."
              },
              "description": "Returns all incoming ProductLinks of a specific type.",
              "deprecated": false
            },
            "getAllProductLinks": {
              "name": "getAllProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all outgoing ProductLinks."
              },
              "description": "Returns all outgoing ProductLinks.",
              "deprecated": false
            },
            "getAllProductLinks0": {
              "name": "getAllProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the type of ProductLinks to fetch.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of all outgoing ProductLinks of a specific type."
              },
              "description": "Returns all outgoing ProductLinks of a specific type.",
              "deprecated": false
            },
            "getAllRecommendations": {
              "name": "getAllRecommendations",
              "args": [
                {
                  "name": "catalog",
                  "description": "the catalog containing the recommendations.",
                  "class": {
                    "name": "Catalog"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this product which belong to the\n specified catalog. The recommendations are sorted by their explicitly set\n order.",
              "deprecated": false
            },
            "getAllRecommendations0": {
              "name": "getAllRecommendations",
              "args": [
                {
                  "name": "catalog",
                  "description": "the catalog containing the recommendations.",
                  "class": {
                    "name": "Catalog"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this product which are of the\n specified type and which belong to the specified catalog.\n The recommendations are sorted by their explicitly set order.",
              "deprecated": false
            },
            "getAttributeModel": {
              "name": "getAttributeModel",
              "args": [],
              "class": {
                "name": "ProductAttributeModel",
                "description": "the ProductAttributeModel for this product."
              },
              "description": "Returns this product's ProductAttributeModel, which makes access to the\n product attribute information convenient. The model is calculated based\n on the product attributes assigned to this product's classification\n category (or any of it's ancestors) and the global attribute definitions\n for the system object type 'Product'. If this product has no\n classification category, the attribute model is calculated on the global\n attribute definitions only. If this product is a variant, then the\n attribute model is calculated based on the classification category of its\n corresponding master product.",
              "deprecated": false
            },
            "getAvailabilityModel": {
              "name": "getAvailabilityModel",
              "args": [],
              "class": {
                "name": "ProductAvailabilityModel",
                "description": "the availability model for a product."
              },
              "description": "Returns the availability model, which can be used to determine availability\n information for a product.",
              "deprecated": false
            },
            "getAvailabilityModel0": {
              "name": "getAvailabilityModel",
              "args": [
                {
                  "name": "list",
                  "description": "The inventory list to get the availability model for. Must not be null or an exception will be raised.",
                  "class": {
                    "name": "ProductInventoryList"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductAvailabilityModel",
                "description": "the availability model of the given inventory list for a product."
              },
              "description": "Returns the availability model of the given inventory list, which can be\n used to determine availability information for a product.",
              "deprecated": false
            },
            "getAvailableFlag": {
              "name": "getAvailableFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the availability status flag of the product."
              },
              "description": "Identifies if the product is available.",
              "deprecated": true
            },
            "getBrand": {
              "name": "getBrand",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Brand of the product."
              },
              "description": "Returns the Brand of the product.",
              "deprecated": false
            },
            "getBundledProductQuantity": {
              "name": "getBundledProductQuantity",
              "args": [
                {
                  "name": "aProduct",
                  "description": "The product to determine the quantity for.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "The quantity of the product within the bundle or 0 if the product is not part of the bundle."
              },
              "description": "Returns the quantity of the specified product within the bundle. If the\n specified product is not part of the bundle, a 0 quantity is returned.",
              "deprecated": false
            },
            "getBundledProducts": {
              "name": "getBundledProducts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A collection containing all products of the product bundle."
              },
              "description": "Returns a collection containing all products that participate in the\n product bundle.",
              "deprecated": false
            },
            "getBundles": {
              "name": "getBundles",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of bundles in which this product is included, possibly empty."
              },
              "description": "Returns a collection of all bundles in which this product is included.\n The method only returns bundles assigned to the current site.",
              "deprecated": false
            },
            "getCategories": {
              "name": "getCategories",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of categories to which this product is assigned and which are also available through the current site."
              },
              "description": "Returns a collection of all categories to which this product is assigned\n and which are also available through the current site.",
              "deprecated": false
            },
            "getCategoryAssignment": {
              "name": "getCategoryAssignment",
              "args": [
                {
                  "name": "category",
                  "description": "the category to use when fetching assignments.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CategoryAssignment",
                "description": "The category assignment for a specific category."
              },
              "description": "Returns the category assignment for a specific category.",
              "deprecated": false
            },
            "getCategoryAssignments": {
              "name": "getCategoryAssignments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of category assignments."
              },
              "description": "Returns a collection of category assignments for this product in\n the current site catalog.",
              "deprecated": false
            },
            "getClassificationCategory": {
              "name": "getClassificationCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the associated classification Category, or null if none is associated."
              },
              "description": "Returns the classification category associated with this Product. A\n product has a single classification category which may or may not be in\n the site catalog. The classification category defines the attribute set\n of the product. See getAttributeModel() for\n how the classification category is used.",
              "deprecated": false
            },
            "getEAN": {
              "name": "getEAN",
              "args": [],
              "class": {
                "name": "String",
                "description": "the European Article Number of the product."
              },
              "description": "Returns the European Article Number of the product.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the product."
              },
              "description": "Returns the ID of the product.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the product's image."
              },
              "description": "Returns the product's image.",
              "deprecated": true
            },
            "getImage0": {
              "name": "getImage",
              "args": [
                {
                  "name": "viewtype",
                  "description": "the view type annotated to image",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "index",
                  "description": "the index number of the image within image list",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "MediaFile",
                "description": "the MediaFile or null"
              },
              "description": "The method calls getImages(String) and returns the image at\n the specific index. If no image for specified index is available the\n method returns null.",
              "deprecated": false
            },
            "getImage01": {
              "name": "getImage",
              "args": [
                {
                  "name": "viewtype",
                  "description": "the view type annotated to image",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "MediaFile",
                "description": "the MediaFile or null"
              },
              "description": "The method calls getImages(String) and returns the first image.\n If no image is available the method returns null.\n\n When called for a variant with defined images for specified view type the\n method returns the first image.\n\n When called for a variant without defined images for specified view type\n the method returns the first master product image. If no master product\n images are defined, the method returns null.",
              "deprecated": false
            },
            "getImages": {
              "name": "getImages",
              "args": [
                {
                  "name": "viewtype",
                  "description": "the view type annotated to images",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "a list of MediaFile objects, possibly empty"
              },
              "description": "Returns all images assigned to this product for a specific view type,\n e.g. all 'thumbnail' images. The images are returned in the order of\n their index number ascending.\n\n When called for a master the method returns the images specific to the\n master, which are typically the fall back images.",
              "deprecated": false
            },
            "getIncomingProductLinks": {
              "name": "getIncomingProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of incoming ProductLinks, where the source product is a site product."
              },
              "description": "Returns incoming ProductLinks, where the source product is a site product.",
              "deprecated": false
            },
            "getIncomingProductLinks0": {
              "name": "getIncomingProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the type of ProductLinks to fetch.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of incoming ProductLinks, where the source product is a site product of a specific type."
              },
              "description": "Returns incoming ProductLinks, where the source product is a site product\n of a specific type.",
              "deprecated": false
            },
            "getLongDescription": {
              "name": "getLongDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The product's long description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the product's long description in the current locale.",
              "deprecated": false
            },
            "getManufacturerName": {
              "name": "getManufacturerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the product manufacturer."
              },
              "description": "Returns the name of the product manufacturer.",
              "deprecated": false
            },
            "getManufacturerSKU": {
              "name": "getManufacturerSKU",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the manufacturer's stock keeping unit."
              },
              "description": "Returns the value of the manufacturer's stock keeping unit.",
              "deprecated": false
            },
            "getMinOrderQuantity": {
              "name": "getMinOrderQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the minimum order quantity of the product."
              },
              "description": "Returns the minimum order quantity for this product.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the product for the current locale, or null if it wasn't found."
              },
              "description": "Returns the name of the product in the current locale.",
              "deprecated": false
            },
            "getOnlineCategories": {
              "name": "getOnlineCategories",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of currently online categories to which this product is assigned and which are also available through the current site."
              },
              "description": "Returns a collection of all currently online categories to which this\n product is assigned and which are also available through the current\n site. A category is currently online if its online flag equals true and\n the current site date is within the date range defined by the onlineFrom\n and onlineTo attributes.",
              "deprecated": false
            },
            "getOnlineFlag": {
              "name": "getOnlineFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the online status flag of the product."
              },
              "description": "Returns the online status flag of the product.",
              "deprecated": false
            },
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date from which the product is online or valid."
              },
              "description": "Returns the date from which the product is online or valid.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date until which the product is online or valid."
              },
              "description": "Returns the date until which the product is online or valid.",
              "deprecated": false
            },
            "getOptionModel": {
              "name": "getOptionModel",
              "args": [],
              "class": {
                "name": "ProductOptionModel",
                "description": "the products option model."
              },
              "description": "Returns the product's option model. The option values selections are\n initialized with the values defined for the product, or the default values\n defined for the option.",
              "deprecated": false
            },
            "getOrderableRecommendations": {
              "name": "getOrderableRecommendations",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns a list of outgoing recommendations for this product. This method\n behaves similarly to getRecommendations() but additionally filters out\n recommendations for which the target product is unorderable according to\n its product availability model.",
              "deprecated": false
            },
            "getOrderableRecommendations0": {
              "name": "getOrderableRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns a list of outgoing recommendations for this product. This method\n behaves similarly to getRecommendations(Number) but additionally\n filters out recommendations for which the target product is unorderable\n according to its product availability model.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The product's page description in the default locale, or null if it wasn't found."
              },
              "description": "Returns product's page description in the default locale.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "The product's page keywords in the default locale, or null if it wasn't found."
              },
              "description": "Returns the product's page keywords in the default locale.",
              "deprecated": false
            },
            "getPageMetaTag": {
              "name": "getPageMetaTag",
              "args": [
                {
                  "name": "id",
                  "description": "the ID to get the page meta tag for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PageMetaTag",
                "description": "page meta tag containing content generated based on rules"
              },
              "description": "Returns the page meta tag for the specified id.\n \n The meta tag content is generated based on the product detail page meta tag context and rule. The rule is\n obtained from the current product context or inherited from variation groups, master product, the primary\n category, up to the root category.\n \n Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the\n current context, or if the rule resolves to an empty string.",
              "deprecated": false
            },
            "getPageMetaTags": {
              "name": "getPageMetaTags",
              "args": [],
              "class": {
                "name": "Array",
                "description": "page meta tags defined for this instance, containing content generated based on rules"
              },
              "description": "Returns all page meta tags, defined for this instance for which content can be generated.\n \n The meta tag content is generated based on the product detail page meta tag context and rules. The rules are\n obtained from the current product context or inherited from variation groups, master product, the primary\n category, up to the root category.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "The product's page title in the default locale, or null if it wasn't found."
              },
              "description": "Returns the product's page title in the default locale.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "The product's page URL in the default locale, or null if it wasn't found."
              },
              "description": "Returns the product's page URL in the default locale.",
              "deprecated": false
            },
            "getPriceModel": {
              "name": "getPriceModel",
              "args": [],
              "class": {
                "name": "ProductPriceModel",
                "description": "the price model, which can be used to retrieve a price for this product."
              },
              "description": "Returns the price model, which can be used to retrieve a price\n for this product.",
              "deprecated": false
            },
            "getPriceModel0": {
              "name": "getPriceModel",
              "args": [
                {
                  "name": "optionModel",
                  "description": "the option model to use when fetching the price model.",
                  "class": {
                    "name": "ProductOptionModel"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductPriceModel",
                "description": "the price model based on the specified optionModel."
              },
              "description": "Returns the price model based on the specified optionModel. The\n price model can be used to retrieve a price\n for this product. Prices are calculated based on the option values\n selected in the specified option model.",
              "deprecated": false
            },
            "getPrimaryCategory": {
              "name": "getPrimaryCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "The product's primary category or null."
              },
              "description": "Returns the primary category of the product within the current site catalog.",
              "deprecated": false
            },
            "getPrimaryCategoryAssignment": {
              "name": "getPrimaryCategoryAssignment",
              "args": [],
              "class": {
                "name": "CategoryAssignment",
                "description": "The category assignment to the primary category or null."
              },
              "description": "Returns the category assignment to the primary category in the current site\n catalog or null if no primary category is defined within the current site\n catalog.",
              "deprecated": false
            },
            "getProductLinks": {
              "name": "getProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of outgoing ProductLinks where the target product is also available in the current site."
              },
              "description": "Returns all outgoing ProductLinks, where the target product is also\n available in the current site. The ProductLinks are unsorted.",
              "deprecated": false
            },
            "getProductLinks0": {
              "name": "getProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "the type of ProductLinks to fetch.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of outgoing ProductLinks where the target product is also available in the current site."
              },
              "description": "Returns all outgoing ProductLinks of a specific type, where the target\n product is also available in the current site. The ProductLinks are\n sorted.",
              "deprecated": false
            },
            "getProductSetProducts": {
              "name": "getProductSetProducts",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of products which are assigned to this product and which are also available through the current site."
              },
              "description": "Returns a collection of all products which are assigned to this product\n and which are also available through the current site.  If this product\n does not represent a product set then an empty collection will be\n returned.",
              "deprecated": false
            },
            "getProductSets": {
              "name": "getProductSets",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of product sets in which this product is included, possibly empty."
              },
              "description": "Returns a collection of all product sets in which this product is included.\n The method only returns product sets assigned to the current site.",
              "deprecated": false
            },
            "getRecommendations": {
              "name": "getRecommendations",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this product which\n belong to the site catalog.  If this product is not assigned to the site\n catalog, or there is no site catalog, an empty collection is returned.\n Only recommendations for which the target product exists and is assigned\n to the site catalog are returned.  The recommendations are sorted by\n their explicitly set order.",
              "deprecated": false
            },
            "getRecommendations0": {
              "name": "getRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of recommendations, never null but possibly empty."
              },
              "description": "Returns the outgoing recommendations for this product which are of the\n specified type and which belong to the site catalog.  Behaves the same as\n getRecommendations() but additionally filters by recommendation\n type.",
              "deprecated": false
            },
            "getSearchableFlag": {
              "name": "getSearchableFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the searchable status flag of the product."
              },
              "description": "Returns, whether the product is currently searchable.",
              "deprecated": false
            },
            "getSearchableIfUnavailableFlag": {
              "name": "getSearchableIfUnavailableFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "The searchable status of the product if unavailable or null if not set."
              },
              "description": "Returns the searchable status of the Product if unavailable.\n\n Besides true or false, the return value null indicates that the value is not set.",
              "deprecated": false
            },
            "getSearchPlacement": {
              "name": "getSearchPlacement",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The product's search placement classification."
              },
              "description": "Returns the product's search placement classification. The higher the\n numeric product placement value, the more relevant is the product when\n sorting search results. The range of numeric placement values is\n defined in the meta data of object type 'Product' and can therefore be\n customized.",
              "deprecated": false
            },
            "getSearchRank": {
              "name": "getSearchRank",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The product's search rank."
              },
              "description": "Returns the product's search rank. The higher the numeric product rank,\n the more relevant is the product when sorting search results. The range of\n numeric rank values is defined in the meta data of object type 'Product'\n and can therefore be customized.",
              "deprecated": false
            },
            "getShortDescription": {
              "name": "getShortDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "the product's short description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the product's short description in the current locale.",
              "deprecated": false
            },
            "getSiteMapChangeFrequency": {
              "name": "getSiteMapChangeFrequency",
              "args": [],
              "class": {
                "name": "String",
                "description": "The product's sitemap change frequency."
              },
              "description": "Returns the product's change frequency needed for the sitemap creation.",
              "deprecated": false
            },
            "getSiteMapIncluded": {
              "name": "getSiteMapIncluded",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapIncluded'."
              },
              "description": "Returns the status if the product is included into the sitemap.",
              "deprecated": false
            },
            "getSiteMapPriority": {
              "name": "getSiteMapPriority",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The product's sitemap priority."
              },
              "description": "Returns the product's priority needed for the sitemap creation.",
              "deprecated": false
            },
            "getStepQuantity": {
              "name": "getStepQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the order amount by which the product can be increased."
              },
              "description": "Returns the steps in which the order amount of the product can be\n increased.",
              "deprecated": false
            },
            "getStoreReceiptName": {
              "name": "getStoreReceiptName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The store receipt name of the product for the current locale, or null if it wasn't found."
              },
              "description": "Returns the store receipt name of the product in the current locale.",
              "deprecated": false
            },
            "getStoreTaxClass": {
              "name": "getStoreTaxClass",
              "args": [],
              "class": {
                "name": "String",
                "description": "the store tax class id."
              },
              "description": "Returns the store tax class ID.\n This is an optional override for in-store tax calculation.",
              "deprecated": false
            },
            "getTaxClassID": {
              "name": "getTaxClassID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product's tax class depending on the Global Preference setting selected for Products."
              },
              "description": "Returns the ID of the product's tax class, by resolving\n the Global Preference setting selected. If the Localized\n Tax Class setting under Global Preferences -> Products is\n selected, the localizedTaxClassID attribute value will be\n returned, else the legacy taxClassID attribute value will\n be returned.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the product's rendering template."
              },
              "description": "Returns the name of the product's rendering template.",
              "deprecated": false
            },
            "getThumbnail": {
              "name": "getThumbnail",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the product's thumbnail image."
              },
              "description": "Returns the product's thumbnail image.",
              "deprecated": true
            },
            "getUnit": {
              "name": "getUnit",
              "args": [],
              "class": {
                "name": "String",
                "description": "the products sales unit."
              },
              "description": "Returns the product's sales unit.",
              "deprecated": false
            },
            "getUnitQuantity": {
              "name": "getUnitQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the products unit quantity."
              },
              "description": "Returns the product's unit quantity.",
              "deprecated": false
            },
            "getUPC": {
              "name": "getUPC",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Universal Product Code of the product."
              },
              "description": "Returns the Universal Product Code of the product.",
              "deprecated": false
            },
            "getVariants": {
              "name": "getVariants",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of variants associated with this variation master or variation group product."
              },
              "description": "Returns a collection of all variants assigned to this variation master\n or variation group product. All variants are returned regardless of whether\n they are online or offline.\n\n If this product does not represent a variation master or variation group\n product then an empty collection is returned.",
              "deprecated": false
            },
            "getVariationGroups": {
              "name": "getVariationGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of variation groups associated with this variation master product."
              },
              "description": "Returns a collection of all variation groups assigned to this variation\n master product. All variation groups are returned regardless of whether\n they are online or offline.\n\n If this product does not represent a variation master product then an\n empty collection is returned.",
              "deprecated": false
            },
            "getVariationModel": {
              "name": "getVariationModel",
              "args": [],
              "class": {
                "name": "ProductVariationModel",
                "description": "the variation model of the product."
              },
              "description": "Returns the variation model of this product. If this product is a master\n product, then the returned model will encapsulate all the information\n about its variation attributes and variants. If this product is a variant\n product, then the returned model will encapsulate all the same\n information, but additionally pre-select all the variation attribute\n values of this variant. (See ProductVariationModel for\n details on what \"selected\" means.) If this product is neither a master\n product or a variation product, then a model will be returned but will be\n essentially empty and not useful for any particular purpose.",
              "deprecated": false
            },
            "includedInBundle": {
              "name": "includedInBundle",
              "args": [
                {
                  "name": "product",
                  "description": "the product to check for participation.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the product participates in the bundle, false otherwise."
              },
              "description": "Identifies if the specified product participates in this product bundle.\n If this product does not represent a bundle at all, then false will\n always be returned.",
              "deprecated": false
            },
            "isAssignedToCategory": {
              "name": "isAssignedToCategory",
              "args": [
                {
                  "name": "category",
                  "description": "the category to check.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if item is assigned to category."
              },
              "description": "Returns 'true' if item is assigned to the specified\n category.",
              "deprecated": false
            },
            "isAssignedToSiteCatalog": {
              "name": "isAssignedToSiteCatalog",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "'true' if product assigned to the site catalog"
              },
              "description": "Returns true if the product is assigned to the current site (via the site catalog), otherwise\n false is returned.\n \n In case of the product being a variant, the variant will be considered as assigned if its master, one of the\n variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation\n group the variation group is considered as assigned if its master or itself is assigned.",
              "deprecated": false
            },
            "isAvailable": {
              "name": "isAvailable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the value of the attribute 'available'."
              },
              "description": "Identifies if the product is available.",
              "deprecated": true
            },
            "isBundle": {
              "name": "isBundle",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is a bundle, false otherwise."
              },
              "description": "Identifies if this product instance is a product bundle.",
              "deprecated": false
            },
            "isBundled": {
              "name": "isBundled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is bundled, false otherwise."
              },
              "description": "Identifies if this product instance is bundled within at least one\n product bundle.",
              "deprecated": false
            },
            "isCategorized": {
              "name": "isCategorized",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is bound to at least one catalog category, false otherwise."
              },
              "description": "Identifies if this product is bound to at least one catalog category.",
              "deprecated": false
            },
            "isFacebookEnabled": {
              "name": "isFacebookEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the value of the attribute 'facebookEnabled'."
              },
              "description": "Identifies if the product is Facebook enabled.",
              "deprecated": false
            },
            "isMaster": {
              "name": "isMaster",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is a master, false otherwise."
              },
              "description": "Identifies if this product instance is a product master.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the online status of the product."
              },
              "description": "Returns the online status of the product. The online status\n is calculated from the online status flag and the onlineFrom\n onlineTo dates defined for the product.",
              "deprecated": false
            },
            "isOptionProduct": {
              "name": "isOptionProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if product has options, false otherwise."
              },
              "description": "Identifies if the product has options.",
              "deprecated": false
            },
            "isPinterestEnabled": {
              "name": "isPinterestEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the value of the attribute 'pinterestEnabled'."
              },
              "description": "Identifies if the product is Pinterest enabled.",
              "deprecated": false
            },
            "isProduct": {
              "name": "isProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the instance is a product, false otherwise."
              },
              "description": "Returns 'true' if the instance represents a product. Returns 'false' if\n the instance represents a product set.",
              "deprecated": false
            },
            "isProductSet": {
              "name": "isProductSet",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the instance is a product set, false otherwise."
              },
              "description": "Returns 'true' if the instance represents a product set, otherwise 'false'.",
              "deprecated": false
            },
            "isProductSetProduct": {
              "name": "isProductSetProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is part of any product set, false otherwise."
              },
              "description": "Returns true if this product is part of any product set, otherwise false.",
              "deprecated": false
            },
            "isRetailSet": {
              "name": "isRetailSet",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is part of a retail set, false otherwise."
              },
              "description": "Identifies if this product instance is part of a retail set.",
              "deprecated": true
            },
            "isSearchable": {
              "name": "isSearchable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the value of the attribute 'searchable'."
              },
              "description": "Identifies if the product is searchable.",
              "deprecated": false
            },
            "isSiteProduct": {
              "name": "isSiteProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "'true' if product assigned to site."
              },
              "description": "Returns 'true' if the product is assigned to the current site (via the\n site catalog), otherwise 'false' is returned.",
              "deprecated": true
            },
            "isVariant": {
              "name": "isVariant",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is mastered, false otherwise."
              },
              "description": "Identifies if this product instance is mastered by a product master.",
              "deprecated": false
            },
            "isVariationGroup": {
              "name": "isVariationGroup",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is a variation group, false otherwise."
              },
              "description": "Identifies if this product instance is a variation group product.",
              "deprecated": false
            },
            "setAvailableFlag": {
              "name": "setAvailableFlag",
              "args": [
                {
                  "name": "available",
                  "description": "Availability status flag.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the availability status flag of the product.",
              "deprecated": true
            },
            "setOnlineFlag": {
              "name": "setOnlineFlag",
              "args": [
                {
                  "name": "online",
                  "description": "Online status flag.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the online status flag of the product for the current site. If current site is not available (i.e.\n in case this method is called by a job that runs on organization level) the online status flag is set global,\n which can affect all sites.\n In previous versions this method set the online status flag global, instead of site specific.",
              "deprecated": false
            },
            "setSearchableFlag": {
              "name": "setSearchableFlag",
              "args": [
                {
                  "name": "searchable",
                  "description": "The value of the attribute 'searchable'.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the flag indicating whether the product is searchable or not in context of the current site. If current site\n is not available (i.e. in case this method is called by a job that runs on organization level) the searchable\n flag is set global, which can affect all sites.\n In previous versions this method set the searchable flag global, instead of site specific.",
              "deprecated": false
            },
            "setSearchPlacement": {
              "name": "setSearchPlacement",
              "args": [
                {
                  "name": "placement",
                  "description": "The product's search placement classification.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the product's search placement classification in context of the current site. If current site is not\n available (i.e. in case this method is called by a job that runs on organization level) the search placement is\n set global, which can affect all sites.\n In previous versions this method set the search placement classification global, instead of site specific.",
              "deprecated": false
            },
            "setSearchRank": {
              "name": "setSearchRank",
              "args": [
                {
                  "name": "rank",
                  "description": "The product's search rank.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the product's search rank in context of the current site. If current site is not available (i.e. in case this\n method is called by a job that runs on organization level) the search rank is set global, which can affect all\n sites.\n In previous versions this method set the search rank global, instead of site specific.",
              "deprecated": false
            }
          }
        },
        "ProductActiveData": {
          "fullClassName": "dw.catalog.ProductActiveData",
          "package": "dw.catalog",
          "description": "Represents the active data for a <a href=\"class_dw_catalog_Product.html\">Product</a> in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.object.ActiveData"
            }
          ],
          "constants": {},
          "properties": {
            "availableDate": {
              "name": "availableDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date the product became available on the site, or\n null if none has been set.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginPercentDay": {
              "name": "avgGrossMarginPercentDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin percentage of the product,\n over the most recent day for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginPercentMonth": {
              "name": "avgGrossMarginPercentMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin percentage of the product,\n over the most recent 30 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginPercentWeek": {
              "name": "avgGrossMarginPercentWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin percentage of the product,\n over the most recent 7 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginPercentYear": {
              "name": "avgGrossMarginPercentYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin percentage of the product,\n over the most recent 365 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginValueDay": {
              "name": "avgGrossMarginValueDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin value of the product,\n over the most recent day for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginValueMonth": {
              "name": "avgGrossMarginValueMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin value of the product,\n over the most recent 30 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginValueWeek": {
              "name": "avgGrossMarginValueWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin value of the product,\n over the most recent 7 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgGrossMarginValueYear": {
              "name": "avgGrossMarginValueYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average gross margin value of the product,\n over the most recent 365 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgSalesPriceDay": {
              "name": "avgSalesPriceDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average sales price for the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgSalesPriceMonth": {
              "name": "avgSalesPriceMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average sales price for the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgSalesPriceWeek": {
              "name": "avgSalesPriceWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average sales price for the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "avgSalesPriceYear": {
              "name": "avgSalesPriceYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average sales price for the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "conversionDay": {
              "name": "conversionDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The conversion rate of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "conversionMonth": {
              "name": "conversionMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The conversion rate of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "conversionWeek": {
              "name": "conversionWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The conversion rate of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "conversionYear": {
              "name": "conversionYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The conversion rate of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "costPrice": {
              "name": "costPrice",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The cost price for the product for the site,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "daysAvailable": {
              "name": "daysAvailable",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of days the product has been available on the site.\n The number is calculated based on the current date and the date the\n product became available on the site, or if that date has not been set,\n the date the product was created in the system.",
              "deprecated": false,
              "type": "property"
            },
            "impressionsDay": {
              "name": "impressionsDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The impressions of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "impressionsMonth": {
              "name": "impressionsMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The impressions of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "impressionsWeek": {
              "name": "impressionsWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The impressions of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "impressionsYear": {
              "name": "impressionsYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The impressions of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "lookToBookRatioDay": {
              "name": "lookToBookRatioDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The look to book ratio of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "lookToBookRatioMonth": {
              "name": "lookToBookRatioMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The look to book ratio of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "lookToBookRatioWeek": {
              "name": "lookToBookRatioWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The look to book ratio of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "lookToBookRatioYear": {
              "name": "lookToBookRatioYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The look to book ratio of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "ordersDay": {
              "name": "ordersDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders containing the product, over the most\n recent day for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "ordersMonth": {
              "name": "ordersMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders containing the product, over the most\n recent 30 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "ordersWeek": {
              "name": "ordersWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders containing the product, over the most\n recent 7 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "ordersYear": {
              "name": "ordersYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders containing the product, over the most\n recent 365 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "returnRate": {
              "name": "returnRate",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The return rate for the product for the site,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "revenueDay": {
              "name": "revenueDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The revenue of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "revenueMonth": {
              "name": "revenueMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The revenue of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "revenueWeek": {
              "name": "revenueWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The revenue of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "revenueYear": {
              "name": "revenueYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The revenue of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "salesVelocityDay": {
              "name": "salesVelocityDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The sales velocity of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "salesVelocityMonth": {
              "name": "salesVelocityMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The sales velocity of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "salesVelocityWeek": {
              "name": "salesVelocityWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The sales velocity of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "salesVelocityYear": {
              "name": "salesVelocityYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The sales velocity of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "unitsDay": {
              "name": "unitsDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The units of the product ordered over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "unitsMonth": {
              "name": "unitsMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The units of the product ordered over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "unitsWeek": {
              "name": "unitsWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The units of the product ordered over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "unitsYear": {
              "name": "unitsYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The units of the product ordered over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "viewsDay": {
              "name": "viewsDay",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The views of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "viewsMonth": {
              "name": "viewsMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The views of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "viewsWeek": {
              "name": "viewsWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The views of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "viewsYear": {
              "name": "viewsYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The views of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAvailableDate": {
              "name": "getAvailableDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date the product became available."
              },
              "description": "Returns the date the product became available on the site, or\n null if none has been set.",
              "deprecated": false
            },
            "getAvgGrossMarginPercentDay": {
              "name": "getAvgGrossMarginPercentDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin percentage over the last day."
              },
              "description": "Returns the average gross margin percentage of the product,\n over the most recent day for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginPercentMonth": {
              "name": "getAvgGrossMarginPercentMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin percentage over the last 30 days."
              },
              "description": "Returns the average gross margin percentage of the product,\n over the most recent 30 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginPercentWeek": {
              "name": "getAvgGrossMarginPercentWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin percentage over the last 7 days."
              },
              "description": "Returns the average gross margin percentage of the product,\n over the most recent 7 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginPercentYear": {
              "name": "getAvgGrossMarginPercentYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin percentage over the last 365 days."
              },
              "description": "Returns the average gross margin percentage of the product,\n over the most recent 365 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginValueDay": {
              "name": "getAvgGrossMarginValueDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin value over the last day."
              },
              "description": "Returns the average gross margin value of the product,\n over the most recent day for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginValueMonth": {
              "name": "getAvgGrossMarginValueMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin value over the last 30 days."
              },
              "description": "Returns the average gross margin value of the product,\n over the most recent 30 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginValueWeek": {
              "name": "getAvgGrossMarginValueWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin value over the last 7 days."
              },
              "description": "Returns the average gross margin value of the product,\n over the most recent 7 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgGrossMarginValueYear": {
              "name": "getAvgGrossMarginValueYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average gross margin value over the last 365 days."
              },
              "description": "Returns the average gross margin value of the product,\n over the most recent 365 days for the site, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getAvgSalesPriceDay": {
              "name": "getAvgSalesPriceDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average sales price over the last day."
              },
              "description": "Returns the average sales price for the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getAvgSalesPriceMonth": {
              "name": "getAvgSalesPriceMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average sales price over the last 30 days."
              },
              "description": "Returns the average sales price for the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getAvgSalesPriceWeek": {
              "name": "getAvgSalesPriceWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average sales price over the last 7 days."
              },
              "description": "Returns the average sales price for the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getAvgSalesPriceYear": {
              "name": "getAvgSalesPriceYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average sales price over the last 365 days."
              },
              "description": "Returns the average sales price for the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getConversionDay": {
              "name": "getConversionDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the conversion over the last day."
              },
              "description": "Returns the conversion rate of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getConversionMonth": {
              "name": "getConversionMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the conversion over the last 30 days."
              },
              "description": "Returns the conversion rate of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getConversionWeek": {
              "name": "getConversionWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the conversion over the last 7 days."
              },
              "description": "Returns the conversion rate of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getConversionYear": {
              "name": "getConversionYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the conversion over the last 365 days."
              },
              "description": "Returns the conversion rate of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getCostPrice": {
              "name": "getCostPrice",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the cost price."
              },
              "description": "Returns the cost price for the product for the site,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getDaysAvailable": {
              "name": "getDaysAvailable",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the age in days."
              },
              "description": "Returns the number of days the product has been available on the site.\n The number is calculated based on the current date and the date the\n product became available on the site, or if that date has not been set,\n the date the product was created in the system.",
              "deprecated": false
            },
            "getImpressionsDay": {
              "name": "getImpressionsDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the impressions over the last day."
              },
              "description": "Returns the impressions of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getImpressionsMonth": {
              "name": "getImpressionsMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the impressions over the last 30 days."
              },
              "description": "Returns the impressions of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getImpressionsWeek": {
              "name": "getImpressionsWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the impressions over the last 7 days."
              },
              "description": "Returns the impressions of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getImpressionsYear": {
              "name": "getImpressionsYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the impressions over the last 365 days."
              },
              "description": "Returns the impressions of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getLookToBookRatioDay": {
              "name": "getLookToBookRatioDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the look to book ratio over the last day."
              },
              "description": "Returns the look to book ratio of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getLookToBookRatioMonth": {
              "name": "getLookToBookRatioMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the look to book ratio over the last 30 days."
              },
              "description": "Returns the look to book ratio of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getLookToBookRatioWeek": {
              "name": "getLookToBookRatioWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the look to book ratio over the last 7 days."
              },
              "description": "Returns the look to book ratio of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getLookToBookRatioYear": {
              "name": "getLookToBookRatioYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the look to book ratio over the last 365 days."
              },
              "description": "Returns the look to book ratio of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getOrdersDay": {
              "name": "getOrdersDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the orders over the last day."
              },
              "description": "Returns the number of orders containing the product, over the most\n recent day for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false
            },
            "getOrdersMonth": {
              "name": "getOrdersMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the orders over the last 30 days."
              },
              "description": "Returns the number of orders containing the product, over the most\n recent 30 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false
            },
            "getOrdersWeek": {
              "name": "getOrdersWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the orders over the last 7 days."
              },
              "description": "Returns the number of orders containing the product, over the most\n recent 7 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false
            },
            "getOrdersYear": {
              "name": "getOrdersYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the orders over the last 365 days."
              },
              "description": "Returns the number of orders containing the product, over the most\n recent 365 days for the site, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false
            },
            "getReturnRate": {
              "name": "getReturnRate",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the return rate."
              },
              "description": "Returns the return rate for the product for the site,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getRevenueDay": {
              "name": "getRevenueDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the revenue over the last day."
              },
              "description": "Returns the revenue of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getRevenueMonth": {
              "name": "getRevenueMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the revenue over the last 30 days."
              },
              "description": "Returns the revenue of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getRevenueWeek": {
              "name": "getRevenueWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the revenue over the last 7 days."
              },
              "description": "Returns the revenue of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getRevenueYear": {
              "name": "getRevenueYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the revenue over the last 365 days."
              },
              "description": "Returns the revenue of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getSalesVelocityDay": {
              "name": "getSalesVelocityDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the sales velocity over the last day."
              },
              "description": "Returns the sales velocity of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getSalesVelocityMonth": {
              "name": "getSalesVelocityMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the sales velocity over the last 30 days."
              },
              "description": "Returns the sales velocity of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getSalesVelocityWeek": {
              "name": "getSalesVelocityWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the sales velocity over the last 7 days."
              },
              "description": "Returns the sales velocity of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getSalesVelocityYear": {
              "name": "getSalesVelocityYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the sales velocity over the last 365 days."
              },
              "description": "Returns the sales velocity of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getUnitsDay": {
              "name": "getUnitsDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the units over the last day."
              },
              "description": "Returns the units of the product ordered over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getUnitsMonth": {
              "name": "getUnitsMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the units over the last 30 days."
              },
              "description": "Returns the units of the product ordered over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getUnitsWeek": {
              "name": "getUnitsWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the units over the last 7 days."
              },
              "description": "Returns the units of the product ordered over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getUnitsYear": {
              "name": "getUnitsYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the units over the last 365 days."
              },
              "description": "Returns the units of the product ordered over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getViewsDay": {
              "name": "getViewsDay",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the views over the last day."
              },
              "description": "Returns the views of the product, over the most recent day\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getViewsMonth": {
              "name": "getViewsMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the views over the last 30 days."
              },
              "description": "Returns the views of the product, over the most recent 30 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getViewsWeek": {
              "name": "getViewsWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the views over the last 7 days."
              },
              "description": "Returns the views of the product, over the most recent 7 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getViewsYear": {
              "name": "getViewsYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the views over the last 365 days."
              },
              "description": "Returns the views of the product, over the most recent 365 days\n for the site, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            }
          }
        },
        "ProductAttributeModel": {
          "fullClassName": "dw.catalog.ProductAttributeModel",
          "package": "dw.catalog",
          "description": "Class representing the complete attribute model for products in the system.\n An instance of this class provides methods to access the attribute\n definitions and groups for the system object type 'Product' and perhaps\n additional information depending on how the instance is obtained.\n A ProductAttributeModel can be obtained in one of three ways:\n\n <ul>\n <li><b><a href=\"class_dw_catalog_ProductAttributeModel.html#dw_catalog_ProductAttributeModel_ProductAttributeModel_DetailAnchor\">ProductAttributeModel()</a>:</b> When the no-arg constructor is\n used the model represents:\n    <ul>\n    <li>the attribute groups of the system object type 'Product' (i.e. the\n    global product attribute groups) and their bound attributes</li>\n    </ul>\n </li>\n <li><b><a href=\"class_dw_catalog_Category.html#dw_catalog_Category_getProductAttributeModel_DetailAnchor\">Category.getProductAttributeModel()</a>:</b> When the\n attribute model for a Category is retrieved, the model represents:\n    <ul>\n    <li>the global product attribute groups</li>\n    <li>product attribute groups of the calling category</li>\n    <li>product attribute groups of any parent categories of the calling category</li>\n    </ul>\n </li>\n <li><b><a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getAttributeModel_DetailAnchor\">Product.getAttributeModel()</a>:</b> When the attribute\n model for a Product is retrieved, the model represents:\n    <ul>\n    <li>the global product attribute groups</li>\n    <li>product attribute groups of the product's classification category</li>\n    <li>product attribute groups of any parent categories of the product's classification category</li>\n    </ul>\n In this case, the model additionally provides access to the attribute values\n of the product.  If the product lacks a classification category, then only\n the global product attribute group is considered by the model.\n </li>\n </ul>\n\n The ProductAttributeModel provides a generic way to display the attribute\n values of a product on a product detail page organized into appropriate\n visual groups.  This is typically done as follows:\n\n <ul>\n <li>On the product detail page, call\n <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getAttributeModel_DetailAnchor\">Product.getAttributeModel()</a> to get the attribute model for\n the product.</li>\n <li>Call <a href=\"class_dw_catalog_ProductAttributeModel.html#dw_catalog_ProductAttributeModel_getVisibleAttributeGroups_DetailAnchor\">getVisibleAttributeGroups()</a> to get the groups that are\n appropriate for this product and all other products assigned to the same\n classification category.</li>\n <li>Iterate the groups, and display each as a \"group\" in the UI.</li>\n <li>Call <a href=\"class_dw_catalog_ProductAttributeModel.html#dw_catalog_ProductAttributeModel_getVisibleAttributeDefinitions_ObjectAttributeGroup_DetailAnchor\">getVisibleAttributeDefinitions(ObjectAttributeGroup)</a> for\n each group. Iterate and display the attribute names using\n <a href=\"class_dw_object_ObjectAttributeDefinition.html#dw_object_ObjectAttributeDefinition_getDisplayName_DetailAnchor\">ObjectAttributeDefinition.getDisplayName()</a>.</li>\n <li>For each attribute, get the product's display value(s) for that\n attribute, using <code>getDisplayValue()</code>. This might require custom\n display logic based on the type of attribute (strings, dates, multi-value\n attributes, etc).</li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeGroups": {
              "name": "attributeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted collection of attribute groups of this model. The groups\n returned depends on how this model is constructed and what it represents.\n (See class-level documentation for details).\n \n The collection of returned groups is sorted first by scope and secondly\n by explicit sort order. Global groups always appear before\n category-specific groups in the list. Groups of parent categories always\n appear before groups belonging to subcategories. At each scope, groups\n have an explicit sort order which can be managed within the Business\n Manager.\n \n When there are multiple attribute groups with the same ID, the following\n rules apply:\n\n \n If this model represents the global product attribute group only\n (e.g. the no-arg constructor was used), duplicates cannot occur since\n only one group can be defined with a given ID at that scope.\n If this model is associated with specific categories (e.g. it is\n constructed from a product with a classification category), then a\n category product attribute group might have the same ID as a global\n product attribute group. In this case, the category group overrides the\n global one.\n If a category and one of its ancestor categories both define a\n product attribute group with the same ID, the sub-category group\n overrides the parent group.\n \n\n As a result of these rules, this method will never return two attribute\n groups with the same ID.",
              "deprecated": false,
              "type": "property"
            },
            "orderRequiredAttributeDefinitions": {
              "name": "orderRequiredAttributeDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "An unsorted collection of attribute definitions marked as\n order-required. Order-required attributes are usually copied into order\n line items.\n \n The returned attribute definitions are sorted according to the explicit\n sort order defined for the attributes in the group. This is managed by\n merchant in the Business Manager.",
              "deprecated": false,
              "type": "property"
            },
            "visibleAttributeGroups": {
              "name": "visibleAttributeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted collection of visible attribute groups of this model.\n This method is similar to getAttributeGroups() but only includes\n attribute groups containing at least one attribute definition that is\n visible. See\n getVisibleAttributeDefinitions(ObjectAttributeGroup).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "ProductAttributeModel": {
              "name": "ProductAttributeModel",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a product attribute model that is not based on a product nor\n a category. Therefore, the model only describes the product attributes\n globally defined for the system object type 'Product'.",
              "deprecated": false
            }
          },
          "methods": {
            "getAttributeDefinition": {
              "name": "getAttributeDefinition",
              "args": [
                {
                  "name": "id",
                  "description": "the identifier of the attribute definition.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeDefinition",
                "description": "attribute definition or null if not exist"
              },
              "description": "Returns the attribute definition with the given id from the product attribute\n model. If attribute definition does not exist, null is returned.",
              "deprecated": false
            },
            "getAttributeDefinitions": {
              "name": "getAttributeDefinitions",
              "args": [
                {
                  "name": "group",
                  "description": "the group whose attribute definitions are returned.",
                  "class": {
                    "name": "ObjectAttributeGroup"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of ObjectAttributeDefinition instances."
              },
              "description": "Returns a sorted collection of attribute definitions for the given attribute\n group. If no attribute definition exist for the group, an empty collection\n is returned.\n \n The returned attribute definitions are sorted according to the explicit\n sort order defined for the attributes in the group.  This is managed\n by merchant in the Business Manager.",
              "deprecated": false
            },
            "getAttributeGroup": {
              "name": "getAttributeGroup",
              "args": [
                {
                  "name": "id",
                  "description": "the attribute group identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeGroup",
                "description": "the attribute group or null if not exist"
              },
              "description": "Returns the attribute group with the given id from the product attribute\n model. If attribute group does not exist, null is returned.",
              "deprecated": false
            },
            "getAttributeGroups": {
              "name": "getAttributeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "collection of all attribute groups."
              },
              "description": "Returns a sorted collection of attribute groups of this model. The groups\n returned depends on how this model is constructed and what it represents.\n (See class-level documentation for details).\n \n The collection of returned groups is sorted first by scope and secondly\n by explicit sort order. Global groups always appear before\n category-specific groups in the list. Groups of parent categories always\n appear before groups belonging to subcategories. At each scope, groups\n have an explicit sort order which can be managed within the Business\n Manager.\n \n When there are multiple attribute groups with the same ID, the following\n rules apply:\n\n \n If this model represents the global product attribute group only\n (e.g. the no-arg constructor was used), duplicates cannot occur since\n only one group can be defined with a given ID at that scope.\n If this model is associated with specific categories (e.g. it is\n constructed from a product with a classification category), then a\n category product attribute group might have the same ID as a global\n product attribute group. In this case, the category group overrides the\n global one.\n If a category and one of its ancestor categories both define a\n product attribute group with the same ID, the sub-category group\n overrides the parent group.\n \n\n As a result of these rules, this method will never return two attribute\n groups with the same ID.",
              "deprecated": false
            },
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [
                {
                  "name": "definition",
                  "description": "the definition to use.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "The localized product attribute display value."
              },
              "description": "Returns the value that the underlying product defines for the given\n attribute definition in the current locale. In case the attribute definition\n defines localized attribute values, the product's value is used as an id\n to find the localized display value.\n\n In case of an Image attribute this method returns a MediaFile instance.\n In previous versions this method returned a String with the image path.\n In case of an HTML attribute this method returns a MarkupText instance.\n In previous versions this method returned a String with the HTML source.",
              "deprecated": false
            },
            "getOrderRequiredAttributeDefinitions": {
              "name": "getOrderRequiredAttributeDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of order-required ObjectAttributeDefinition instances."
              },
              "description": "Returns an unsorted collection of attribute definitions marked as\n order-required. Order-required attributes are usually copied into order\n line items.\n \n The returned attribute definitions are sorted according to the explicit\n sort order defined for the attributes in the group. This is managed by\n merchant in the Business Manager.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [
                {
                  "name": "definition",
                  "description": "the attribute definition to use when locating and returning the value.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "value the value associated with the object attribute definition."
              },
              "description": "Returns the attribute value for the specified attribute definition. If\n the product does not define a value, null is returned.\n \n Note: this method may only be used where the attribute model was created\n for a specific product; otherwise it will always return null.\n \n If the attribute is localized, the value for the current session locale\n is returned.\n \n In case of an Image attribute this method returns a MediaFile instance.\n In previous versions this method returned a String with the image path.\n In case of an HTML attribute this method returns a MarkupText instance.\n In previous versions this method returned a String with the HTML source.",
              "deprecated": false
            },
            "getVisibleAttributeDefinitions": {
              "name": "getVisibleAttributeDefinitions",
              "args": [
                {
                  "name": "group",
                  "description": "the group whose visible attribute definitions are returned.",
                  "class": {
                    "name": "ObjectAttributeGroup"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of visible ObjectAttributeDefinition instances."
              },
              "description": "Returns a sorted collection of all visible attribute definitions for the\n given attribute group. If no visible attribute definition exist for the\n group, an empty collection is returned.\n \n An attribute definition is considered visible if is marked as visible. If\n the product attribute model is created for a specific product, the\n product must also define a value for the attribute definition; else the\n attribute definition is considered as invisible.\n \n The returned attribute definitions are sorted according to the explicit\n sort order defined for the attributes in the group. This is managed by\n merchant in the Business Manager.",
              "deprecated": false
            },
            "getVisibleAttributeGroups": {
              "name": "getVisibleAttributeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "sorted collection of visible ObjectAttributeGroup instances."
              },
              "description": "Returns a sorted collection of visible attribute groups of this model.\n This method is similar to getAttributeGroups() but only includes\n attribute groups containing at least one attribute definition that is\n visible. See\n getVisibleAttributeDefinitions(ObjectAttributeGroup).",
              "deprecated": false
            }
          }
        },
        "ProductAvailabilityLevels": {
          "fullClassName": "dw.catalog.ProductAvailabilityLevels",
          "package": "dw.catalog",
          "description": "Encapsulates the quantity of items available for each availability status.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "backorder": {
              "name": "backorder",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The backorder quantity.",
              "deprecated": false,
              "type": "property"
            },
            "count": {
              "name": "count",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of attributes that contain non-zero quantities.",
              "deprecated": false,
              "type": "property"
            },
            "inStock": {
              "name": "inStock",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity in stock.",
              "deprecated": false,
              "type": "property"
            },
            "notAvailable": {
              "name": "notAvailable",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity that is not available.",
              "deprecated": false,
              "type": "property"
            },
            "preorder": {
              "name": "preorder",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The pre-order quantity.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBackorder": {
              "name": "getBackorder",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the backorder quantity."
              },
              "description": "Returns the backorder quantity.",
              "deprecated": false
            },
            "getCount": {
              "name": "getCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of attributes that contain non-zero quantities."
              },
              "description": "Returns the number of attributes that contain non-zero quantities.",
              "deprecated": false
            },
            "getInStock": {
              "name": "getInStock",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity in stock."
              },
              "description": "Returns the quantity in stock.",
              "deprecated": false
            },
            "getNotAvailable": {
              "name": "getNotAvailable",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity that is not available."
              },
              "description": "Returns the quantity that is not available.",
              "deprecated": false
            },
            "getPreorder": {
              "name": "getPreorder",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the pre-order quantity."
              },
              "description": "Returns the pre-order quantity.",
              "deprecated": false
            }
          }
        },
        "ProductAvailabilityModel": {
          "fullClassName": "dw.catalog.ProductAvailabilityModel",
          "package": "dw.catalog",
          "description": "The ProductAvailabilityModel provides methods for retrieving all information\n on availability of a single product.\n\n <p>\n When using Omnichannel Inventory (OCI):\n </p><ul>\n <li>OCI supports backorders, but does not support preorders or perpetual availability. OCI refers to expected\n restocks as Future inventory.</li>\n <li>OCI uses an eventual consistency model with asynchronous inventory data updates. Your code must not assume that\n inventory-affecting actions, such as placing orders, will immediately change inventory levels.</li>\n </ul>\n <p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "AVAILABILITY_STATUS_BACKORDER": {
              "name": "AVAILABILITY_STATUS_BACKORDER",
              "value": "\"BACKORDER\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the product stock has run out, but will be replenished, and is therefore available for ordering.",
              "deprecated": false,
              "type": "constant"
            },
            "AVAILABILITY_STATUS_IN_STOCK": {
              "name": "AVAILABILITY_STATUS_IN_STOCK",
              "value": "\"IN_STOCK\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the product is in stock and available for ordering.",
              "deprecated": false,
              "type": "constant"
            },
            "AVAILABILITY_STATUS_NOT_AVAILABLE": {
              "name": "AVAILABILITY_STATUS_NOT_AVAILABLE",
              "value": "\"NOT_AVAILABLE\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the product is not currently available for ordering.",
              "deprecated": false,
              "type": "constant"
            },
            "AVAILABILITY_STATUS_PREORDER": {
              "name": "AVAILABILITY_STATUS_PREORDER",
              "value": "\"PREORDER\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the product is not yet in stock but is available for ordering.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "availability": {
              "name": "availability",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The availability of the product, which roughly defined is the\n ratio of the original stock that is still available to sell.  The basic\n formula, if the current site uses an\n inventory list, is the ATS quantity divided by allocation\n amount. If the product is not orderable at all this method returns 0.\n The following specific rules apply for standard products:\n \n If inventory lists are in use:\n     \n     If no inventory record exists and the inventory list default-in-stock flag is true this method returns 1.\n     If no inventory record exists the inventory list default-in-stock flag is false this method returns 0.\n     If the product is not available this method returns 0.\n     If the product is perpetually available this method returns 1.\n     Otherwise, this method returns ATS / (allocation + preorderBackorderAllocation). (Values from ProductInventoryRecord.)\n     \n \n \n If inventory lists are not in use the method returns 0.\n\n The following rules apply for special product types:\n \n For a master product this method returns the average availability\n of its online variations.\n For a master product with no online variations this method returns 0.\n For a master product with own inventory record the rules of the standard\n products apply. Note: In this case the availability of the variations is not considered.\n For a product set this method returns the greatest availability of\n the online products in the set.\n For a product set with no online products this method returns 0.\n For a product set with an inventory record the rules of the standard\n products apply. Note: In this case the availability of the set products is not considered.\n For a bundle, this method returns the least availability of the bundled\n products according to their bundled quantity and if it exist also from\n the bundle inventory record.",
              "deprecated": false,
              "type": "property"
            },
            "availabilityStatus": {
              "name": "availabilityStatus",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The availability-status for the minimum-orderable-quantity (MOQ) of\n the product.  The MOQ essentially represents a single orderable unit, and\n therefore can be represented by a single availability-status.  This\n method is essentially a convenience method.  The same information\n can be retrieved by calling getAvailabilityLevels(Number)\n with the MOQ of the product as the parameter and then retrieving the\n single status from the returned map.\n\n This method is typically used to display a product's availability in\n the catalog when the order quantity is not known.",
              "deprecated": false,
              "type": "property"
            },
            "inStock": {
              "name": "inStock",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Convenience method for isInStock(Number). Returns true, if the\n Product is available in the minimum-order-quantity. If the product does\n not have a minimum-order-quantity defined, in-stock is checked for a\n quantity value 1.",
              "deprecated": false,
              "type": "property"
            },
            "inventoryRecord": {
              "name": "inventoryRecord",
              "class": {
                "name": "ProductInventoryRecord"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductInventoryRecord for the Product associated\n with this model.",
              "deprecated": false,
              "type": "property"
            },
            "orderable": {
              "name": "orderable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Convenience method for isOrderable(Number). Returns true if the\n Product is currently online (based on its online flag and online dates)\n and is orderable in its minimum-order-quantity. If the product does not\n have a minimum-order-quantity specified, then 1 is used. The method\n returns false otherwise.\n \n Note: Orderable status is more general than in-stock status. A product\n may be out-of-stock but orderable because it is back-orderable or\n pre-orderable.",
              "deprecated": false,
              "type": "property"
            },
            "SKUCoverage": {
              "name": "SKUCoverage",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The SKU coverage of the product.  The basic formula for a\n master product is the ratio of online variations that are in stock\n to the total number of online variations.  The following specific rules\n apply for standard products:\n \n If the product is in stock this method returns the availability of the product.\n If the product is out of stock this method returns 0.\n \n The following rules apply for special product types:\n \n For a master product this method returns the average SKU coverage\n of its online variations.\n For a master product with no online variations this method returns 0.\n For a product set this method returns the ratio of orderable SKUs in the product set\n over the total number of online SKUs in the product set. \n For a product set with no online products this method returns 0.\n For a product bundle this method returns 1 if all of the bundled\n products are online, and 0 otherwise.\n For a product bundle with no online bundled products this method\n returns 0.",
              "deprecated": false,
              "type": "property"
            },
            "timeToOutOfStock": {
              "name": "timeToOutOfStock",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of hours before the product is expected to go out\n of stock.  The basic formula is the ATS quantity divided by the\n sales velocity for the most recent day.  The following specific rules\n apply for standard products:\n \n If the product is out of stock this method returns 0.\n If the product is perpetually available this method returns 1.\n If the sales velocity or ATS is not available this method returns 0.\n Otherwise this method returns ATS / sales velocity.\n \n The following rules apply for special product types:\n \n For a master product this method returns the greatest time to out\n of stock of its online variations.\n For a master product with no online variations this method returns 0.\n For a product set this method returns the greatest time to out\n of stock of the online products in the set.\n For a product set with no online products this method returns 0.\n For a bundle with no product inventory record, this method returns\n the least time to out of stock of the online bundled products.\n For a bundle with no product inventory record, and no online\n bundled products, this method returns 0.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAvailability": {
              "name": "getAvailability",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Returns the availability of the product, which roughly defined is the\n ratio of the original stock that is still available to sell.  The basic\n formula, if the current site uses an\n inventory list, is the ATS quantity divided by allocation\n amount. If the product is not orderable at all this method returns 0.\n The following specific rules apply for standard products:\n \n If inventory lists are in use:\n     \n     If no inventory record exists and the inventory list default-in-stock flag is true this method returns 1.\n     If no inventory record exists the inventory list default-in-stock flag is false this method returns 0.\n     If the product is not available this method returns 0.\n     If the product is perpetually available this method returns 1.\n     Otherwise, this method returns ATS / (allocation + preorderBackorderAllocation). (Values from ProductInventoryRecord.)\n     \n \n \n If inventory lists are not in use the method returns 0.\n\n The following rules apply for special product types:\n \n For a master product this method returns the average availability\n of its online variations.\n For a master product with no online variations this method returns 0.\n For a master product with own inventory record the rules of the standard\n products apply. Note: In this case the availability of the variations is not considered.\n For a product set this method returns the greatest availability of\n the online products in the set.\n For a product set with no online products this method returns 0.\n For a product set with an inventory record the rules of the standard\n products apply. Note: In this case the availability of the set products is not considered.\n For a bundle, this method returns the least availability of the bundled\n products according to their bundled quantity and if it exist also from\n the bundle inventory record.",
              "deprecated": false
            },
            "getAvailabilityLevels": {
              "name": "getAvailabilityLevels",
              "args": [
                {
                  "name": "quantity",
                  "description": "The quantity to evaluate.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductAvailabilityLevels",
                "description": "an instance of ProductAvailabilityLevels, which encapsulates the number of items for each relevant availability-status."
              },
              "description": "Returns an instance of ProductAvailabilityLevels,\n where each available quantity represents a part of the input quantity.\n This method is typically used to display availability information in\n the context of a known order quantity, e.g. a shopping cart.\n\n For example, if for a given product\n there are 3 pieces in stock with no pre/backorder handling specified,\n and the order quantity is 10, then the return instance would have the\n following state:\n \n ProductAvailabilityLevels.getInStock() - 3\n ProductAvailabilityLevels.getPreorder() - 0\n ProductAvailabilityLevels.getBackorder() - 0\n ProductAvailabilityLevels.getNotAvailable() - 7\n \n\n The following assertions can be made about the state of the returned instance.\n \n Between 1 and 3 levels are non-zero.\n The sum of the levels equals the input quantity.\n ProductAvailabilityLevels.getPreorder() or ProductAvailabilityLevels.getBackorder() may be available, but not both.\n \n \n\n Product bundles are handled specially:  The availability of product\n bundles is calculated based on the availability of the bundled products.\n Therefore, if a bundle contains products that are not in stock, then\n the bundle itself is not in stock.  If all the products in the bundle\n are on backorder, then the bundle itself is backordered.  If a product\n bundle has its own inventory record, then this record may\n further limit the availability.  If a bundle has no record, then\n only the records of the bundled products are considered.\n\n Product masters and product sets without an own inventory record are\n handled specially too:   The availability is calculated based on the\n availability of the variants or set products. A product master or product\n set is in stock as soon as one of its variants or set products is in stock.\n Each product master or product set availability level reflects the sum of\n the variant or set product availability levels up to the specified quantity.\n\n Product masters or product sets with own inventory record are handled like\n standard products. The availability of the variants or set products is not\n considered. (Such an inventory scenario should be avoided.)\n\n Offline products are always unavailable and will result in returned\n levels that are all unavailable.\n\n When using Omnichannel Inventory (OCI), future restocks provided by OCI are mapped to\n AVAILABILITY_STATUS_BACKORDER. For more information, see the comments for\n ProductInventoryRecord.",
              "deprecated": false
            },
            "getAvailabilityStatus": {
              "name": "getAvailabilityStatus",
              "args": [],
              "class": {
                "name": "String",
                "description": "the availability-status."
              },
              "description": "Returns the availability-status for the minimum-orderable-quantity (MOQ) of\n the product.  The MOQ essentially represents a single orderable unit, and\n therefore can be represented by a single availability-status.  This\n method is essentially a convenience method.  The same information\n can be retrieved by calling getAvailabilityLevels(Number)\n with the MOQ of the product as the parameter and then retrieving the\n single status from the returned map.\n\n This method is typically used to display a product's availability in\n the catalog when the order quantity is not known.",
              "deprecated": false
            },
            "getInventoryRecord": {
              "name": "getInventoryRecord",
              "args": [],
              "class": {
                "name": "ProductInventoryRecord",
                "description": "the ProductInventoryRecord or null if there is none."
              },
              "description": "Returns the ProductInventoryRecord for the Product associated\n with this model.",
              "deprecated": false
            },
            "getSKUCoverage": {
              "name": "getSKUCoverage",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Returns the SKU coverage of the product.  The basic formula for a\n master product is the ratio of online variations that are in stock\n to the total number of online variations.  The following specific rules\n apply for standard products:\n \n If the product is in stock this method returns the availability of the product.\n If the product is out of stock this method returns 0.\n \n The following rules apply for special product types:\n \n For a master product this method returns the average SKU coverage\n of its online variations.\n For a master product with no online variations this method returns 0.\n For a product set this method returns the ratio of orderable SKUs in the product set\n over the total number of online SKUs in the product set. \n For a product set with no online products this method returns 0.\n For a product bundle this method returns 1 if all of the bundled\n products are online, and 0 otherwise.\n For a product bundle with no online bundled products this method\n returns 0.",
              "deprecated": false
            },
            "getTimeToOutOfStock": {
              "name": "getTimeToOutOfStock",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Returns the number of hours before the product is expected to go out\n of stock.  The basic formula is the ATS quantity divided by the\n sales velocity for the most recent day.  The following specific rules\n apply for standard products:\n \n If the product is out of stock this method returns 0.\n If the product is perpetually available this method returns 1.\n If the sales velocity or ATS is not available this method returns 0.\n Otherwise this method returns ATS / sales velocity.\n \n The following rules apply for special product types:\n \n For a master product this method returns the greatest time to out\n of stock of its online variations.\n For a master product with no online variations this method returns 0.\n For a product set this method returns the greatest time to out\n of stock of the online products in the set.\n For a product set with no online products this method returns 0.\n For a bundle with no product inventory record, this method returns\n the least time to out of stock of the online bundled products.\n For a bundle with no product inventory record, and no online\n bundled products, this method returns 0.",
              "deprecated": false
            },
            "isInStock": {
              "name": "isInStock",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity that is requested",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the Product is in-stock."
              },
              "description": "Returns true if the Product is in-stock in the given quantity. This is\n determined as follows:\n \n If the product is not currently online (based on its online flag and\n online dates), then return false.\n If there is no inventory-list for the current site, then return\n false.\n If there is no inventory-record for the product, then return the\n default setting on the inventory-list.\n If there is no allocation-amount on the inventory-record, then return\n the value of the perpetual-flag.\n If there is an allocation-amount, but the perpetual-flag is true,\n then return true.\n If the quantity is less than or equal to the stock-level, then return\n true.\n Otherwise return false.",
              "deprecated": false
            },
            "isInStock0": {
              "name": "isInStock",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the Product is in stock, otherwise false."
              },
              "description": "Convenience method for isInStock(Number). Returns true, if the\n Product is available in the minimum-order-quantity. If the product does\n not have a minimum-order-quantity defined, in-stock is checked for a\n quantity value 1.",
              "deprecated": false
            },
            "isOrderable": {
              "name": "isOrderable",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to test against.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the item can be ordered in the specified quantity."
              },
              "description": "Returns true if the Product is currently online (based on its online flag\n and online dates) and the specified quantity does not exceed the quantity\n available for sale, and returns false otherwise.\n \n Note: Orderable status is more general than in-stock status. A product\n may be out-of-stock but orderable because it is back-orderable or\n pre-orderable.",
              "deprecated": false
            },
            "isOrderable0": {
              "name": "isOrderable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the Product is orderable for the minimum-order-quantity of the product."
              },
              "description": "Convenience method for isOrderable(Number). Returns true if the\n Product is currently online (based on its online flag and online dates)\n and is orderable in its minimum-order-quantity. If the product does not\n have a minimum-order-quantity specified, then 1 is used. The method\n returns false otherwise.\n \n Note: Orderable status is more general than in-stock status. A product\n may be out-of-stock but orderable because it is back-orderable or\n pre-orderable.",
              "deprecated": false
            }
          }
        },
        "ProductInventoryList": {
          "fullClassName": "dw.catalog.ProductInventoryList",
          "package": "dw.catalog",
          "description": "The ProductInventoryList provides access to ID, description and defaultInStockFlag of the list. Furthermore inventory\n records can be accessed by product or product ID.\n <p>\n When using Omnichannel Inventory (OCI):\n </p><ul>\n <li>B2C Commerce uses ProductInventoryLists to reference and expose OCI Locations and Location Groups. They're\n required for synchronizing availability data and creating reservations.</li>\n <li>Create a ProductInventoryList in B2C Commerce for each OCI Location and Location Group that B2C Commerce will\n access. The ProductInventoryList ID must match the External Reference field on the corresponding Location or Location\n Group.</li>\n <li>A ProductInventoryList ID/External Reference must have between 2 and 128 characters (inclusive). It can include\n only lowercase letters, uppercase letters, digits, hyphens, and underscores.</li>\n </ul>\n <p></p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "defaultInStockFlag": {
              "name": "defaultInStockFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The default in-stock flag of the inventory list.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the inventory list.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the inventory list.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDefaultInStockFlag": {
              "name": "getDefaultInStockFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "Default in-stock flag of inventory list."
              },
              "description": "Returns the default in-stock flag of the inventory list.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "Description of inventory list."
              },
              "description": "Returns the description of the inventory list.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of inventory list."
              },
              "description": "Returns the ID of the inventory list.",
              "deprecated": false
            },
            "getRecord": {
              "name": "getRecord",
              "args": [
                {
                  "name": "product",
                  "description": "The product to lookup inventory record.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductInventoryRecord",
                "description": "Inventory record or null if not found."
              },
              "description": "Returns the inventory record for the specified product or null\n if there is no record for the product in this list.",
              "deprecated": false
            },
            "getRecord0": {
              "name": "getRecord",
              "args": [
                {
                  "name": "productID",
                  "description": "The product ID to lookup inventory record.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductInventoryRecord",
                "description": "Inventory record or null if not found."
              },
              "description": "Returns the inventory record for the specified product ID or null\n if there is no record for the product id in this list.",
              "deprecated": false
            }
          }
        },
        "ProductInventoryMgr": {
          "fullClassName": "dw.catalog.ProductInventoryMgr",
          "package": "dw.catalog",
          "description": "This manager provides access to inventory-related objects.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "INTEGRATIONMODE_B2C": {
              "name": "INTEGRATIONMODE_B2C",
              "value": "\"B2C\"",
              "class": {
                "name": "String"
              },
              "description": "Integration mode 'B2C' - using B2C inventory, no integration with Omnichannel Inventory",
              "deprecated": false,
              "type": "constant"
            },
            "INTEGRATIONMODE_OCI": {
              "name": "INTEGRATIONMODE_OCI",
              "value": "\"OCI\"",
              "class": {
                "name": "String"
              },
              "description": "Integration mode 'OCI' - integration with Omnichannel Inventory enabled",
              "deprecated": false,
              "type": "constant"
            },
            "INTEGRATIONMODE_OCI_CACHE": {
              "name": "INTEGRATIONMODE_OCI_CACHE",
              "value": "\"OCI_CACHE\"",
              "class": {
                "name": "String"
              },
              "description": "Integration mode 'OCI_CACHE' - using B2C inventory, initializing cache as preparation for integration with\n Omnichannel Inventory",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "inventoryIntegrationMode": {
              "name": "inventoryIntegrationMode",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The current inventory integration mode as one of\n \n INTEGRATIONMODE_B2C\n INTEGRATIONMODE_OCI_CACHE\n INTEGRATIONMODE_OCI",
              "deprecated": false,
              "type": "property"
            },
            "inventoryList": {
              "name": "inventoryList",
              "class": {
                "name": "ProductInventoryList"
              },
              "static": true,
              "readonly": true,
              "description": "The inventory list assigned to the current site or null if no inventory list is assigned to the current\n site.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getInventoryIntegrationMode": {
              "name": "getInventoryIntegrationMode",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "The current inventory integration mode as a constant String."
              },
              "description": "Returns the current inventory integration mode as one of\n \n INTEGRATIONMODE_B2C\n INTEGRATIONMODE_OCI_CACHE\n INTEGRATIONMODE_OCI",
              "deprecated": false
            },
            "getInventoryList": {
              "name": "getInventoryList",
              "args": [],
              "static": true,
              "class": {
                "name": "ProductInventoryList",
                "description": "The ProductInventoryList assigned to the current site, or null."
              },
              "description": "Returns the inventory list assigned to the current site or null if no inventory list is assigned to the current\n site.",
              "deprecated": false
            },
            "getInventoryList0": {
              "name": "getInventoryList",
              "args": [
                {
                  "name": "listID",
                  "description": "The ID of the inventory list to retrieve.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ProductInventoryList",
                "description": "The ProductInventoryList identified by listID, or null."
              },
              "description": "Returns the inventory list with the passed ID or null if no inventory list exists with that ID.",
              "deprecated": false
            }
          }
        },
        "ProductInventoryRecord": {
          "fullClassName": "dw.catalog.ProductInventoryRecord",
          "package": "dw.catalog",
          "description": "The ProductInventoryRecord holds information about a Product's inventory, and availability.\n <p>\n When using Omnichannel Inventory (OCI):\n </p><ul>\n <li>All ProductInventoryRecord properties are read-only. Calling any setter method throws an\n IllegalStateException.</li>\n <li>The ProductInventoryRecord class does not support custom properties.</li>\n <li><a href=\"class_dw_catalog_ProductInventoryRecord.html#dw_catalog_ProductInventoryRecord_isPerpetual_DetailAnchor\">isPerpetual()</a> and <a href=\"class_dw_catalog_ProductInventoryRecord.html#dw_catalog_ProductInventoryRecord_isPreorderable_DetailAnchor\">isPreorderable()</a> always return false.</li>\n </ul>\n <p></p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "allocation": {
              "name": "allocation",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "The allocation quantity that is currently set. The quantity unit is the same unit as the product itself.\n \n When using OCI, returns the physically available quantity. Corresponds to the On Hand quantity in OCI.",
              "deprecated": false,
              "type": "property"
            },
            "allocationResetDate": {
              "name": "allocationResetDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date the allocation quantity was initialized or reset.\n \n When using OCI, corresponds to the Effective Date in OCI. The value can be null.",
              "deprecated": false,
              "type": "property"
            },
            "ATS": {
              "name": "ATS",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of items available to sell (ATS). This is calculated as the allocation\n (getAllocation()) plus the preorderBackorderAllocation (getPreorderBackorderAllocation()) minus\n the turnover (getTurnover()) minus the on order quantity (getOnOrder()).\n \n When using OCI, corresponds to the ATO (Available To Order) quantity in OCI.",
              "deprecated": false,
              "type": "property"
            },
            "backorderable": {
              "name": "backorderable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Determines if the product is backorderable.\n \n When using OCI, returns true if the product has at least one Future quantity in OCI.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for this object. The returned object is used for retrieving and storing attribute\n values. See CustomAttributes for a detailed example of the syntax for working with custom\n attributes.\n \n When using Omnichannel Inventory (OCI), this class doesn't support custom attributes. If OCI is enabled, then\n attempting to set or modify a custom attribute value throws an UnsupportedOperationException.",
              "deprecated": false,
              "type": "property"
            },
            "inStockDate": {
              "name": "inStockDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "The date that the item is expected to be in stock.\n \n When using OCI, returns the date of the earliest Future quantity. If the product has no Future quantities, it\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "onHand": {
              "name": "onHand",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The on-hand quantity, the actual quantity of available (on-hand) items.",
              "deprecated": true,
              "type": "property"
            },
            "onOrder": {
              "name": "onOrder",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity that is currently on order.\n \n This is only relevant when On Order Inventory is turned on for the related inventory list. On Order is a bucket\n of inventory used for the time between order creation and order export to external (warehouse) systems. On Order\n value is increased when an order is created. It will be decreased and with that turnover will be increased when\n the order is exported, see getTurnover(). Notice that Order.setExportStatus(Number) and\n OrderItem.allocateInventory(Boolean) will decrease the On Order value. On order will be included\n in the ATS calculation, see getATS().\n \n \n When using OCI, always returns zero. OCI doesn't support On Order inventory.",
              "deprecated": false,
              "type": "property"
            },
            "perpetual": {
              "name": "perpetual",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Determines if the product is perpetually in stock.\n \n When using OCI, always returns false.",
              "deprecated": false,
              "type": "property"
            },
            "preorderable": {
              "name": "preorderable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Determines if the product is preorderable.\n \n When using OCI, always returns false.",
              "deprecated": false,
              "type": "property"
            },
            "preorderBackorderAllocation": {
              "name": "preorderBackorderAllocation",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "The quantity of items that are allocated for sale, beyond the initial stock allocation.\n \n When using OCI, returns the sum of all Future quantities. If the product has no Future quantities, it returns\n zero.",
              "deprecated": false,
              "type": "property"
            },
            "reserved": {
              "name": "reserved",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of items that are reserved.\n \n Note that for products with high velocity and concurrency, the return value is extremely volatile and the\n retrieval will be expensive.\n \n When using OCI, always returns zero.",
              "deprecated": false,
              "type": "property"
            },
            "stockLevel": {
              "name": "stockLevel",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The current stock level. This is calculated as the allocation minus the turnover.\n \n When using OCI, corresponds to the ATF (Available To Fulfill) quantity in OCI.",
              "deprecated": false,
              "type": "property"
            },
            "turnover": {
              "name": "turnover",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all inventory transactions (decrements and increments) recorded after the allocation reset\n date. If the total decremented quantity is greater than the total incremented quantity, then this value is\n negative.\n \n When using OCI, returns the total reserved quantity, including order, basket, and temporary reservations.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "describe": {
              "name": "describe",
              "args": [],
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data of this object. If no meta data is available the method returns null."
              },
              "description": "Returns the meta data of this object. If no meta data is available the method returns null. The returned\n ObjectTypeDefinition can be used to retrieve the metadata for any of the custom attributes.\n \n When using Omnichannel Inventory (OCI), this class doesn't support custom attributes. If OCI is enabled, then\n attempting to set or modify a custom attribute value throws an UnsupportedOperationException.",
              "deprecated": false
            },
            "getAllocation": {
              "name": "getAllocation",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the allocation quantity or quantity N/A if not available."
              },
              "description": "Returns the allocation quantity that is currently set. The quantity unit is the same unit as the product itself.\n \n When using OCI, returns the physically available quantity. Corresponds to the On Hand quantity in OCI.",
              "deprecated": false
            },
            "getAllocationResetDate": {
              "name": "getAllocationResetDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the allocation reset date."
              },
              "description": "Returns the date the allocation quantity was initialized or reset.\n \n When using OCI, corresponds to the Effective Date in OCI. The value can be null.",
              "deprecated": false
            },
            "getATS": {
              "name": "getATS",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity or quantity N/A if not available."
              },
              "description": "Returns the quantity of items available to sell (ATS). This is calculated as the allocation\n (getAllocation()) plus the preorderBackorderAllocation (getPreorderBackorderAllocation()) minus\n the turnover (getTurnover()) minus the on order quantity (getOnOrder()).\n \n When using OCI, corresponds to the ATO (Available To Order) quantity in OCI.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes for this object."
              },
              "description": "Returns the custom attributes for this object. The returned object is used for retrieving and storing attribute\n values. See CustomAttributes for a detailed example of the syntax for working with custom\n attributes.\n \n When using Omnichannel Inventory (OCI), this class doesn't support custom attributes. If OCI is enabled, then\n attempting to set or modify a custom attribute value throws an UnsupportedOperationException.",
              "deprecated": false
            },
            "getInStockDate": {
              "name": "getInStockDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date that the item is expected to be in stock."
              },
              "description": "Returns the date that the item is expected to be in stock.\n \n When using OCI, returns the date of the earliest Future quantity. If the product has no Future quantities, it\n returns null.",
              "deprecated": false
            },
            "getOnHand": {
              "name": "getOnHand",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the on-hand quantity or quantity N/A if not available."
              },
              "description": "Returns the on-hand quantity, the actual quantity of available (on-hand) items.",
              "deprecated": true
            },
            "getOnOrder": {
              "name": "getOnOrder",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity or quantity N/A if not available."
              },
              "description": "Returns the quantity that is currently on order.\n \n This is only relevant when On Order Inventory is turned on for the related inventory list. On Order is a bucket\n of inventory used for the time between order creation and order export to external (warehouse) systems. On Order\n value is increased when an order is created. It will be decreased and with that turnover will be increased when\n the order is exported, see getTurnover(). Notice that Order.setExportStatus(Number) and\n OrderItem.allocateInventory(Boolean) will decrease the On Order value. On order will be included\n in the ATS calculation, see getATS().\n \n \n When using OCI, always returns zero. OCI doesn't support On Order inventory.",
              "deprecated": false
            },
            "getPreorderBackorderAllocation": {
              "name": "getPreorderBackorderAllocation",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity or quantity N/A if not available."
              },
              "description": "Returns the quantity of items that are allocated for sale, beyond the initial stock allocation.\n \n When using OCI, returns the sum of all Future quantities. If the product has no Future quantities, it returns\n zero.",
              "deprecated": false
            },
            "getReserved": {
              "name": "getReserved",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity of items reserved for this product."
              },
              "description": "Returns the quantity of items that are reserved.\n \n Note that for products with high velocity and concurrency, the return value is extremely volatile and the\n retrieval will be expensive.\n \n When using OCI, always returns zero.",
              "deprecated": false
            },
            "getStockLevel": {
              "name": "getStockLevel",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the stock level or quantity N/A if not available."
              },
              "description": "Returns the current stock level. This is calculated as the allocation minus the turnover.\n \n When using OCI, corresponds to the ATF (Available To Fulfill) quantity in OCI.",
              "deprecated": false
            },
            "getTurnover": {
              "name": "getTurnover",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the turnover or quantity N/A if not available."
              },
              "description": "Returns the sum of all inventory transactions (decrements and increments) recorded after the allocation reset\n date. If the total decremented quantity is greater than the total incremented quantity, then this value is\n negative.\n \n When using OCI, returns the total reserved quantity, including order, basket, and temporary reservations.",
              "deprecated": false
            },
            "isBackorderable": {
              "name": "isBackorderable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is backorderable."
              },
              "description": "Determines if the product is backorderable.\n \n When using OCI, returns true if the product has at least one Future quantity in OCI.",
              "deprecated": false
            },
            "isPerpetual": {
              "name": "isPerpetual",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is perpetually in stock."
              },
              "description": "Determines if the product is perpetually in stock.\n \n When using OCI, always returns false.",
              "deprecated": false
            },
            "isPreorderable": {
              "name": "isPreorderable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product is preorderable."
              },
              "description": "Determines if the product is preorderable.\n \n When using OCI, always returns false.",
              "deprecated": false
            },
            "setAllocation": {
              "name": "setAllocation",
              "args": [
                {
                  "name": "quantity",
                  "description": "the allocation quantity to set (must be greater than or equal to zero).",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the allocation quantity. This also updates the allocation reset date. \n All final reservations will be considered as expired and will therefore no longer be considered for ATS.\n \n When using OCI, throws an IllegalStateException.\n This method should not be called within a storefront request.",
              "deprecated": false
            },
            "setAllocation0": {
              "name": "setAllocation",
              "args": [
                {
                  "name": "quantity",
                  "description": "the allocation quantity to set (must be greater than or equal to zero).",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "allocationResetDate",
                  "description": "the date allocation quantity was effectively calculated  the reset date must not be older than 48 hours the reset date must not be older than the prior reset date. see getAllocationResetDate()",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the allocation quantity. This also updates the allocation reset date.\n Any final reservations made prior to the allocation reset date will be considered as expired and will therefore\n no longer be considered for ATS.\n \n When using OCI, throws an IllegalStateException.\n This method must not be called within a storefront request.",
              "deprecated": false
            },
            "setBackorderable": {
              "name": "setBackorderable",
              "args": [
                {
                  "name": "backorderableFlag",
                  "description": "the flag to set backorderable status.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method is used to set whether the product is backorderable. Setting the backorderable flag to true will clear\n the preorderable flag. If the record's preorderable flag is set to true, calling this method with\n backorderableFlag==false will have no effect.\n \n When using OCI, throws an IllegalStateException. \n This method should not be called within a storefront request.\n This method must not be called within a storefront request when the API version is 21.7 or later.",
              "deprecated": false
            },
            "setInStockDate": {
              "name": "setInStockDate",
              "args": [
                {
                  "name": "inStockDate",
                  "description": "the date that the item is expected to be in stock.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the date that the item is expected to be in stock.\n \n When using OCI, throws an IllegalStateException. \n This method should not be called within a storefront request.\n This method must not be called within a storefront request when the API version is 21.7 or later.",
              "deprecated": false
            },
            "setPerpetual": {
              "name": "setPerpetual",
              "args": [
                {
                  "name": "perpetualFlag",
                  "description": "true to set the product perpetually in stock.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets if the product is perpetually in stock.\n \n When using OCI, throws an IllegalStateException. \n This method should not be called within a storefront request.\n This method must not be called within a storefront request when the API version is 21.7 or later.",
              "deprecated": false
            },
            "setPreorderable": {
              "name": "setPreorderable",
              "args": [
                {
                  "name": "preorderableFlag",
                  "description": "the flag to set preorderable status.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method is used to set whether the product is preorderable. Setting the preorderable flag to true will clear\n the backorderable flag. If the record's backorderable flag is set to true, calling this method with\n preorderableFlag==false will have no effect.\n \n When using OCI, throws an IllegalStateException. \n This method should not be called within a storefront request.\n This method must not be called within a storefront request when the API version is 21.7 or later.",
              "deprecated": false
            },
            "setPreorderBackorderAllocation": {
              "name": "setPreorderBackorderAllocation",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to set.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the quantity of items that are allocated for sale, beyond the initial stock allocation.\n \n When using OCI, throws an IllegalStateException.\n This method should not be called within a storefront request.\n This method must not be called within a storefront request when the API version is 21.7 or later.",
              "deprecated": false
            }
          }
        },
        "ProductLink": {
          "fullClassName": "dw.catalog.ProductLink",
          "package": "dw.catalog",
          "description": "The class represents a link between two products.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "LINKTYPE_ACCESSORY": {
              "name": "LINKTYPE_ACCESSORY",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Represents an accessory product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_ALT_ORDERUNIT": {
              "name": "LINKTYPE_ALT_ORDERUNIT",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Represents an alternative order unit product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_CROSS_SELL": {
              "name": "LINKTYPE_CROSS_SELL",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents a cross-sell product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_NEWER_VERSION": {
              "name": "LINKTYPE_NEWER_VERSION",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Represents a newer verion link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_OTHER": {
              "name": "LINKTYPE_OTHER",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "Represents a miscellaneous product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_REPLACEMENT": {
              "name": "LINKTYPE_REPLACEMENT",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents a replacement product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_SPARE_PART": {
              "name": "LINKTYPE_SPARE_PART",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Represents a spare part product link.",
              "deprecated": false,
              "type": "constant"
            },
            "LINKTYPE_UP_SELL": {
              "name": "LINKTYPE_UP_SELL",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Represents an up-sell product link.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "sourceProduct": {
              "name": "sourceProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The source product for this link.",
              "deprecated": false,
              "type": "property"
            },
            "targetProduct": {
              "name": "targetProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The target product for this link.",
              "deprecated": false,
              "type": "property"
            },
            "typeCode": {
              "name": "typeCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The type of this link (see constants).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSourceProduct": {
              "name": "getSourceProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the source product for this link."
              },
              "description": "Returns the source product for this link.",
              "deprecated": false
            },
            "getTargetProduct": {
              "name": "getTargetProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the target product for this link."
              },
              "description": "Returns the target product for this link.",
              "deprecated": false
            },
            "getTypeCode": {
              "name": "getTypeCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the type of the link."
              },
              "description": "Returns the type of this link (see constants).",
              "deprecated": false
            }
          }
        },
        "SearchRefinementDefinition": {
          "fullClassName": "dw.catalog.SearchRefinementDefinition",
          "package": "dw.catalog",
          "description": "Common search refinement definition base class.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "attributeID": {
              "name": "attributeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The attribute ID. If the refinement definition is not an\n attribute refinement, the method returns an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "attributeRefinement": {
              "name": "attributeRefinement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is an attribute refinement.",
              "deprecated": false,
              "type": "property"
            },
            "cutoffThreshold": {
              "name": "cutoffThreshold",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The cut-off threshold.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name.",
              "deprecated": false,
              "type": "property"
            },
            "valueTypeCode": {
              "name": "valueTypeCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "A code for the data type used for this search refinement definition. See constants\n defined in ObjectAttributeDefinition.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttributeID": {
              "name": "getAttributeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the attribute ID."
              },
              "description": "Returns the attribute ID. If the refinement definition is not an\n attribute refinement, the method returns an empty string.",
              "deprecated": false
            },
            "getCutoffThreshold": {
              "name": "getCutoffThreshold",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the cut-off threshold."
              },
              "description": "Returns the cut-off threshold.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name."
              },
              "description": "Returns the display name.",
              "deprecated": false
            },
            "getValueTypeCode": {
              "name": "getValueTypeCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "a code for the data type used for this search refinement definition. See constants defined in ObjectAttributeDefinition."
              },
              "description": "Returns a code for the data type used for this search refinement definition. See constants\n defined in ObjectAttributeDefinition.",
              "deprecated": false
            },
            "isAttributeRefinement": {
              "name": "isAttributeRefinement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is an attribute refinement, false otherwise."
              },
              "description": "Identifies if this is an attribute refinement.",
              "deprecated": false
            }
          }
        },
        "Store": {
          "fullClassName": "dw.catalog.Store",
          "package": "dw.catalog",
          "description": "Represents a store in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "address1": {
              "name": "address1",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The address1 of the store.",
              "deprecated": false,
              "type": "property"
            },
            "address2": {
              "name": "address2",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The address2 of the store.",
              "deprecated": false,
              "type": "property"
            },
            "city": {
              "name": "city",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The city of the store.",
              "deprecated": false,
              "type": "property"
            },
            "countryCode": {
              "name": "countryCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The countryCode of the store.",
              "deprecated": false,
              "type": "property"
            },
            "demandwarePosEnabled": {
              "name": "demandwarePosEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The demandwarePosEnabled flag for the store.\n Indicates that this store uses Commerce Cloud Store for point-of-sale.",
              "deprecated": true,
              "type": "property"
            },
            "email": {
              "name": "email",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The email of the store.",
              "deprecated": false,
              "type": "property"
            },
            "fax": {
              "name": "fax",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The fax of the store.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the store.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The store image.",
              "deprecated": false,
              "type": "property"
            },
            "inventoryList": {
              "name": "inventoryList",
              "class": {
                "name": "ProductInventoryList"
              },
              "static": false,
              "readonly": true,
              "description": "The inventory list the store is associated with. If the\n store is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "inventoryListID": {
              "name": "inventoryListID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The inventory list id the store is associated with. If the\n store is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "latitude": {
              "name": "latitude",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The latitude of the store.",
              "deprecated": false,
              "type": "property"
            },
            "longitude": {
              "name": "longitude",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The longitude of the store.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the store.",
              "deprecated": false,
              "type": "property"
            },
            "phone": {
              "name": "phone",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The phone of the store.",
              "deprecated": false,
              "type": "property"
            },
            "posEnabled": {
              "name": "posEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The posEnabled flag for the Store.\n Indicates that this store uses Commerce Cloud Store for point-of-sale.",
              "deprecated": false,
              "type": "property"
            },
            "postalCode": {
              "name": "postalCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The postalCode of the store.",
              "deprecated": false,
              "type": "property"
            },
            "stateCode": {
              "name": "stateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The stateCode of the store.",
              "deprecated": false,
              "type": "property"
            },
            "storeEvents": {
              "name": "storeEvents",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The storeEvents of the store.",
              "deprecated": false,
              "type": "property"
            },
            "storeGroups": {
              "name": "storeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All the store groups this store belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "storeHours": {
              "name": "storeHours",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The storeHours of the store.",
              "deprecated": false,
              "type": "property"
            },
            "storeLocatorEnabled": {
              "name": "storeLocatorEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The storeLocatorEnabled flag for the store.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAddress1": {
              "name": "getAddress1",
              "args": [],
              "class": {
                "name": "String",
                "description": "address1 of the store"
              },
              "description": "Returns the address1 of the store.",
              "deprecated": false
            },
            "getAddress2": {
              "name": "getAddress2",
              "args": [],
              "class": {
                "name": "String",
                "description": "address2 of the store"
              },
              "description": "Returns the address2 of the store.",
              "deprecated": false
            },
            "getCity": {
              "name": "getCity",
              "args": [],
              "class": {
                "name": "String",
                "description": "city of the store"
              },
              "description": "Returns the city of the store.",
              "deprecated": false
            },
            "getCountryCode": {
              "name": "getCountryCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "countryCode of the store"
              },
              "description": "Returns the countryCode of the store.",
              "deprecated": false
            },
            "getEmail": {
              "name": "getEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "email of the store"
              },
              "description": "Returns the email of the store.",
              "deprecated": false
            },
            "getFax": {
              "name": "getFax",
              "args": [],
              "class": {
                "name": "String",
                "description": "fax of the store"
              },
              "description": "Returns the fax of the store.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the store"
              },
              "description": "Returns the ID of the store.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the store image."
              },
              "description": "Returns the store image.",
              "deprecated": false
            },
            "getInventoryList": {
              "name": "getInventoryList",
              "args": [],
              "class": {
                "name": "ProductInventoryList",
                "description": "ProductInventoryList or null"
              },
              "description": "Returns the inventory list the store is associated with. If the\n store is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false
            },
            "getInventoryListID": {
              "name": "getInventoryListID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the inventory list id"
              },
              "description": "Returns the inventory list id the store is associated with. If the\n store is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false
            },
            "getLatitude": {
              "name": "getLatitude",
              "args": [],
              "class": {
                "name": "Number",
                "description": "latitude of the store"
              },
              "description": "Returns the latitude of the store.",
              "deprecated": false
            },
            "getLongitude": {
              "name": "getLongitude",
              "args": [],
              "class": {
                "name": "Number",
                "description": "longitude of the store"
              },
              "description": "Returns the longitude of the store.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "name of the store"
              },
              "description": "Returns the name of the store.",
              "deprecated": false
            },
            "getPhone": {
              "name": "getPhone",
              "args": [],
              "class": {
                "name": "String",
                "description": "phone of the store"
              },
              "description": "Returns the phone of the store.",
              "deprecated": false
            },
            "getPostalCode": {
              "name": "getPostalCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "postalCode of the store"
              },
              "description": "Returns the postalCode of the store.",
              "deprecated": false
            },
            "getStateCode": {
              "name": "getStateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "stateCode of the store"
              },
              "description": "Returns the stateCode of the store.",
              "deprecated": false
            },
            "getStoreEvents": {
              "name": "getStoreEvents",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "storeEvents of the store"
              },
              "description": "Returns the storeEvents of the store.",
              "deprecated": false
            },
            "getStoreGroups": {
              "name": "getStoreGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "collection of store groups"
              },
              "description": "Returns all the store groups this store belongs to.",
              "deprecated": false
            },
            "getStoreHours": {
              "name": "getStoreHours",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "storeHours of the store"
              },
              "description": "Returns the storeHours of the store.",
              "deprecated": false
            },
            "isDemandwarePosEnabled": {
              "name": "isDemandwarePosEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the demandwarePosEnabled flag"
              },
              "description": "Returns the demandwarePosEnabled flag for the store.\n Indicates that this store uses Commerce Cloud Store for point-of-sale.",
              "deprecated": true
            },
            "isPosEnabled": {
              "name": "isPosEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the posEnabled flag"
              },
              "description": "Returns the posEnabled flag for the Store.\n Indicates that this store uses Commerce Cloud Store for point-of-sale.",
              "deprecated": false
            },
            "isStoreLocatorEnabled": {
              "name": "isStoreLocatorEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the storeLocatorEnabled flag"
              },
              "description": "Returns the storeLocatorEnabled flag for the store.",
              "deprecated": false
            }
          }
        }
      },
      "content": {
        "Content": {
          "fullClassName": "dw.content.Content",
          "package": "dw.content",
          "description": "Class representing a Content asset in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "classificationFolder": {
              "name": "classificationFolder",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The Folder associated with this Content. The folder is\n used to determine the classification of the content.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description in the current locale or null.",
              "deprecated": false,
              "type": "property"
            },
            "folders": {
              "name": "folders",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All folders to which this content is assigned.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the content asset.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the content asset.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status of the content.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFlag": {
              "name": "onlineFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status flag of the content.",
              "deprecated": false,
              "type": "property"
            },
            "page": {
              "name": "page",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns if the content is a Page or not.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page description for the content in the current locale\n or null if there is no page description.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page keywords for the content in the current locale\n or null if there is no page title.",
              "deprecated": false,
              "type": "property"
            },
            "pageMetaTags": {
              "name": "pageMetaTags",
              "class": {
                "name": "Array"
              },
              "static": false,
              "readonly": true,
              "description": "All page meta tags, defined for this instance for which content can be generated.\n\n The meta tag content is generated based on the content detail page meta tag context and rules.\n The rules are obtained from the current content or inherited from the default folder,\n up to the root folder.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page title for the content in the current locale\n or null if there is no page title.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page URL for the content in the current locale\n or null if there is no page URL.",
              "deprecated": false,
              "type": "property"
            },
            "searchable": {
              "name": "searchable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The search status of the content.",
              "deprecated": false,
              "type": "property"
            },
            "searchableFlag": {
              "name": "searchableFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The online status flag of the content.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapChangeFrequency": {
              "name": "siteMapChangeFrequency",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The contents change frequency needed for the sitemap creation.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapIncluded": {
              "name": "siteMapIncluded",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status if the content is included into the sitemap.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapPriority": {
              "name": "siteMapPriority",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The contents priority needed for the sitemap creation.\n If no priority is defined, the method returns 0.0.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of attribute 'template'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getClassificationFolder": {
              "name": "getClassificationFolder",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the classification Folder."
              },
              "description": "Returns the Folder associated with this Content. The folder is\n used to determine the classification of the content.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description in the current locale or null."
              },
              "description": "Returns the description in the current locale or null.",
              "deprecated": false
            },
            "getFolders": {
              "name": "getFolders",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of Folder objects."
              },
              "description": "Returns all folders to which this content is assigned.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the content asset."
              },
              "description": "Returns the ID of the content asset.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the content asset."
              },
              "description": "Returns the name of the content asset.",
              "deprecated": false
            },
            "getOnlineFlag": {
              "name": "getOnlineFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the content is online, false otherwise."
              },
              "description": "Returns the online status flag of the content.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page description for the content in the current locale or null if there is no page description."
              },
              "description": "Returns the page description for the content in the current locale\n or null if there is no page description.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page keywords for the content in the current locale or null if there is no page title."
              },
              "description": "Returns the page keywords for the content in the current locale\n or null if there is no page title.",
              "deprecated": false
            },
            "getPageMetaTag": {
              "name": "getPageMetaTag",
              "args": [
                {
                  "name": "id",
                  "description": "the ID to get the page meta tag for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PageMetaTag",
                "description": "page meta tag containing content generated based on rules"
              },
              "description": "Returns the page meta tag for the specified id.\n\n The meta tag content is generated based on the content detail page meta tag context and rule.\n The rule is obtained from the current content or inherited from the default folder,\n up to the root folder.\n\n Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the\n current context, or if the rule resolves to an empty string.",
              "deprecated": false
            },
            "getPageMetaTags": {
              "name": "getPageMetaTags",
              "args": [],
              "class": {
                "name": "Array",
                "description": "page meta tags defined for this instance, containing content generated based on rules"
              },
              "description": "Returns all page meta tags, defined for this instance for which content can be generated.\n\n The meta tag content is generated based on the content detail page meta tag context and rules.\n The rules are obtained from the current content or inherited from the default folder,\n up to the root folder.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page title for the content in the current locale or null if there is no page title."
              },
              "description": "Returns the page title for the content in the current locale\n or null if there is no page title.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page URL for the content in the current locale or null if there is no page URL."
              },
              "description": "Returns the page URL for the content in the current locale\n or null if there is no page URL.",
              "deprecated": false
            },
            "getSearchableFlag": {
              "name": "getSearchableFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the content is searchable, false otherwise."
              },
              "description": "Returns the online status flag of the content.",
              "deprecated": false
            },
            "getSiteMapChangeFrequency": {
              "name": "getSiteMapChangeFrequency",
              "args": [],
              "class": {
                "name": "String",
                "description": "The contents sitemap change frequency."
              },
              "description": "Returns the contents change frequency needed for the sitemap creation.",
              "deprecated": false
            },
            "getSiteMapIncluded": {
              "name": "getSiteMapIncluded",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapIncluded'"
              },
              "description": "Returns the status if the content is included into the sitemap.",
              "deprecated": false
            },
            "getSiteMapPriority": {
              "name": "getSiteMapPriority",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The contents sitemap priority."
              },
              "description": "Returns the contents priority needed for the sitemap creation.\n If no priority is defined, the method returns 0.0.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'template'"
              },
              "description": "Returns the value of attribute 'template'.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the content is online, false otherwise."
              },
              "description": "Returns the online status of the content.",
              "deprecated": false
            },
            "isPage": {
              "name": "isPage",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the content is a Page, false otherwise."
              },
              "description": "Returns if the content is a Page or not.",
              "deprecated": false
            },
            "isSearchable": {
              "name": "isSearchable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the content is searchable, false otherwise."
              },
              "description": "Returns the search status of the content.",
              "deprecated": false
            },
            "toPage": {
              "name": "toPage",
              "args": [],
              "class": {
                "name": "Page",
                "description": "the Page representation of the content if it is a page, null otherwise."
              },
              "description": "Converts the content into the Page representation if isPage() yields true.",
              "deprecated": false
            }
          }
        },
        "ContentMgr": {
          "fullClassName": "dw.content.ContentMgr",
          "package": "dw.content",
          "description": "Provides helper methods for getting content assets, library folders and the\n content library of the current site.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "PRIVATE_LIBRARY": {
              "name": "PRIVATE_LIBRARY",
              "value": "\"PrivateLibrary\"",
              "class": {
                "name": "String"
              },
              "description": "The input string to identify that the library is a private site library when invoking getLibrary(String).",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "siteLibrary": {
              "name": "siteLibrary",
              "class": {
                "name": "Library"
              },
              "static": true,
              "readonly": true,
              "description": "The content library of the current site.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [
                {
                  "name": "id",
                  "description": "the ID of the content asset to find.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Content",
                "description": "the content if found, or null if not found."
              },
              "description": "Returns the content with the corresponding identifier within the current\n site's site library.",
              "deprecated": false
            },
            "getContent0": {
              "name": "getContent",
              "args": [
                {
                  "name": "library",
                  "description": "the content library to look for the content in",
                  "class": {
                    "name": "Library"
                  },
                  "multiple": false
                },
                {
                  "name": "id",
                  "description": "the ID of the content asset to find.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Content",
                "description": "the content if found, or null if not found."
              },
              "description": "Returns the content with the corresponding identifier within the specified library.",
              "deprecated": false
            },
            "getFolder": {
              "name": "getFolder",
              "args": [
                {
                  "name": "id",
                  "description": "the ID of the folder to find.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Folder",
                "description": "the folder, or null if not found."
              },
              "description": "Returns the folder identified by the specified id within the current\n site's site library.",
              "deprecated": false
            },
            "getFolder0": {
              "name": "getFolder",
              "args": [
                {
                  "name": "library",
                  "description": "the content library to look for the folder in",
                  "class": {
                    "name": "Library"
                  },
                  "multiple": false
                },
                {
                  "name": "id",
                  "description": "the ID of the folder to find.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Folder",
                "description": "the folder, or null if not found."
              },
              "description": "Returns the folder identified by the specified id within the specified library.",
              "deprecated": false
            },
            "getLibrary": {
              "name": "getLibrary",
              "args": [
                {
                  "name": "libraryId",
                  "description": "the id of the library to return.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Library",
                "description": "the library for the passed id. Returns null if there is no content library with that id."
              },
              "description": "Returns the content library specified by the given id. If PRIVATE_LIBRARY is used, then the current\n site's private library will be returned.",
              "deprecated": false
            },
            "getSiteLibrary": {
              "name": "getSiteLibrary",
              "args": [],
              "static": true,
              "class": {
                "name": "Library",
                "description": "the content library of the current site, or null if there is not content library assigned to the current site."
              },
              "description": "Returns the content library of the current site.",
              "deprecated": false
            }
          }
        },
        "ContentSearchModel": {
          "fullClassName": "dw.content.ContentSearchModel",
          "package": "dw.content",
          "description": "The class is the central interface to a content search result and a content\n search refinement. It also provides utility methods to generate a search URL.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.catalog.SearchModel"
            }
          ],
          "constants": {
            "CONTENTID_PARAMETER": {
              "name": "CONTENTID_PARAMETER",
              "value": "\"cid\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the content ID",
              "deprecated": false,
              "type": "constant"
            },
            "FOLDERID_PARAMETER": {
              "name": "FOLDERID_PARAMETER",
              "value": "\"fdid\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the folder ID",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "content": {
              "name": "content",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "An Iterator containing all Content Assets that are the result of the\n search.",
              "deprecated": false,
              "type": "property"
            },
            "contentID": {
              "name": "contentID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The content ID against which the search results apply.",
              "deprecated": false,
              "type": "property"
            },
            "deepestCommonFolder": {
              "name": "deepestCommonFolder",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The deepest common folder of all content assets in the search result.",
              "deprecated": false,
              "type": "property"
            },
            "filteredByFolder": {
              "name": "filteredByFolder",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The method returns true, if the content search result is filtered by the folder and it is not subsequently\n possible to search for content assets that belong to no folder (e.g. those for Page Designer).",
              "deprecated": false,
              "type": "property"
            },
            "folder": {
              "name": "folder",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The folder against which the search results apply.",
              "deprecated": false,
              "type": "property"
            },
            "folderID": {
              "name": "folderID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The folder ID against which the search results apply.",
              "deprecated": false,
              "type": "property"
            },
            "folderSearch": {
              "name": "folderSearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if this is a pure search for a folder. The\n method checks, that a folder ID is specified and no search phrase is\n specified.",
              "deprecated": false,
              "type": "property"
            },
            "pageMetaTags": {
              "name": "pageMetaTags",
              "class": {
                "name": "Array"
              },
              "static": false,
              "readonly": true,
              "description": "All page meta tags, defined for this instance for which content can be generated.\n\n The meta tag content is generated based on the content listing page meta tag context and rules.\n The rules are obtained from the current folder context or inherited from the parent folder,\n up to the root folder.",
              "deprecated": false,
              "type": "property"
            },
            "recursiveFolderSearch": {
              "name": "recursiveFolderSearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Get the flag that determines if the folder search will\n be recursive.",
              "deprecated": false,
              "type": "property"
            },
            "refinedByFolder": {
              "name": "refinedByFolder",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if the search is refined by a folder.\n The method checks, that a folder ID is specified.",
              "deprecated": false,
              "type": "property"
            },
            "refinedFolderSearch": {
              "name": "refinedFolderSearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a folder search and is refined with further\n criteria, like a name refinement or an attribute refinement.",
              "deprecated": false,
              "type": "property"
            },
            "refinements": {
              "name": "refinements",
              "class": {
                "name": "ContentSearchRefinements"
              },
              "static": false,
              "readonly": true,
              "description": "The set of search refinements used in this search.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "ContentSearchModel": {
              "name": "ContentSearchModel",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new ContentSearchModel.",
              "deprecated": false
            }
          },
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "an Iterator containing all Content Assets that are the result of the search."
              },
              "description": "Returns an Iterator containing all Content Assets that are the result of the\n search.",
              "deprecated": false
            },
            "getContentID": {
              "name": "getContentID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the content ID against which the search results apply."
              },
              "description": "Returns the content ID against which the search results apply.",
              "deprecated": false
            },
            "getDeepestCommonFolder": {
              "name": "getDeepestCommonFolder",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the deepest common folder of all content assets in the search result of this search model."
              },
              "description": "Returns the deepest common folder of all content assets in the search result.",
              "deprecated": false
            },
            "getFolder": {
              "name": "getFolder",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the folder against which the search results apply."
              },
              "description": "Returns the folder against which the search results apply.",
              "deprecated": false
            },
            "getFolderID": {
              "name": "getFolderID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the folder ID against which the search results apply."
              },
              "description": "Returns the folder ID against which the search results apply.",
              "deprecated": false
            },
            "getPageMetaTag": {
              "name": "getPageMetaTag",
              "args": [
                {
                  "name": "id",
                  "description": "the ID to get the page meta tag for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PageMetaTag",
                "description": "page meta tag containing content generated based on rules"
              },
              "description": "Returns the page meta tag for the specified id.\n\n The meta tag content is generated based on the content listing page meta tag context and rule.\n The rule is obtained from the current folder context or inherited from the parent folder,\n up to the root folder.\n\n Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the\n current context, or if the rule resolves to an empty string.",
              "deprecated": false
            },
            "getPageMetaTags": {
              "name": "getPageMetaTags",
              "args": [],
              "class": {
                "name": "Array",
                "description": "page meta tags defined for this instance, containing content generated based on rules"
              },
              "description": "Returns all page meta tags, defined for this instance for which content can be generated.\n\n The meta tag content is generated based on the content listing page meta tag context and rules.\n The rules are obtained from the current folder context or inherited from the parent folder,\n up to the root folder.",
              "deprecated": false
            },
            "getRefinements": {
              "name": "getRefinements",
              "args": [],
              "class": {
                "name": "ContentSearchRefinements",
                "description": "the set of search refinements used in this search."
              },
              "description": "Returns the set of search refinements used in this search.",
              "deprecated": false
            },
            "isFilteredByFolder": {
              "name": "isFilteredByFolder",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this is filtered by the folder of the content asset."
              },
              "description": "The method returns true, if the content search result is filtered by the folder and it is not subsequently\n possible to search for content assets that belong to no folder (e.g. those for Page Designer).",
              "deprecated": false
            },
            "isFolderSearch": {
              "name": "isFolderSearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this is a folder search."
              },
              "description": "The method returns true, if this is a pure search for a folder. The\n method checks, that a folder ID is specified and no search phrase is\n specified.",
              "deprecated": false
            },
            "isRecursiveFolderSearch": {
              "name": "isRecursiveFolderSearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the folder search will be recursive, false otherwise"
              },
              "description": "Get the flag that determines if the folder search will\n be recursive.",
              "deprecated": false
            },
            "isRefinedByFolder": {
              "name": "isRefinedByFolder",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if the search is refined by a folder, false otherwise."
              },
              "description": "The method returns true, if the search is refined by a folder.\n The method checks, that a folder ID is specified.",
              "deprecated": false
            },
            "isRefinedFolderSearch": {
              "name": "isRefinedFolderSearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a folder search and is refined with further criteria, false otherwise."
              },
              "description": "Identifies if this is a folder search and is refined with further\n criteria, like a name refinement or an attribute refinement.",
              "deprecated": false
            },
            "search": {
              "name": "search",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Execute the search.",
              "deprecated": false
            },
            "setContentID": {
              "name": "setContentID",
              "args": [
                {
                  "name": "contentID",
                  "description": "the contentID used in this search.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the contentID used in this search.",
              "deprecated": false
            },
            "setFilteredByFolder": {
              "name": "setFilteredByFolder",
              "args": [
                {
                  "name": "filteredByFolder",
                  "description": "filter the search result by folder",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag to indicate if the search is filtered by the folder. Must be set to false to return content assets that\n do not belong to any folder.",
              "deprecated": false
            },
            "setFolderID": {
              "name": "setFolderID",
              "args": [
                {
                  "name": "folderID",
                  "description": "the folderID used in this search.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the folderID used in this search.",
              "deprecated": false
            },
            "setRecursiveFolderSearch": {
              "name": "setRecursiveFolderSearch",
              "args": [
                {
                  "name": "recurse",
                  "description": "recurse the folder in the search",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag to indicate if the search in folder should be recursive.",
              "deprecated": false
            },
            "urlForContent": {
              "name": "urlForContent",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "cid",
                  "description": "the content id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific Content. The passed action is used to build an initial url. All search specific attributes are appended."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n Content. The passed action is used to build an initial url. All search\n specific attributes are appended.",
              "deprecated": false
            },
            "urlForContent0": {
              "name": "urlForContent",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use when constructing the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "cid",
                  "description": "the content id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific Content. The passed url can be either a full url or just the name for a pipeline. In the later case a relative URL is created."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n Content. The passed url can be either a full url or just the name for a\n pipeline. In the later case a relative URL is created.",
              "deprecated": false
            },
            "urlForFolder": {
              "name": "urlForFolder",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "fid",
                  "description": "the id of the Folder to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific Folder."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n Folder.",
              "deprecated": false
            },
            "urlForFolder0": {
              "name": "urlForFolder",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use in constructing the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "fid",
                  "description": "the id of the Folder to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific Folder."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n Folder.",
              "deprecated": false
            },
            "urlForRefine": {
              "name": "urlForRefine",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the name of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value for the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific attribute name-value pair."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n attribute name-value pair.",
              "deprecated": false
            },
            "urlForRefine0": {
              "name": "urlForRefine",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use when constructing the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the name of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value for the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that you can use to execute a query for a specific attribute name-value pair."
              },
              "description": "Returns an URL that you can use to execute a query for a specific\n attribute name-value pair.",
              "deprecated": false
            },
            "urlRefineFolder": {
              "name": "urlRefineFolder",
              "args": [
                {
                  "name": "action",
                  "description": "the action to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "refineFolderID",
                  "description": "the folder ID to use as a refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that you can use to re-execute the exact same query using the specified pipeline action and folder refinement."
              },
              "description": "Returns an URL that you can use to re-execute the query using the\n specified pipeline action and folder refinement.",
              "deprecated": false
            },
            "urlRefineFolder0": {
              "name": "urlRefineFolder",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use when constructing the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "refineFolderID",
                  "description": "the ID of the folder refinement to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that you can use to re-execute the query using the specified URL and folder refinement."
              },
              "description": "Returns an URL that you can use to re-execute the query using the\n specified URL and folder refinement.",
              "deprecated": false
            },
            "urlRelaxFolder": {
              "name": "urlRelaxFolder",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action to use in the URL.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that you can use to re-execute the query with no folder refinement."
              },
              "description": "Returns an URL that you can use to re-execute the query with no folder\n refinement.",
              "deprecated": false
            },
            "urlRelaxFolder0": {
              "name": "urlRelaxFolder",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use when constructing the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that you can use to re-execute the query with no folder refinement."
              },
              "description": "Returns an URL that you can use to re-execute the query with no folder\n refinement.",
              "deprecated": false
            }
          }
        },
        "ContentSearchRefinementDefinition": {
          "fullClassName": "dw.content.ContentSearchRefinementDefinition",
          "package": "dw.content",
          "description": "This class provides an interface to refinement options for content search.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.catalog.SearchRefinementDefinition"
            }
          ],
          "constants": {},
          "properties": {
            "folderRefinement": {
              "name": "folderRefinement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a folder refinement.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "isFolderRefinement": {
              "name": "isFolderRefinement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a category refinement, false otherwise."
              },
              "description": "Identifies if this is a folder refinement.",
              "deprecated": false
            }
          }
        },
        "ContentSearchRefinementValue": {
          "fullClassName": "dw.content.ContentSearchRefinementValue",
          "package": "dw.content",
          "description": "Represents the value of a content search refinement.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.catalog.SearchRefinementValue"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "ContentSearchRefinements": {
          "fullClassName": "dw.content.ContentSearchRefinements",
          "package": "dw.content",
          "description": "This class provides an interface to refinement options for the content asset\n search. In a typical usage, the client application UI displays the search\n refinements along with the search results and allows customers to \"refine\"\n the results (i.e. limit the results that are shown) by specifying additional\n criteria, or \"relax\" (i.e. broaden) the results after previously refining.\n The two types of content search refinements are:\n\n <ul>\n <li><b>Refine By Folder:</b> Limit the content assets to those assigned to\n specific child/ancestor folder of the search folder.</li>\n <li><b>Refine By Attribute:</b> Limit the content assets to those with\n specific values for a given attribute. Values may be grouped into \"buckets\"\n so that a given set of values are represented as a single refinement option.</li>\n </ul>\n\n Rendering a content search refinement UI typically begins with iterating the\n refinement definitions for the search result. Call\n <a href=\"class_dw_catalog_SearchRefinements.html#dw_catalog_SearchRefinements_getRefinementDefinitions_DetailAnchor\">SearchRefinements.getRefinementDefinitions()</a> or\n <a href=\"class_dw_catalog_SearchRefinements.html#dw_catalog_SearchRefinements_getAllRefinementDefinitions_DetailAnchor\">SearchRefinements.getAllRefinementDefinitions()</a> to\n retrieve the appropriate collection of refinement definitions. For each\n definition, display the available refinement values by calling\n <a href=\"class_dw_content_ContentSearchRefinements.html#dw_content_ContentSearchRefinements_getAllRefinementValues_ContentSearchRefinementDefinition_DetailAnchor\">getAllRefinementValues(ContentSearchRefinementDefinition)</a>. Depending\n on the type of the refinement definition, the application must use slightly\n different logic to display the refinement widgets. For all 2 types, methods\n in <a href=\"class_dw_content_ContentSearchModel.html\">ContentSearchModel</a> are used to generate URLs to render\n hyperlinks in the UI. When clicked, these links trigger a call to the Search\n pipelet which in turn applies the appropriate filters to the native search\n result.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.catalog.SearchRefinements"
            }
          ],
          "constants": {},
          "properties": {
            "folderRefinementDefinition": {
              "name": "folderRefinementDefinition",
              "class": {
                "name": "ContentSearchRefinementDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The appropriate folder refinement definition based on the search\n result. The folder refinement definition returned will be the first that\n can be found traversing the folder tree upward starting at the deepest\n common folder of the search result.",
              "deprecated": false,
              "type": "property"
            },
            "matchingFolders": {
              "name": "matchingFolders",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of matching folders.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllRefinementValues": {
              "name": "getAllRefinementValues",
              "args": [
                {
                  "name": "definition",
                  "description": "The refinement definition to return refinement values for.",
                  "class": {
                    "name": "ContentSearchRefinementDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of ContentSearchRefinementValue instances sorted according to the settings of the definition."
              },
              "description": "Returns a sorted collection of refinement values for the given refinement\n definition. The returned collection includes all refinement values for\n which the hit count is greater than 0 within the search result when the\n passed refinement definitions is excluded from filtering the search hits\n but all other refinement filters are still applied. This is useful for\n rendering broadening options for the refinement definitions that the\n search is already refined by. It is important to note that this method\n does NOT return refinement values independent of the search result.",
              "deprecated": false
            },
            "getFolderHits": {
              "name": "getFolderHits",
              "args": [
                {
                  "name": "folder",
                  "description": "Folder object.",
                  "class": {
                    "name": "Folder"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "Number of search hits."
              },
              "description": "Returns the number of search hits for the passed folder object.",
              "deprecated": false
            },
            "getFolderRefinementDefinition": {
              "name": "getFolderRefinementDefinition",
              "args": [],
              "class": {
                "name": "ContentSearchRefinementDefinition",
                "description": "The folder refinement definition or null if none can be found."
              },
              "description": "Returns the appropriate folder refinement definition based on the search\n result. The folder refinement definition returned will be the first that\n can be found traversing the folder tree upward starting at the deepest\n common folder of the search result.",
              "deprecated": false
            },
            "getMatchingFolders": {
              "name": "getMatchingFolders",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of matching folders."
              },
              "description": "Returns a collection of matching folders.",
              "deprecated": false
            },
            "getNextLevelFolderRefinementValues": {
              "name": "getNextLevelFolderRefinementValues",
              "args": [
                {
                  "name": "folder",
                  "description": "The folder to return child folder refinement values for.",
                  "class": {
                    "name": "Folder"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The refinement values for all child folders of the given folder."
              },
              "description": "Returns folder refinement values based on the current search result\n filtered such that only folder refinements representing children of the\n given folder are present. If no folder is given, the method uses the\n library's root folder. The refinement value content counts represent all\n hits contained in the library tree starting at the corresponding child\n folder.",
              "deprecated": false
            },
            "getRefinementValue": {
              "name": "getRefinementValue",
              "args": [
                {
                  "name": "definition",
                  "description": "The definition to return the refinement for.",
                  "class": {
                    "name": "ContentSearchRefinementDefinition"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The value to return the refinement value for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ContentSearchRefinementValue",
                "description": "The refinement value."
              },
              "description": "Returns the refinement value (incl. content hit count) for the given\n refinement definition and the given (selected) value.",
              "deprecated": false
            },
            "getRefinementValue0": {
              "name": "getRefinementValue",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The value to return the refinement value for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ContentSearchRefinementValue",
                "description": "The refinement value."
              },
              "description": "Returns the refinement value (incl. content hit count) for the given\n attribute refinement and the given (selected) value.",
              "deprecated": false
            },
            "getRefinementValues": {
              "name": "getRefinementValues",
              "args": [
                {
                  "name": "definition",
                  "description": "The refinement definition to return refinement values for.",
                  "class": {
                    "name": "ContentSearchRefinementDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of refinement values sorted according to the settings of the definition."
              },
              "description": "Returns a collection of refinement values for the given refinement\n definition. The returned refinement values only include those that are\n part of the actual search result (i.e. hit count will always be > 0).",
              "deprecated": false
            }
          }
        },
        "Folder": {
          "fullClassName": "dw.content.Folder",
          "package": "dw.content",
          "description": "Class representing a folder for organizing content assets in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "content": {
              "name": "content",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The content objects for this folder, sorted by position.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description for the folder as known in the current\n locale or null if it cannot be found.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name for the folder as known in the current\n locale or null if it cannot be found.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the folder. The ID can be used to uniquely\n identify a folder within any given library. This folder ID provides\n an alternative lookup mechanism for folders frequently used in\n the storefront.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates if the folder is set online or\n offline. Initially, all folders are set online.",
              "deprecated": false,
              "type": "property"
            },
            "onlineContent": {
              "name": "onlineContent",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The online content objects for this folder, sorted by position.",
              "deprecated": false,
              "type": "property"
            },
            "onlineSubFolders": {
              "name": "onlineSubFolders",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The online subfolders of this folder, sorted by position.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page description for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page keywords for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page title for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page URL for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false,
              "type": "property"
            },
            "parent": {
              "name": "parent",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The parent folder of this folder.",
              "deprecated": false,
              "type": "property"
            },
            "root": {
              "name": "root",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates if this is the root folder.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapChangeFrequency": {
              "name": "siteMapChangeFrequency",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The folder's sitemap change frequency.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapIncluded": {
              "name": "siteMapIncluded",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The folder's sitemap inclusion.",
              "deprecated": false,
              "type": "property"
            },
            "siteMapPriority": {
              "name": "siteMapPriority",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The folder's sitemap priority.",
              "deprecated": false,
              "type": "property"
            },
            "subFolders": {
              "name": "subFolders",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The subfolders of this folder, sorted by position.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the template used to render the folder\n in the store front.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the content objects for this folder, sorted by position."
              },
              "description": "Returns the content objects for this folder, sorted by position.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description for the folder as known in the current locale or null if it cannot be found."
              },
              "description": "Returns the description for the folder as known in the current\n locale or null if it cannot be found.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name for the folder as known in the current locale or null if it cannot be found."
              },
              "description": "Returns the display name for the folder as known in the current\n locale or null if it cannot be found.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the folder."
              },
              "description": "Returns the ID of the folder. The ID can be used to uniquely\n identify a folder within any given library. This folder ID provides\n an alternative lookup mechanism for folders frequently used in\n the storefront.",
              "deprecated": false
            },
            "getOnlineContent": {
              "name": "getOnlineContent",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the online content objects for this folder, sorted by position."
              },
              "description": "Returns the online content objects for this folder, sorted by position.",
              "deprecated": false
            },
            "getOnlineSubFolders": {
              "name": "getOnlineSubFolders",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the online subfolders of this folder, sorted by position."
              },
              "description": "Returns the online subfolders of this folder, sorted by position.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page description for this folder using the value in the current locale, or returns null if no value was found."
              },
              "description": "Returns the page description for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page keywords for this folder using the value in the current locale, or returns null if no value was found."
              },
              "description": "Returns the page keywords for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page title for this folder using the value in the current locale, or returns null if no value was found."
              },
              "description": "Returns the page title for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page URL for this folder using the value in the current locale, or returns null if no value was found."
              },
              "description": "Returns the page URL for this folder using the value in\n the current locale, or returns null if no value was found.",
              "deprecated": false
            },
            "getParent": {
              "name": "getParent",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the parent folder of this folder."
              },
              "description": "Returns the parent folder of this folder.",
              "deprecated": false
            },
            "getSiteMapChangeFrequency": {
              "name": "getSiteMapChangeFrequency",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the attribute 'siteMapChangeFrequency'."
              },
              "description": "Returns the folder's sitemap change frequency.",
              "deprecated": false
            },
            "getSiteMapIncluded": {
              "name": "getSiteMapIncluded",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapIncluded'."
              },
              "description": "Returns the folder's sitemap inclusion.",
              "deprecated": false
            },
            "getSiteMapPriority": {
              "name": "getSiteMapPriority",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the attribute 'siteMapPriority'."
              },
              "description": "Returns the folder's sitemap priority.",
              "deprecated": false
            },
            "getSubFolders": {
              "name": "getSubFolders",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the subfolders of this folder, sorted by position."
              },
              "description": "Returns the subfolders of this folder, sorted by position.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the template used to render the folder."
              },
              "description": "Returns the name of the template used to render the folder\n in the store front.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the folder is online, false otherwise."
              },
              "description": "Indicates if the folder is set online or\n offline. Initially, all folders are set online.",
              "deprecated": false
            },
            "isRoot": {
              "name": "isRoot",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is the root folder, false otherwise."
              },
              "description": "Indicates if this is the root folder.",
              "deprecated": false
            }
          }
        },
        "Library": {
          "fullClassName": "dw.content.Library",
          "package": "dw.content",
          "description": "Class representing a collection of <a href=\"class_dw_content_Content.html\">Content</a> assets, and a\n <a href=\"class_dw_content_Folder.html\">Folder</a> hierarchy organizing these content assets.\n Currently only one library is allowed per site. An instance of this library\n can be obtained by calling <a href=\"class_dw_content_ContentMgr.html#dw_content_ContentMgr_getSiteLibrary_DetailAnchor\">ContentMgr.getSiteLibrary()</a>.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "CMSChannelID": {
              "name": "CMSChannelID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The CMS channel of the library.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name for the library as known in the current\n locale or null if it cannot be found.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this library.",
              "deprecated": false,
              "type": "property"
            },
            "root": {
              "name": "root",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The root folder for this library.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCMSChannelID": {
              "name": "getCMSChannelID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the CMS channel of the library"
              },
              "description": "Returns the CMS channel of the library.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name for the library as known in the current locale or null if it cannot be found."
              },
              "description": "Returns the display name for the library as known in the current\n locale or null if it cannot be found.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of this library."
              },
              "description": "Returns the ID of this library.",
              "deprecated": false
            },
            "getRoot": {
              "name": "getRoot",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the root Folder for this library."
              },
              "description": "Returns the root folder for this library.",
              "deprecated": false
            }
          }
        },
        "MarkupText": {
          "fullClassName": "dw.content.MarkupText",
          "package": "dw.content",
          "description": "The class represents a content snippet with markup. This is typically a\n HTML content snippet. The class also processes the special links from\n Commerce Cloud Digital content management and automatically rewrites them into\n links for use in the storefront.\n <p>\n The following special links can be used inside of a MarkupText:\n\n </p><ul>\n <p>\n </p><li><code><b>$url('&lt;pipeline&gt;' [, '&lt;key1&gt;', '&lt;value1&gt;', '&lt;key2&gt;', '&lt;value2&gt;', ...])$</b></code></li>\n <p>\n <u>Description:</u><br>\n The <code>$url()$</code> function creates and absolute URL and retains the protocol incoming\n request.\n\n </p><p>\n <u>Example:</u><br>\n MarkupText:<br>\n &nbsp;&nbsp;&nbsp;<code>$url('MyLinkPipeline-Start', 'key1', 'value1', 'key2', 'value2')$</code><br>\n is rewritten to:<br>\n &nbsp;&nbsp;&nbsp;<code>http://&lt;host&gt;:&lt;port&gt;/on/demandware.store/&lt;current site&gt;/default/MyLinkPipeline-Start?key1=value1&amp;key2=value2</code><br>\n Note that the incoming protocol was http in the example above.\n\n\n </p><p>\n </p><li><code><b>$httpUrl('&lt;pipeline&gt;' [, '&lt;key1&gt;', '&lt;value1&gt;', '&lt;key2&gt;', '&lt;value2&gt;', ...])$</b></code></li>\n <p>\n <u>Description:</u><br>\n The <code>$httpUrl()$</code> function creates an absolute URL but always with the fix protocol\n \"http\". The protocol type of the incomming request is ignored.<br>\n\n </p><p>\n <u>Example:</u><br>\n MarkupText:<br>\n &nbsp;&nbsp;&nbsp;<code>$httpUrl('MyLinkPipeline-Start', 'key1', 'value1', 'key2', 'value2')$</code><br>\n is rewritten to:<br>\n &nbsp;&nbsp;&nbsp;<code>http://&lt;host&gt;:'&lt;port&gt;/on/demandware.store/&lt;current site&gt;/default/MyLinkPipeline-Start?key1=value1&amp;key2=value2</code>\n\n\n </p><p>\n </p><li><code><b>$httpsUrl('&lt;pipeline&gt;' [, '&lt;key1&gt;', '&lt;value1&gt;', '&lt;key2&gt;', '&lt;value2&gt;', ...])$</b></code></li>\n <p>\n <u>Description:</u><br>\n The <code>$httpsUrl()$</code> function creates an absolute URL but always with the fix protocol\n \"https\". The protocol type of the incomming request is ignored.\n\n </p><p>\n <u>Example:</u><br>\n MarkupText:<br>\n &nbsp;&nbsp;&nbsp;<code>$httpsUrl('MyLinkPipeline-Start', 'key1', 'value1', 'key2', 'value2')$</code><br>\n is rewritten to:<br>\n &nbsp;&nbsp;&nbsp;<code>https://&lt;host&gt;:&lt;port&gt;/on/demandware.store/&lt;current site&gt;/default/MyLinkPipeline-Start?key1=value1&amp;key2=value2</code>\n </p><p>\n\n </p><p>\n </p><li><code><b>$include('&lt;pipeline&gt;' [, '&lt;key1&gt;', '&lt;value1&gt;', '&lt;key2&gt;', '&lt;value2&gt;', ...])$</b></code></li>\n <p>\n <u>Description:</u><br>\n The <code>$include()$</code> function creates a relative URL which is post processed by the\n Commerce Cloud Digital Webadapter. The result is the content generated by the given pipeline call.\n\n </p><p>\n <u>Example:</u><br>\n MarkupText:<br>\n &nbsp;&nbsp;&nbsp;<code>$include('MyIncludePipeline-Start','key1', 'value1', 'key2' ,'value2')$</code><br>\n results in the content delivered by the 'MyIncludePipeline-Start' pipeline.\n\n\n </p><p>\n </p><li><code><b>...?$staticlink$</b></code></li>\n <p>\n <u>Description:</u><br>\n The <code>$staticlink$</code> function can be used to create a URL to a static resource\n (such as an image). The URL being generated depends on the owner of the MarkupText instance.\n For example, a product's long description (which is a MarkupText) will generate\n links to static resources within the catalog. Possible URL targets are catalogs\n (for catalog related objects like products and categories), the content library\n (for library related objects like folders and assets) or the organization\n (for all objects that are not catalog or library related).\n\n </p><p>\n <u>Example:</u><br>\n MarkupText: (owned by a content asset)<br>\n &nbsp;&nbsp;&nbsp;<code>&lt;img src=\"demo/content/bullet.gif?$staticlink$\"&gt;</code><br>\n is rewritten to:<br>\n &nbsp;&nbsp;&nbsp;<code>&lt;img src=\"/on/demandware.static/&lt;current site&gt;/&lt;library&gt;/default/v1178201405900/demo/content/bullet.gif\"&gt;</code>\n\n </p></ul>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "markup": {
              "name": "markup",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The content with all links rewritten for storefront use.",
              "deprecated": false,
              "type": "property"
            },
            "source": {
              "name": "source",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The original content source, without any links re-written.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getMarkup": {
              "name": "getMarkup",
              "args": [],
              "class": {
                "name": "String",
                "description": "the content with all links rewritten for storefront use."
              },
              "description": "Returns the content with all links rewritten for storefront use.",
              "deprecated": false
            },
            "getSource": {
              "name": "getSource",
              "args": [],
              "class": {
                "name": "String",
                "description": "the original content source, without any links re-written."
              },
              "description": "Returns the original content source, without any links re-written.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this class, the same as getMarkup()."
              },
              "description": "Returns a string representation of this class, the same as getMarkup().",
              "deprecated": false
            }
          }
        },
        "MediaFile": {
          "fullClassName": "dw.content.MediaFile",
          "package": "dw.content",
          "description": "This class represents references to media content (such as images)\n located within Commerce Cloud Digital or on external systems.<p>\n\n Parameter <code>transform</code>:</p><p>\n\n Some methods allow the specification of image transformation parameters. Image\n transformation is only performed if the Dynamic Imaging Service (DIS) is available\n for the Commerce Cloud Digital instance, otherwise a standard static content URL\n is returned. The to-be-transformed image needs to be hosted on Commerce Cloud\n Digital.</p><p>\n\n Image transformation parameters are specified as JavaScript object literal. They\n are translated into URL parameters. See <a href=\"https://documentation.b2c.commercecloud.salesforce.com/DOC1/topic/com.demandware.dochelp/content/b2c_commerce/topics/image_management/b2c_creating_image_transformation_urls.html\">Create Image Transformation URLs.</a></p><p>\n\n <table>\n <tbody><tr>\n     <th>Type of transformation</th>\n     <th>Parameters</th>\n     <th>Description</th>\n </tr>\n <tr>\n     <td>Scale an image</td>\n     <td>\n         <code>scaleWidth</code><br>\n         <code>scaleHeight</code><br>\n         <code>scaleMode</code>\n     </td>\n     <td>\n         The <code>scaleWidth</code> and <code>scaleHeight</code> parameters\n         are both integers; setting one of these parameters triggers a\n         scaling operation. If both are provided, the one that scales the\n         image less is used to calculate the scale factor. The image is then\n         automatically cropped accord to the second dimension, with a\n         centered position of the cropped area. If the parameter would scale\n         the image larger, only this operation is applied, if the image\n         remains within acceptable pixel dimensions.<p>\n\n         Note: <code>scaleMode</code> can only be used in combination with <code>scaleHeight</code> and <code>scaleWidth</code>.</p><p>\n\n         The <code>scaleMode</code> parameter can be set to <code>cut</code>\n         or <code>fit</code>. The default <code>scaleMode</code> is\n         <code>cut</code>, the behavior of which is explained above. If you\n         specify <code>fit</code> as the <code>scaleMode</code>, the system\n         scales the image into the given box of dimensions while keeping the\n         aspect ratio (possibly resulting in a smaller image in one\n         dimension).\n     </p></td>\n </tr>\n <tr>\n     <td>Overlay an image</td>\n     <td>\n         <code>imageX</code><br>\n         <code>imageY</code><br>\n         <code>imageURI</code>\n     </td>\n     <td>\n         The <code>imageX</code> and <code>imageY</code> parameters are both\n         integers. Valid values for these parameters are 0 or greater.<p>\n\n         Supported formats are <code>png</code>, <code>jpg</code>, <code>jp2</code>, and\n         <code>gif</code>.</p><p>\n\n         The <code>imageURI</code> parameter can be set to the absolute path\n         of the overlaid image. The value of the <code>imageURI</code>\n         parameter must be given in proper URL encoding, and it cannot exceed\n         400 characters in length. The path may include query string\n         parameters, which supports dynamically generating the overlaid image\n         itself through this service; that is, the overlaid image can itself\n         be a transformed image.</p><p>\n\n         If the overlaid image extends over the primary image's boundaries,\n         the overlaid image is cropped so that it fits directly over the\n         primary image.\n     </p></td>\n </tr>\n <tr>\n     <td>Crop an image</td>\n     <td>\n         <code>cropX</code><br>\n         <code>cropY</code><br>\n         <code>cropWidth</code><br>\n         <code>cropHeight</code>\n     </td>\n     <td>\n         The <code>cropX</code>, <code>cropY</code>, <code>cropWidth</code>,\n         <code>cropHeight</code> parameters are integers. All four parameters\n         must be specified to trigger a cropping operation.<p>\n\n         Valid values for the <code>cropX</code> and <code>cropY</code>\n         parameters are 0 or greater. If the crop location defined by\n         <code>cropX</code> and <code>cropY</code> is outside the image area,\n         nothing is cropped.</p><p>\n\n         Valid values for the <code>cropWidth</code> and\n         <code>cropHeight</code> parameters are 10 or greater. If the\n         <code>cropWidth</code> and <code>cropHeight</code> parameters\n         specify a size that is greater than the original image, the crop\n         area is reduced to the actual image area. If <code>cropWidth</code>\n         and <code>cropHeight</code> are 0 or less, no transformation is\n         applied.\n     </p></td>\n </tr>\n <tr>\n     <td>Format an image</td>\n     <td><code>format</code></td>\n     <td>\n         The <code>format</code> parameter specifies the target format of\n         image. Supported formats are <code>png</code>, <code>jpg</code>, <code>jp2</code>, and\n         <code>gif</code>. If no target format is specified, no format\n         conversion is performed.<p>\n\n         The attribute value must reference the source image. Source image's\n         format is recognized by the file extension which must be\n         <code>tif</code>, <code>tiff</code>, <code>jpg</code>,\n         <code>jpeg</code>, <code>png</code>, or <code>gif</code>.</p><p>\n\n         In the generated URL the file extension of the target format is used\n         in the URL path. This is to make sure the image is loaded from an\n         URL with a matching file extension. The source format is provided as\n         URL parameter.\n     </p></td>\n </tr>\n <tr>\n     <td>Adjust image compression quality</td>\n     <td><code>quality</code></td>\n     <td>\n         The <code>quality</code> parameter specifies a quality setting for <code>jpg</code> and <code>jp2</code> images,\n         and specifies the compression level for <code>png</code> images.<p>\n\n         For <code>jpg</code> and <code>jp2</code> images, you can set values from 1–100 for the highest quality.\n         The default quality is 80. If you're not changing the default quality, you don't need to pass in a value.</p><p>\n\n         For <code>png</code> images, the quality setting has no effect on the appearance of the <code>png</code>, since the compression is always lossless.\n         Instead you can use the quality setting to set the zlib compression level and filter-type for PNG images.\n         The tens digit sets the zlib compression level(1-9). The ones digit sets the filter type.</p><p>\n\n         If the <code>png</code> setting is not present or set to 0, it uses a default value of 75.\n         If this setting is set to 100, it actually equals the quality setting 90.\n     </p></td>\n </tr>\n <tr>\n     <td>Adjust Metadata stripping</td>\n     <td><code>strip</code></td>\n     <td>\n         The <code>strip</code> parameter specifies if metadata like EXIF and color profiles is\n         stripped from the image during transformation.<p>\n\n         Valid values for the <code>strip</code> parameter are between <code>true</code> and <code>false</code>.\n         The default is <code>true</code>\n     </p></td>\n </tr>\n <tr>\n     <td>Change background color</td>\n     <td><code>bgcolor(color) or bgcolor(color+alpha)</code></td>\n     <td>\n         The <code>bgcolor</code> parameter specifies the background color for images that support transparency\n         as well as JPEG images when being converted from a format that supports transparency.\n         Optionally, alpha setting for PNG images are also supported.<p>\n\n         <code>bgcolor</code> expects a 6 digit hexadecimal value of RGB with an optional\n         two hexadecimal characters representing alpha value that determines transparency.</p><p>\n\n         FF0000 = Red</p><p>\n\n         FF000077 = Red with 50% transparency</p><p>\n\n         Alpha values are optional. When the alpha value is omitted, the resulting color is opaque.\n         Alpha values are only valid when the image output format is PNG.\n     </p></td>\n </tr>\n </tbody></table>\n\n Example:</p><p>\n    The following code</p><p>\n    <code>var url = product.getImage('thumbnail', 0).getImageURL({scaleWidth: 100, format: 'jpg'});</code></p><p>\n    will produce an image transformation URL like</p><p>\n    <code>http://&lt;image server host name&gt;/.../on/demandware.static/.../&lt;path to image&gt;/image.jpg?sw=100&amp;sfrm=png</code>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "absURL": {
              "name": "absURL",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "An absolute URL to the referenced media file. The\n protocol for the reference is the current protocol of the current\n HTTP request.",
              "deprecated": false,
              "type": "property"
            },
            "alt": {
              "name": "alt",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The alternative text assigned to the media file in current\n requests locale. If no alternative text was assigned or if no defaulting\n rule was defined, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "httpsURL": {
              "name": "httpsURL",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "An absolute URL to the referenced media file. The\n protocol is https.",
              "deprecated": false,
              "type": "property"
            },
            "httpURL": {
              "name": "httpURL",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "An absolute URL to the referenced media file. The\n protocol is http.",
              "deprecated": false,
              "type": "property"
            },
            "title": {
              "name": "title",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The title assigned to the media file in current requests locale.\n If no title was assigned or if no defaulting rule was defined, the\n method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "url": {
              "name": "url",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "An URL to the referenced media file. The\n returned URL is a relative URL.",
              "deprecated": true,
              "type": "property"
            },
            "URL": {
              "name": "URL",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "An URL to the referenced media file. The\n returned URL is a relative URL.",
              "deprecated": false,
              "type": "property"
            },
            "viewType": {
              "name": "viewType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The view type annotation for the media file. The method returns\n null, if the media file has no view type annotation.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAbsImageURL": {
              "name": "getAbsImageURL",
              "args": [
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request. If the referenced media file is hosted externally, an URL to the external file is returned."
              },
              "description": "Returns an URL to the referenced image file. Image transformation\n can be applied to the image. The protocol for the reference is the\n current protocol of the current HTTP request.\n\n Image transformation can only be applied to images that are hosted on\n Commerce Cloud Digital.",
              "deprecated": false
            },
            "getAbsURL": {
              "name": "getAbsURL",
              "args": [],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol for the reference is the current protocol of the current HTTP request."
              },
              "description": "Returns an absolute URL to the referenced media file. The\n protocol for the reference is the current protocol of the current\n HTTP request.",
              "deprecated": false
            },
            "getAlt": {
              "name": "getAlt",
              "args": [],
              "class": {
                "name": "String",
                "description": "the alternative text annotated to this media file or null"
              },
              "description": "Returns the alternative text assigned to the media file in current\n requests locale. If no alternative text was assigned or if no defaulting\n rule was defined, the method returns null.",
              "deprecated": false
            },
            "getHttpImageURL": {
              "name": "getHttpImageURL",
              "args": [
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol is http. If the referenced media file is hosted externally, an URL to the external file is returned."
              },
              "description": "Returns an URL to the referenced image file. Image transformation\n can be applied to the image. The protocol is http.\n\n Image transformation can only be applied to images that are hosted on\n Commerce Cloud Digital.",
              "deprecated": false
            },
            "getHttpsImageURL": {
              "name": "getHttpsImageURL",
              "args": [
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol is https. If the referenced media file is hosted externally, an URL to the external file is returned."
              },
              "description": "Returns an URL to the referenced image file. Image transformation\n can be applied to the image. The protocol is https.\n\n Image transformation can only be applied to images that are hosted on\n Commerce Cloud Digital.",
              "deprecated": false
            },
            "getHttpsURL": {
              "name": "getHttpsURL",
              "args": [],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol is https."
              },
              "description": "Returns an absolute URL to the referenced media file. The\n protocol is https.",
              "deprecated": false
            },
            "getHttpURL": {
              "name": "getHttpURL",
              "args": [],
              "class": {
                "name": "URL",
                "description": "an absolute URL to the referenced media file. The protocol is http."
              },
              "description": "Returns an absolute URL to the referenced media file. The\n protocol is http.",
              "deprecated": false
            },
            "getImageURL": {
              "name": "getImageURL",
              "args": [
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL to the referenced media file. The returned URL is a relative URL. If the referenced media file is hosted externally, an URL to the external file is returned."
              },
              "description": "Returns an URL to the referenced image file. Image transformation\n can be applied to the image.\n\n Image transformation can only be applied to images that are hosted on\n Commerce Cloud Digital.",
              "deprecated": false
            },
            "getTitle": {
              "name": "getTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the title annotated to this media file or null"
              },
              "description": "Returns the title assigned to the media file in current requests locale.\n If no title was assigned or if no defaulting rule was defined, the\n method returns null.",
              "deprecated": false
            },
            "getUrl": {
              "name": "getUrl",
              "args": [],
              "class": {
                "name": "URL",
                "description": "an URL to the referenced media file. The returned URL is a relative URL."
              },
              "description": "Returns an URL to the referenced media file. The\n returned URL is a relative URL.",
              "deprecated": true
            },
            "getURL": {
              "name": "getURL",
              "args": [],
              "class": {
                "name": "URL",
                "description": "an URL to the referenced media file. The returned URL is a relative URL."
              },
              "description": "Returns an URL to the referenced media file. The\n returned URL is a relative URL.",
              "deprecated": false
            },
            "getViewType": {
              "name": "getViewType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the view type annotated to this media file or null"
              },
              "description": "Returns the view type annotation for the media file. The method returns\n null, if the media file has no view type annotation.",
              "deprecated": false
            }
          }
        }
      },
      "crypto": {
        "CertificateRef": {
          "fullClassName": "dw.crypto.CertificateRef",
          "package": "dw.crypto",
          "description": "This class is used as a reference to a certificate in the keystore\n which can be managed in the Business Manager.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "CertificateRef": {
              "name": "CertificateRef",
              "args": [
                {
                  "name": "alias",
                  "description": "an alias that should refer to a certificate in the keystore.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a CertificateRef from the passed alias. No check\n is made whether the alias is actually referring to a certificate in the keystore,\n this check is made when the CertificateRef is used.",
              "deprecated": false
            }
          },
          "methods": {
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "The string representation of this CertificateRef."
              },
              "description": "Returns the string representation of this CertificateRef.",
              "deprecated": false
            }
          }
        },
        "Cipher": {
          "fullClassName": "dw.crypto.Cipher",
          "package": "dw.crypto",
          "description": "This class allows access to encryption services offered through the Java\n Cryptography Architecture (JCA). At this time the implementation of the\n encryption/decryption methods is based on the default JCE provider of the JDK.\n See the Java documentation for a reference guide to the underlying security\n provider and information about the Secure Sockets Extension. <p>\n You can find a good overview of the essential purposes of cryptography and\n some common implementations in the Wikipedia article on cryptography.\n Also see the website of the National Institute of Standards and Technology.\n The format of various files used to hold keys, certificate signing requests,\n and the like, as well as some related algorithms, are defined in the PKCS series of\n documents published by RSALabs (the research arm of RSA Security).</p><p>\n Many internet standards documenting security protocols and concepts are described\n in documents originally described as \"Request For Comment\" and thus widely known\n as RFCs. Many of them are available on the Internet FAQ Archives website.</p><p>\n\n dw.crypto.Cipher is intentionally an Adapter to the full cryptography power supplied\n in the security provider implementation.\n </p><p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3 requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CHAR_ENCODING": {
              "name": "CHAR_ENCODING",
              "value": "\"UTF8\"",
              "class": {
                "name": "String"
              },
              "description": "Strings containing keys, plain texts, cipher texts etc. are internally\n converted into byte arrays using this encoding (currently UTF8).",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "Cipher": {
              "name": "Cipher",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "decrypt": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded cipher bytes",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "When using a symmetric cryptographic algorithm, use the same key to encrypt and decrypt. If the cryptographic algorithm is symmetric (for example, AES) or asymmetric (for example, RSA), the key needs to be passed as a base64-encoded string. The only exception is the symmetric cryptographic algorithms Password Based Encryption (PBE). With PBE the key needs to be passed as plain string (without any encoding).",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation has to be in \"algorithm/mode/padding\" format. See the corresponding encrypt method for supported transformations.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm, this might be a Binary Salt or AlgorithmParameter or InitializationVector (see the corresponding encrypt method for details). Should be appropriate for the algorithm being used. If this value is null, a default initialization value will be used by the engine. The same value used to Encrypt needs to be supplied to the Decrypt function for many algorithms to successfully decrypt the data, so it is best practice to specify an appropriate value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key. This is only applicable for some types of algorithm. Password Based Encryption (PBE) algorithms use this parameter, and Block Encryption algorithms do not. If this value is relevant to the algorithm it would be best practice to supply it, as the same value would be needed to decrypt the data that was used to encrypt the data.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Decrypts the passed Base-64 encoded message using the passed key and\n applying the transformations described by the passed parameters.\n \n Decryption is the process of getting back the original data from the\n cipher-text using a decryption key.",
              "deprecated": false
            },
            "decrypt0": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "(see decrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "A reference to a private key in the key store.",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see decrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see decrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see decrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "(see decrypt(String, String, String, String, Number))"
              },
              "description": "Alternative method to decrypt(String, String, String, String, Number), which allows\n to use a key in the keystore for the decryption.\n\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.",
              "deprecated": false
            },
            "decrypt01": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded cipher bytes",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "When using a symmetric cryptographic algorithm, use the same key to encrypt and decrypt. If the cryptographic algorithm is symmetric (for example, AES) or asymmetric (for example, RSA), the key needs to be passed as a base64-encoded string. The only exception is the symmetric cryptographic algorithms Password Based Encryption (PBE). With PBE the key needs to be passed as plain string (without any encoding).",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation has to be in \"algorithm/mode/padding\" format. See the corresponding encrypt method for supported transformations.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm, this might be a Binary Salt or AlgorithmParameter or InitializationVector (see the corresponding encrypt method for details). Should be appropriate for the algorithm being used. The same value used to Encrypt needs to be supplied to the Decrypt function for many algorithms to successfully decrypt the data, so it is best practice to specify an appropriate value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key. This is only applicable for some types of algorithm. Password Based Encryption (PBE) algorithms use this parameter, and Block Encryption algorithms do not. If this value is relevant to the algorithm it would be best practice to supply it, as the same value would be needed to decrypt the data that was used to encrypt the data.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Decrypts the passed Base-64 encoded message using the passed key and\n applying the transformations described by the passed parameters.\n \n Decryption is the process of getting back the original data from the\n cipher-text using a decryption key.",
              "deprecated": false
            },
            "decrypt012": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "(see decrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "A reference to a private key in the key store.",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see decrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see decrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see decrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "(see decrypt_3(String, String, String, String, Number))"
              },
              "description": "Alternative method to decrypt_3(String, String, String, String, Number), which allows\n to use a key in the keystore for the decryption.\n\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.",
              "deprecated": false
            },
            "decryptBytes": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "The bytes to decrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The key to use for decryption.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation used to originally encrypt.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "the salt or IV to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "the iterations to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The decrypted bytes."
              },
              "description": "Lower-level decryption API. Decrypts the passed bytes using the specified\n key and applying the transformations described by the specified\n parameters.\n \n Typical usage:\n\n  var base64Msg : String = \"some_encoded_encrypted_message\";\n var charset : String = \"UTF8\";  // or \"windows-1252\", etc.\n\n var encryptedBytes : Bytes = Encoding.fromBase64(base64Msg);\n var messageBytes : Bytes = Cipher.decryptBytes(encryptedBytes, key, transformation, salt, iterations);\n var message : String = messageBytes.toString(charset);",
              "deprecated": false
            },
            "decryptBytes0": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "(see decryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "A reference to a private key in the key store.",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see decryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see decryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see decryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "(see decryptBytes(Bytes, String, String, String, Number))"
              },
              "description": "Alternative method to decryptBytes(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the decryption.",
              "deprecated": false
            },
            "decryptBytes01": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "The bytes to decrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The key to use for decryption.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation used to originally encrypt.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "the salt or IV to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "the iterations to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The decrypted bytes."
              },
              "description": "Lower-level decryption API. Decrypts the passed bytes using the specified\n key and applying the transformations described by the specified\n parameters.\n \n Typical usage:\n\n  var base64Msg : String = \"some_encoded_encrypted_message\";\n var charset : String = \"UTF8\";  // or \"windows-1252\", etc.\n\n var encryptedBytes : Bytes = Encoding.fromBase64(base64Msg);\n var messageBytes : Bytes = Cipher.decryptBytes(encryptedBytes, key, transformation, salt, iterations);\n var message : String = messageBytes.toString(charset);",
              "deprecated": false
            },
            "decryptBytes012": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "(see decryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "A reference to a private key in the key store.",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see decryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see decryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see decryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "(see decryptBytes_3(Bytes, String, String, String, Number))"
              },
              "description": "Alternative method to decryptBytes_3(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the decryption.",
              "deprecated": false
            },
            "encrypt": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "A string to encrypt (will be first converted with UTF-8 encoding into a byte stream)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "A string ready for use with the algorithm. The key's format depends on the algorithm specified and the keys are assumed to be correctly formulated for the algorithm used, for example that the lengths are correct. Keys are not checked for validity. The cryptographic algorithms can be partitioned into symmetric and asymmetric (or public key/private key). Symmetric algorithms include password-based algorithms. Symmetric keys are usually a base64-encoded array of bytes. Asymmetric keys are \"key pairs\" with a public key and a private key. To encrypt using asymmetric algorithms, provide the public key. To decrypt using asymmetric algorithms, provide the private key from the same pair in PKCS#8 format, base64-encoded. See class documentation on how to generate a key pair. If the cryptographic algorithm is symmetric (for example, AES) or asymmetric (for example, RSA), the key needs to be passed as a base64-encoded string. The only exception is the symmetric cryptographic algorithms Password Based Encryption (PBE). With PBE the key needs to be passed as plain string (without any encoding).",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation has to be in \"algorithm/mode/padding\" format. Symmetric or \"secret key\" algorithms use the same key to encrypt and to decrypt the data. Asymmetric or \"public key\" cryptography uses a public/private key pair, and then publishes the public key. Only the holder of the private key will be able to decrypt. The public key and private key are also known as a \"key pair\". Supported Symmetric transformations include:  \"AES\" or Rijndael, Advanced Encryption Standard as specified by NIST AES with key length of 256 is the preferred choice for symmetric encryption Keysizes: 128, 192, or 256 Modes: \"ECB\",\"CBC\",\"PCBC\",\"CTR\",\"CTS\",\"CFB\",\"CFB8\",\"CFB16\",\"CFB24\"..\"CFB64\", \"OFB\",\"OFB8\",\"OFB16\",\"OFB24\"..\"OFB64\" Padding: \"PKCS5Padding\"   Note that ARCFOUR, Blowfish, DES, RC2, DESede, DESedeWrap, PBEWithMD5AndDES, PBEWithMD5AndTripleDES1, PBEWithSHA1AndDESede and PBEWithSHA1AndRC2_40 transformations have been deprecated. Also, PKCS5Padding is the only supported Padding. NOPADDING and ISO10126PADDING have been deprecated. Supported Asymmetric transformations include:  \"RSA\" Mode: \"ECB\" Padding: \"OAEPWITHSHA-256ANDMGF1PADDING\", \"OAEPWITHSHA-384ANDMGF1PADDING\", \"OAEPWITHSHA-512ANDMGF1PADDING\"   Note that for RSA the key length should be at least 2048 bits. Also, the following Padding options have been deprecated: NOPADDING, PKCS1PADDING, OAEPWITHMD5ANDMGF1PADDING, OAEPWITHSHA1ANDMGF1PADDING and OAEPWITHSHA-1ANDMGF1PADDING.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm, this might be a Binary Salt or AlgorithmParameter or InitializationVector. (As binary values cannot be passed, the equivalent Base64 String should be passed for any binary salt value). Should be appropriate for the algorithm being used. If this value is null, a default initialization value will be used by the engine. The same value used to Encrypt needs to be supplied to the Decrypt function for many algorithms to successfully decrypt the data, so it is best practice to specify an appropriate value. Requirements for the size and generation of DES initialization vectors (IV) are derived from FIPS 74 and FIPS 81 from the National Institute of Standards and Technology. CBC mode requires an IV with length 64 bits; CFB uses 48-64 bits; OFB uses 64 bits. If the IV is to be used with DES in the OFB mode, then it is not acceptable for the IV to remain fixed for multiple encryptions, if the same key is used for those encryptions. For Block Encryption algorithms this is the encoded Base64 String equivalent to the a random number to use as a \"salt\" to use with the algorithm. The algorithm must contain a Feedback Mode other than ECB. This must be a binary value that is exactly the same size as the algorithm block size. RC5 uses an optional 8-byte initialization vector (IV), but only in feedback mode (see CFB above). For Password Based Encryption algorithms, the salt is the encoded Base64 String equivalent to a random number value to transform the password into a key. PBE derives an encryption key from a password. In order to make the task of getting from password to key very time-consuming for an attacker, most PBE implementations will mix in a random number, known as a salt, to create the key. The salt value and the iteration count are then combined into a PBEParameterSpecification to initialize the cipher.  The PKCS#5 spec from RSA Labs defines the parameters for password-based encryption (PBE). The RSA algorithm requires a salt with length as defined in PKCS#1. DSA has a specific initialization that uses three integers to build a DSAParameterSpec (a prime, a sub-prime and a base). To use this algorithm you should use the JCE or another provider to supply a DSAParameterSpec and then supply the Base64 equivalent string as the \"salt\". Please see the documentation from the provider for additional restrictions.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key. This is only applicable for some types of algorithm. Password Based Encryption (PBE) algorithms use this parameter, and Block Encryption algorithms do not. If this value is relevant to the algorithm it would be best practice to supply it, as the same value would be needed to decrypt the data.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the encrypted message encoded as a String using base 64 encoding."
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n \n Encryption is the process of converting normal data or plain text to\n something incomprehensible or cipher-text by applying transformations,\n which are the operation (or set of operations) to be performed on given input\n to produce some output. A transformation always includes the name of a\n cryptographic algorithm (for example, RSA) and may be followed by a mode and padding scheme.\n The supported algorithms are listed in the parameter description below.\n The cryptographic algorithms can be partitioned into symmetric\n and asymmetric (or public key/private key).\n\n Symmetric or \"secret key\" algorithms use the same key to encrypt\n and to decrypt the data. Symmetric algorithms are what most people think\n of as codes: using a well-known algorithm and a secret key to encode information,\n which can be decoded using the same algorithm and the same key. The algorithm\n is not secret, the secrecy is inherent to guarding the key. A significant\n problem with symmetric ciphers is that it is difficult to transfer the keys\n themselves securely. Symmetric algorithms include password-based algorithms.\n AES with key length of 256 bits is the preferred choice for symmetric encryption going forward.\n Please consider switching to it if you are using any other scheme or if using AES with a\n shorter key length. The rest of the symmetric algorithms will be deprecated in the future.\n\n Asymmetric or \"public key\" cryptography uses a public/private key pair, and then publishes the public key.\n Only the holder of the private key will be able to decrypt.\n The public key and private key together are also called a \"key pair\".\n Data encrypted with one key can only be decrypted using the other key\n from the pair, and it is not possible to deduce one key from the other.\n This helps to solve the key distribution problem since it is possible to\n publicise one of the keys widely (the \"public key\") and keep the other\n a closely guarded secret (the \"private key\"). Many partners can then\n send data encrypted with the public key, but only the holder of the\n corresponding private key can decrypt it.\n\n  Key pairs for asymmetric ciphers can be generated with an arbitrary tool.\n  One of the most popular options is the open source tool OpenSSL.\n  OpenSSL has a command-line syntax and is available on major platforms.\n  The following steps are involved in creating an RSA key pair:\n  \n  1. openssl genrsa -out rsaprivatekey.pem 2048\n  2. openssl rsa -in rsaprivatekey.pem -out publickey.pem -pubout\n  3. openssl pkcs8 -topk8 -in rsaprivatekey.pem -out privatekey.pem -nocrypt\n\n  1. Generates an RSA private key with keylength of 2048 bits. Store this key in a safe place.\n  2. Generates a public key from the private key. You use the public key to encrypt messages with Cipher.encrypt. OpenSSL saves the key PEM-encoded; this means the key is saved with a base64 encoding. After you removed the header and footer lines you can pass the content directly to the API method.\n  3. Generates a private key in PKCS#8 format. You use that key to decrypt messages with Cipher.decrypt. OpenSSL saves the key PEM-encoded; this means the key is saved with a base64 encoding. After you removed the header and footer lines you can pass the content directly to the API method.\n Modes\n  The following modes of operation are block cipher operations that\n     are used with some algorithms.\n          \n          \"NONE\" no mode\n          \"CBC\" Cipher Block Chaining (defined in FIPS PUB 81)\n          \"CTR\" Counter mode or Segmented Integer Counter mode (defined in FIPS PUB 81)\n          \"CTS\" CipherText Streaming mode\n          \"CFB\" Cipher Feedback Mode,  can be referred to with key\n          length referenced as \"CFB8\",\"CFB16\",\"CFB24\"..\"CFB64\" (defined in FIPS PUB 81)\n          \"ECB\" Electronic Cook book  as defined in: The National\n          Institute of Standards and Technology (NIST) Federal Information\n          Processing Standard (FIPS) PUB 81, \"DES Modes of Operation,\"\n          U.S. Department of Commerce, Dec 1980.\n          \"OFB\" Output Feedback Mode, can be referred to with key\n          length referenced as \"OFB8\",\"OFB16\",\"OFB24\"..\"OFB64\" (defined in FIPS PUB 81)\n          \"PCBC\" Propagating Cipher Block Chaining (defined in Kerberos V4)\n          \nPaddings\n          \n          \"NoPadding\": No padding.\n          OAEPWith<digest>And<mgf>Padding: Optimal Asymmetric Encryption\n          Padding scheme defined in PKCS#1, where <digest> should be replaced\n          by the message digest and <mgf> by the mask generation function.\n          Examples: OAEPWITHSHA-256ANDMGF1PADDING,\n          OAEPWITHSHA-384ANDMGF1PADDING, OAEPWITHSHA-512ANDMGF1PADDING\n          ISO10126PADDING: the ISO10126-2:1991 DEA padding scheme\n          PKCS1Padding: Public Key Cryptography Standard #1, a standard\n          for padding from RSA Laboratories that can encrypt messages up\n          to 11 bytes smaller than the modulus size in bytes.\n          PKCS5Padding: Public Key Cryptography Standard #1, a standard\n          for padding from RSA Laboratories, \"PKCS#5: Password-Based Encryption Standard,\" version 1.5, November 1993.\n          SSL3Padding: The padding scheme defined in the SSL Protocol Version 3.0, November 18, 1996, section 5.2.3.2 (CBC block cipher)",
              "deprecated": false
            },
            "encrypt0": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "(see encrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A reference to a public key in the key store.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see encrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see encrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see encrypt(String, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "(see encrypt(String, String, String, String, Number))"
              },
              "description": "Alternative method to\n encrypt(String, String, String, String, Number), which allows you to\n use a key in the keystore for encryption.\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.\n \n \n For asymmetric algorithms a private/public key pair is required.\n Commerce Cloud Digital only allows you to add private keys in the format *.p12 and *.pfx.\n You can assign private keys an extra password in Business Manager. Public keys\n can only be imported as trusted certificates in the format *.crt, *.pem,\n *.der, and *.cer.\n \n Key pairs for asymmetric ciphers can be generated with an arbitrary tool.\n One of the most popular options is the open source tool OpenSSL.\n OpenSSL has a command-line syntax and is available on major platforms.\n The following steps are involved in creating an RSA key pair:\n \n 1. Generate a public and a non-protected private key ( *.crt and *.key ).< br/>\n openssl req -x509 -newkey rsa:2048 -keyout nopass.key -out nopass.crt -days 365 -nodes\n 2. Generate a keystore that contains the public and private keys ( *.p12 ). < br/>\n openssl pkcs12 -export -out nopass.p12 -inkey nopass.key -in nopass.crt\n \n To import a private or public key into the Digital keystore, navigate to\n Administration > Operations > Private Keys and Certificates\n Use a .p12 file to import a private key and a *.crt to import a public key.\n \n Typical usage:\n\n  var plain : String = \"some_plain_text\";\n var publicKeyRef = new CertificateRef(\"rsa-certificate-2048\");\n var cipher : Cipher = new Cipher();\n var encrypted : String = cipher.encrypt(plain, publicKeyRef, \"RSA\", null, 0);",
              "deprecated": false
            },
            "encrypt01": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "A string to encrypt (will be first converted with UTF-8 encoding into a byte stream)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "A string ready for use with the algorithm. The key's format depends on the algorithm specified and the keys are assumed to be correctly formulated for the algorithm used, for example that the lengths are correct. Keys are not checked for validity. The cryptographic algorithms can be partitioned into symmetric and asymmetric (or public key/private key). Symmetric algorithms include password-based algorithms. Symmetric keys are usually a base64-encoded array of bytes. Asymmetric keys are \"key pairs\" with a public key and a private key. To encrypt using asymmetric algorithms, provide the public key. To decrypt using asymmetric algorithms, provide the private key from the same pair in PKCS#8 format, base64-encoded. See class documentation on how to generate a key pair. If the cryptographic algorithm is symmetric (for example, AES) or asymmetric (for example, RSA), the key needs to be passed as a base64-encoded string. The only exception is the symmetric cryptographic algorithms Password Based Encryption (PBE). With PBE the key needs to be passed as plain string (without any encoding).",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation has to be in \"algorithm/mode/padding\" format. Symmetric or \"secret key\" algorithms use the same key to encrypt and to decrypt the data. Asymmetric or \"public key\" cryptography uses a public/private key pair, and then publishes the public key. Only the holder of the private key will be able to decrypt. The public key and private key are also known as a \"key pair\". Supported Symmetric transformations include:  \"AES\" or Rijndael, Advanced Encryption Standard as specified by NIST AES with key length of 256 is the preferred choice for symmetric encryption Keysizes: 128, 192, or 256 Modes: \"ECB\",\"CBC\",\"PCBC\",\"CTR\",\"CTS\",\"CFB\",\"CFB8\",\"CFB16\",\"CFB24\"..\"CFB64\", \"OFB\",\"OFB8\",\"OFB16\",\"OFB24\"..\"OFB64\" Padding: \"PKCS5Padding\"   Note that ARCFOUR, Blowfish, DES, RC2, DESede, DESedeWrap, PBEWithMD5AndDES, PBEWithMD5AndTripleDES1, PBEWithSHA1AndDESede and PBEWithSHA1AndRC2_40 transformations have been deprecated. Also, PKCS5Padding is the only supported Padding. NOPADDING and ISO10126PADDING have been deprecated. Supported Asymmetric transformations include:  \"RSA\" Mode: \"ECB\" Padding: \"OAEPWITHSHA-256ANDMGF1PADDING\", \"OAEPWITHSHA-384ANDMGF1PADDING\", \"OAEPWITHSHA-512ANDMGF1PADDING\"   Note that for RSA the key length should be at least 2048 bits. Also, the following Padding options have been deprecated: NOPADDING, PKCS1PADDING, OAEPWITHMD5ANDMGF1PADDING, OAEPWITHSHA1ANDMGF1PADDING and OAEPWITHSHA-1ANDMGF1PADDING.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm, this might be a Binary Salt or AlgorithmParameter or InitializationVector. (As binary values cannot be passed, the equivalent Base64 String should be passed for any binary salt value). Should be appropriate for the algorithm being used. The same value used to Encrypt needs to be supplied to the Decrypt function for many algorithms to successfully decrypt the data, so it is best practice to specify an appropriate value. Requirements for the size and generation of DES initialization vectors (IV) are derived from FIPS 74 and FIPS 81 from the National Institute of Standards and Technology. CBC mode requires an IV with length 64 bits; CFB uses 48-64 bits; OFB uses 64 bits. If the IV is to be used with DES in the OFB mode, then it is not acceptable for the IV to remain fixed for multiple encryptions, if the same key is used for those encryptions. For Block Encryption algorithms this is the encoded Base64 String equivalent to the a random number to use as a \"salt\" to use with the algorithm. The algorithm must contain a Feedback Mode other than ECB. This must be a binary value that is exactly the same size as the algorithm block size. RC5 uses an optional 8-byte initialization vector (IV), but only in feedback mode (see CFB above). For Password Based Encryption algorithms, the salt is the encoded Base64 String equivalent to a random number value to transform the password into a key. PBE derives an encryption key from a password. In order to make the task of getting from password to key very time-consuming for an attacker, most PBE implementations will mix in a random number, known as a salt, to create the key. The salt value and the iteration count are then combined into a PBEParameterSpecification to initialize the cipher.  The PKCS#5 spec from RSA Labs defines the parameters for password-based encryption (PBE). The RSA algorithm requires a salt with length as defined in PKCS#1. DSA has a specific initialization that uses three integers to build a DSAParameterSpec (a prime, a sub-prime and a base). To use this algorithm you should use the JCE or another provider to supply a DSAParameterSpec and then supply the Base64 equivalent string as the \"salt\". Please see the documentation from the provider for additional restrictions.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key. This is only applicable for some types of algorithm. Password Based Encryption (PBE) algorithms use this parameter, and Block Encryption algorithms do not. If this value is relevant to the algorithm it would be best practice to supply it, as the same value would be needed to decrypt the data.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the encrypted message encoded as a String using base 64 encoding."
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n \n Encryption is the process of converting normal data or plain text to\n something incomprehensible or cipher-text by applying transformations,\n which are the operation (or set of operations) to be performed on given input\n to produce some output. A transformation always includes the name of a\n cryptographic algorithm (for example, RSA) and may be followed by a mode and padding scheme.\n The supported algorithms are listed in the parameter description below.\n The cryptographic algorithms can be partitioned into symmetric\n and asymmetric (or public key/private key).\n\n Symmetric or \"secret key\" algorithms use the same key to encrypt\n and to decrypt the data. Symmetric algorithms are what most people think\n of as codes: using a well-known algorithm and a secret key to encode information,\n which can be decoded using the same algorithm and the same key. The algorithm\n is not secret, the secrecy is inherent to guarding the key. A significant\n problem with symmetric ciphers is that it is difficult to transfer the keys\n themselves securely. Symmetric algorithms include password-based algorithms.\n AES with key length of 256 bits is the preferred choice for symmetric encryption going forward.\n Please consider switching to it if you are using any other scheme or if using AES with a\n shorter key length. The rest of the symmetric algorithms will be deprecated in the future.\n\n Asymmetric or \"public key\" cryptography uses a public/private key pair, and then publishes the public key.\n Only the holder of the private key will be able to decrypt.\n The public key and private key together are also called a \"key pair\".\n Data encrypted with one key can only be decrypted using the other key\n from the pair, and it is not possible to deduce one key from the other.\n This helps to solve the key distribution problem since it is possible to\n publicise one of the keys widely (the \"public key\") and keep the other\n a closely guarded secret (the \"private key\"). Many partners can then\n send data encrypted with the public key, but only the holder of the\n corresponding private key can decrypt it.\n\n  Key pairs for asymmetric ciphers can be generated with an arbitrary tool.\n  One of the most popular options is the open source tool OpenSSL.\n  OpenSSL has a command-line syntax and is available on major platforms.\n  The following steps are involved in creating an RSA key pair:\n  \n  1. openssl genrsa -out rsaprivatekey.pem 2048\n  2. openssl rsa -in rsaprivatekey.pem -out publickey.pem -pubout\n  3. openssl pkcs8 -topk8 -in rsaprivatekey.pem -out privatekey.pem -nocrypt\n\n  1. Generates an RSA private key with keylength of 2048 bits. Store this key in a safe place.\n  2. Generates a public key from the private key. You use the public key to encrypt messages with Cipher.encrypt. OpenSSL saves the key PEM-encoded; this means the key is saved with a base64 encoding. After you removed the header and footer lines you can pass the content directly to the API method.\n  3. Generates a private key in PKCS#8 format. You use that key to decrypt messages with Cipher.decrypt. OpenSSL saves the key PEM-encoded; this means the key is saved with a base64 encoding. After you removed the header and footer lines you can pass the content directly to the API method.\n Modes\n  The following modes of operation are block cipher operations that\n     are used with some algorithms.\n          \n          \"NONE\" no mode\n          \"CBC\" Cipher Block Chaining (defined in FIPS PUB 81)\n          \"CTR\" Counter mode or Segmented Integer Counter mode (defined in FIPS PUB 81)\n          \"CTS\" CipherText Streaming mode\n          \"CFB\" Cipher Feedback Mode,  can be referred to with key\n          length referenced as \"CFB8\",\"CFB16\",\"CFB24\"..\"CFB64\" (defined in FIPS PUB 81)\n          \"ECB\" Electronic Cook book  as defined in: The National\n          Institute of Standards and Technology (NIST) Federal Information\n          Processing Standard (FIPS) PUB 81, \"DES Modes of Operation,\"\n          U.S. Department of Commerce, Dec 1980.\n          \"OFB\" Output Feedback Mode, can be referred to with key\n          length referenced as \"OFB8\",\"OFB16\",\"OFB24\"..\"OFB64\" (defined in FIPS PUB 81)\n          \"PCBC\" Propagating Cipher Block Chaining (defined in Kerberos V4)\n          \nPaddings\n          \n          \"NoPadding\": No padding.\n          OAEPWith<digest>And<mgf>Padding: Optimal Asymmetric Encryption\n          Padding scheme defined in PKCS#1, where <digest> should be replaced\n          by the message digest and <mgf> by the mask generation function.\n          Examples: OAEPWITHSHA-256ANDMGF1PADDING,\n          OAEPWITHSHA-384ANDMGF1PADDING, OAEPWITHSHA-512ANDMGF1PADDING\n          ISO10126PADDING: the ISO10126-2:1991 DEA padding scheme\n          PKCS1Padding: Public Key Cryptography Standard #1, a standard\n          for padding from RSA Laboratories that can encrypt messages up\n          to 11 bytes smaller than the modulus size in bytes.\n          PKCS5Padding: Public Key Cryptography Standard #1, a standard\n          for padding from RSA Laboratories, \"PKCS#5: Password-Based Encryption Standard,\" version 1.5, November 1993.\n          SSL3Padding: The padding scheme defined in the SSL Protocol Version 3.0, November 18, 1996, section 5.2.3.2 (CBC block cipher)",
              "deprecated": false
            },
            "encrypt012": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "(see encrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A reference to a public key in the key store.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see encrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see encrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see encrypt_3(String, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "(see encrypt_3(String, String, String, String, Number))"
              },
              "description": "Alternative method to\n encrypt_3(String, String, String, String, Number), which allows you to\n use a key in the keystore for encryption.\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.\n \n \n For asymmetric algorithms a private/public key pair is required.\n Commerce Cloud Digital only allows you to add private keys in the format *.p12 and *.pfx.\n You can assign private keys an extra password in Business Manager. Public keys\n can only be imported as trusted certificates in the format *.crt, *.pem,\n *.der, and *.cer.\n \n Key pairs for asymmetric ciphers can be generated with an arbitrary tool.\n One of the most popular options is the open source tool OpenSSL.\n OpenSSL has a command-line syntax and is available on major platforms.\n The following steps are involved in creating an RSA key pair:\n \n 1. Generate a public and a non-protected private key ( *.crt and *.key ).< br/>\n openssl req -x509 -newkey rsa:2048 -keyout nopass.key -out nopass.crt -days 365 -nodes\n 2. Generate a keystore that contains the public and private keys ( *.p12 ). < br/>\n openssl pkcs12 -export -out nopass.p12 -inkey nopass.key -in nopass.crt\n \n To import a private or public key into the Digital keystore, navigate to\n Administration > Operations > Private Keys and Certificates\n Use a .p12 file to import a private key and a *.crt to import a public key.\n \n Typical usage:\n\n  var plain : String = \"some_plain_text\";\n var publicKeyRef = new CertificateRef(\"rsa-certificate-2048\");\n var cipher : Cipher = new Cipher();\n var encrypted : String = cipher.encrypt(plain, publicKeyRef, \"RSA\", null, 0);",
              "deprecated": false
            },
            "encryptBytes": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "The bytes to encrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The key to use for encryption.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation to apply.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "the encrypted bytes."
              },
              "description": "Lower-level encryption API. Encrypts the passed bytes by using the\n specified key and applying the transformations described by the specified\n parameters.\n \n Typical usage:\n\n  var message : String = \"some_message\";\n var charset : String = \"UTF8\"; // or \"windows-1252\", etc.\n\n // encrypt the message\n var messageBytes : Bytes = new Bytes(message, charset);\n var encryptedBytes : Bytes = Cipher.encryptBytes(messageBytes, key, transformation, salt, iterations);\n var encrypted : String = Encoding.toBase64(encryptedBytes);",
              "deprecated": false
            },
            "encryptBytes0": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "(see encryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A reference to a public key in the key store.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see encryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see encryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see encryptBytes(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "(see encryptBytes(Bytes, String, String, String, Number))"
              },
              "description": "Alternative method to encryptBytes(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the encryption.\n\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.",
              "deprecated": false
            },
            "encryptBytes01": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "The bytes to encrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The key to use for encryption.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "The transformation to apply.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "Initialization value appropriate for the algorithm.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "The number of passes to make when turning a passphrase into a key.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "the encrypted bytes."
              },
              "description": "Lower-level encryption API. Encrypts the passed bytes by using the\n specified key and applying the transformations described by the specified\n parameters.\n \n Typical usage:\n\n  var message : String = \"some_message\";\n var charset : String = \"UTF8\"; // or \"windows-1252\", etc.\n\n // encrypt the message\n var messageBytes : Bytes = new Bytes(message, charset);\n var encryptedBytes : Bytes = Cipher.encryptBytes(messageBytes, key, transformation, salt, iterations);\n var encrypted : String = Encoding.toBase64(encryptedBytes);",
              "deprecated": false
            },
            "encryptBytes012": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "(see encryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A reference to a public key in the key store.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "(see encryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "saltOrIV",
                  "description": "(see encryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "iterations",
                  "description": "(see encryptBytes_3(Bytes, String, String, String, Number))",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "(see encryptBytes_3(Bytes, String, String, String, Number))"
              },
              "description": "Alternative method to encryptBytes_3(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the encryption.\n\n \n Note: Only asymmetric (public/private key pair) algorithms can be used\n with this method, since only those keys can be added to a keystore.",
              "deprecated": false
            }
          }
        },
        "Encoding": {
          "fullClassName": "dw.crypto.Encoding",
          "package": "dw.crypto",
          "description": "Utility class which handles several common character encodings.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "fromBase64": {
              "name": "fromBase64",
              "args": [
                {
                  "name": "string",
                  "description": "A string consisting of characters in base-64 alphabet to decode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Bytes",
                "description": "The decoded array of bytes."
              },
              "description": "Decode the given string which represents a sequence of characters encoded\n in base-64 to a byte array. Characters not in the base-64 alphabet are\n ignored. An exception is thrown if a null value is passed.\n\n Note: This decoding operation is limited to the maximum number of bytes\n that a Bytes object can hold. See Bytes.",
              "deprecated": false
            },
            "fromHex": {
              "name": "fromHex",
              "args": [
                {
                  "name": "string",
                  "description": "A string containing only hex characters to decode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Bytes",
                "description": "The decoded array of bytes."
              },
              "description": "Converts a String representing hexadecimal values into an array of bytes\n of those same values. The returned byte array will be half the length of\n the passed, as it takes two characters to represent any given byte. An\n exception is thrown if the passed string has an odd number of character\n or if any characters in the string are not valid hexadecimal characters.\n An exception is thrown if a null value is passed.\n\n Note: This decoding operation is limited to the maximum number of bytes\n that a Bytes object can hold. See Bytes.",
              "deprecated": false
            },
            "fromURI": {
              "name": "fromURI",
              "args": [
                {
                  "name": "string",
                  "description": "The string to decode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The decoded string."
              },
              "description": "Decodes a URL safe string into its original form. Escaped characters are\n converted back to their original representation. An exception is thrown\n if URL decoding is unsuccessful or if null is passed.",
              "deprecated": false
            },
            "fromURI0": {
              "name": "fromURI",
              "args": [
                {
                  "name": "string",
                  "description": "The string to decode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The name of a supported encoding.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The decoded string."
              },
              "description": "Decodes a URL safe string into its original form using the specified\n encoding. Escaped characters are converted back to their original\n representation. An exception is thrown if URL decoding is unsuccessful or\n if the specified encoding is unsupported or if null is passed for either\n argument.",
              "deprecated": false
            },
            "toBase64": {
              "name": "toBase64",
              "args": [
                {
                  "name": "bytes",
                  "description": "The array of bytes to encode.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The encoded string containing only Base64 characters."
              },
              "description": "Convert the given byte array to a string encoded in base-64.  This method\n does not chunk the data by adding line breaks.  An exception is thrown\n if a null value is passed.",
              "deprecated": false
            },
            "toHex": {
              "name": "toHex",
              "args": [
                {
                  "name": "bytes",
                  "description": "The array of bytes to encode.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The encoded string containing only hex characters."
              },
              "description": "Converts an array of bytes into a string representing the hexadecimal\n values of each byte in order. The returned string will be double the\n length of the passed array, as it takes two characters to represent any\n given byte. An exception is thrown if a null value is passed.",
              "deprecated": false
            },
            "toURI": {
              "name": "toURI",
              "args": [
                {
                  "name": "string",
                  "description": "The string to encode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The encoded string."
              },
              "description": "Encodes a string into its URL safe form according to the\n \"application/x-www-form-urlencoded\" encoding scheme using the default\n encoding. Unsafe characters are escaped. An exception is thrown if a null\n value is passed.",
              "deprecated": false
            },
            "toURI0": {
              "name": "toURI",
              "args": [
                {
                  "name": "string",
                  "description": "The string to encode.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The name of a supported encoding.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The encoded string."
              },
              "description": "Encodes a string into its URL safe form according to the\n \"application/x-www-form-urlencoded\" encoding scheme using the specified\n encoding. Unsafe characters are escaped. An exception is thrown if the\n specified encoding is unsupported. An exception is thrown if either\n argument is null.",
              "deprecated": false
            }
          }
        },
        "KeyRef": {
          "fullClassName": "dw.crypto.KeyRef",
          "package": "dw.crypto",
          "description": "This class is used as a reference to a private key in the keystore\n which can be managed in the Business Manager.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "KeyRef": {
              "name": "KeyRef",
              "args": [
                {
                  "name": "alias",
                  "description": "an alias that should refer to a key in the keystore.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a KeyRef from the passed alias. No check\n is made whether the alias is actually referring to a key in the keystore,\n this check is made when the KeyRef is used.",
              "deprecated": false
            },
            "KeyRef0": {
              "name": "KeyRef",
              "args": [
                {
                  "name": "alias",
                  "description": "an alias that should refer to a key in the keystore.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "the password that should be used to get the key from the keystore.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a KeyRef from the passed alias. No check\n is made whether the alias is actually referring to a key in the keystore,\n this check is made when the KeyRef is used.",
              "deprecated": true
            }
          },
          "methods": {
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "The string representation of this KeyRef."
              },
              "description": "Returns the string representation of this KeyRef.",
              "deprecated": false
            }
          }
        },
        "Mac": {
          "fullClassName": "dw.crypto.Mac",
          "package": "dw.crypto",
          "description": "This class provides the functionality of a \"Message Authentication Code\" (MAC) algorithm.\n A MAC provides a way to check the integrity of information transmitted over or\n stored in an unreliable medium, based on a secret key.\n Typically, message authentication codes are used between two parties\n that share a secret key in order to validate information transmitted between these parties.\n A MAC mechanism that is based on cryptographic hash functions is referred to as HMAC.\n HMAC can be used with any cryptographic hash function, e.g., SHA256,\n in combination with a secret shared key. HMAC is specified in RFC 2104.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "HMAC_MD5": {
              "name": "HMAC_MD5",
              "value": "\"HmacMD5\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the HMAC-MD5 keyed-hashing algorithm as defined in RFC 2104 \"HMAC: Keyed-Hashing for Message Authentication\" (February 1997).\n This algorithm uses as MD5 cryptographic hash function.",
              "deprecated": true,
              "type": "constant"
            },
            "HMAC_SHA_1": {
              "name": "HMAC_SHA_1",
              "value": "\"HmacSHA1\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the HmacSHA1 algorithms as defined in RFC 2104 \"HMAC: Keyed-Hashing for Message Authentication\" (February 1997)\n with SHA-1 as the message digest algorithm.",
              "deprecated": true,
              "type": "constant"
            },
            "HMAC_SHA_256": {
              "name": "HMAC_SHA_256",
              "value": "\"HmacSHA256\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the HmacSHA256 algorithms as defined in RFC 2104 \"HMAC: Keyed-Hashing for Message Authentication\" (February 1997)\n with SHA-256 as the message digest algorithm.",
              "deprecated": false,
              "type": "constant"
            },
            "HMAC_SHA_384": {
              "name": "HMAC_SHA_384",
              "value": "\"HmacSHA384\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the HmacSHA384 algorithms as defined in RFC 2104 \"HMAC: Keyed-Hashing for Message Authentication\" (February 1997)\n with SHA-384 as the message digest algorithm.",
              "deprecated": false,
              "type": "constant"
            },
            "HMAC_SHA_512": {
              "name": "HMAC_SHA_512",
              "value": "\"HmacSHA512\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the HmacSHA512 algorithms as defined in RFC 2104 \"HMAC: Keyed-Hashing for Message Authentication\" (February 1997)\n with SHA-512 as the message digest algorithm.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "Mac": {
              "name": "Mac",
              "args": [
                {
                  "name": "algorithm",
                  "description": "the standard name of the digest algorithm, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a Mac encryption instance with the specified algorithm name. The\n supported algorithms are:\n\n \n SHA 256\n SHA 384\n SHA 512",
              "deprecated": false
            }
          },
          "methods": {
            "digest": {
              "name": "digest",
              "args": [
                {
                  "name": "input",
                  "description": "A string to calculate a RFC 2104 compliant HMAC hash value for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The secret key ready for use with the algorithm. The key's format depends on the chosen algorithm and the keys are assumed to be correctly formulated for the algorithm used, for example that the lengths are correct. Keys are not checked for validity. Only such keys that have no key parameters associated with them.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value as bytes."
              },
              "description": "Computes the hash value for the passed string input using the passed secret key.\n Given input and the given key will be first converted with UTF-8 encoding into a byte array.\n The resulting hash is typically converted with base64 back into a string.",
              "deprecated": false
            },
            "digest0": {
              "name": "digest",
              "args": [
                {
                  "name": "input",
                  "description": "A string to calculate a RFC 2104 compliant HMAC hash value for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The secret key as bytes ready for use with the algorithm. The key's format depends on the chosen algorithm and the keys are assumed to be correctly formulated for the algorithm used, for example that the lengths are correct. Keys are not checked for validity. Only such keys that have no key parameters associated with them.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value as bytes."
              },
              "description": "Computes the hash value for the passed string input using the passed secret key.\n Given input will be first converted with UTF-8 encoding into a byte array.\n The resulting hash is typically converted with base64 back into a string.",
              "deprecated": false
            },
            "digest01": {
              "name": "digest",
              "args": [
                {
                  "name": "input",
                  "description": "The bytes to calculate a RFC 2104 compliant HMAC hash value.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The secret key as byte array ready for use with the algorithm. The key's format depends on the chosen algorithm and the keys are assumed to be correctly formulated for the algorithm used, for example that the lengths are correct. Keys are not checked for validity. Only such keys that have no key parameters associated with them.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value as bytes."
              },
              "description": "Computes the hash value for the passed bytes input using the passed secret key.",
              "deprecated": false
            }
          }
        },
        "MessageDigest": {
          "fullClassName": "dw.crypto.MessageDigest",
          "package": "dw.crypto",
          "description": "This class provides the functionality of a message digest algorithm, such as\n MD5 or SHA. Message digests are secure one-way hash functions that take\n arbitrary-sized data and output a fixed-length hash value. This\n implementation offers only stateless digest() methods. A Bytes object or\n String is passed to a digest() method and the computed hash is returned.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DIGEST_MD2": {
              "name": "DIGEST_MD2",
              "value": "\"MD2\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the MD2 algorithm.",
              "deprecated": true,
              "type": "constant"
            },
            "DIGEST_MD5": {
              "name": "DIGEST_MD5",
              "value": "\"MD5\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the MD5 algorithm.",
              "deprecated": true,
              "type": "constant"
            },
            "DIGEST_SHA": {
              "name": "DIGEST_SHA",
              "value": "\"SHA\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA algorithm.",
              "deprecated": true,
              "type": "constant"
            },
            "DIGEST_SHA_1": {
              "name": "DIGEST_SHA_1",
              "value": "\"SHA-1\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA 1 algorithm.",
              "deprecated": true,
              "type": "constant"
            },
            "DIGEST_SHA_256": {
              "name": "DIGEST_SHA_256",
              "value": "\"SHA-256\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA 256 algorithm",
              "deprecated": false,
              "type": "constant"
            },
            "DIGEST_SHA_512": {
              "name": "DIGEST_SHA_512",
              "value": "\"SHA-512\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA 512 algorithm",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "MessageDigest": {
              "name": "MessageDigest",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The standard name of the digest algorithm, must not be null and must be a supported algorithm.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a MessageDigest with the specified algorithm name. The\n supported algorithms are:\n\n \n SHA-256\n SHA-512",
              "deprecated": false
            }
          },
          "methods": {
            "digest": {
              "name": "digest",
              "args": [
                {
                  "name": "input",
                  "description": "The value to hash as String, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "The resulting hash value as hex-encoded string."
              },
              "description": "Digests the passed string and returns a computed hash value as a string.\n The passed String is first encoded into a sequence of bytes using the\n platform's default encoding. The digest then performs any prerequisite\n padding, before computing the hash value. The hash is then converted into\n a string by converting all digits to hexadecimal.",
              "deprecated": true
            },
            "digest0": {
              "name": "digest",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The standard name of the digest algorithm, or null if the algorithm passed at construction time is to be used. The algorithm must be a supported algorithm.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "input",
                  "description": "The value to hash, must not be null.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value."
              },
              "description": "Computes the hash value for the passed array of bytes. The algorithm\n argument is optional. If null, then the algorithm established at\n construction time is used.\n\n The binary representation of the message is typically derived from a\n string and the resulting hash is typically converted with base64 back\n into a string. Example:\n\n \n Encoding.toBase64( digest( \"MD5\", new Bytes( \"my password\", \"UTF-8\" ) ) );",
              "deprecated": true
            },
            "digest01": {
              "name": "digest",
              "args": [],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value."
              },
              "description": "Completes the hash computation by performing final operations such as\n padding.\n\n The binary representation of the message is typically derived from a\n string and the resulting hash is typically converted with base64 back\n into a string. Example:\n\n \n Encoding.toBase64( digest() );",
              "deprecated": false
            },
            "digestBytes": {
              "name": "digestBytes",
              "args": [
                {
                  "name": "input",
                  "description": "The value to hash, must not be null.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "The resulting hash value."
              },
              "description": "Computes the hash value for the passed Bytes.\n\n The binary representation of the message is typically derived from a\n string and the resulting hash is typically converted with base64 back\n into a string. Example:\n\n \n Encoding.toBase64( digest( new Bytes( \"my password\", \"UTF-8\" ) ) );",
              "deprecated": false
            },
            "updateBytes": {
              "name": "updateBytes",
              "args": [
                {
                  "name": "input",
                  "description": "The value to hash, must not be null.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the digest using the passed Bytes.",
              "deprecated": false
            }
          }
        },
        "WeakSignature": {
          "fullClassName": "dw.crypto.WeakSignature",
          "package": "dw.crypto",
          "description": "This API provides access to Deprecated algorithms.\n <p>\n See <a href=\"class_dw_crypto_Signature.html\">Signature</a> for full documentation. WeakSignature is simply a drop-in replacement that <b>only</b> supports\n deprecated algorithms. This is helpful when you need to deal with weak algorithms for backward compatibility\n purposes, but Signature should always be used for new development and for anything intended to be secure.\n </p><p>\n </p><p>\n This class allows access to signature services offered through the Java Cryptography Architecture (JCA). At this time\n the signature/verification implementation of the methods is based on the default RSA JCE provider of the JDK -\n sun.security.rsa.SunRsaSign\n </p>\n <p>\n dw.crypto.WeakSignature is an adapter to the security provider implementation and only covers one digest algorithm:\n </p><ul>\n <li>SHA1withRSA</li>\n </ul>\n <p></p>\n <p>\n <b>Note:</b> this class handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2,\n 4, 12, and other relevant requirements.\n </p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "WeakSignature": {
              "name": "WeakSignature",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "isDigestAlgorithmSupported": {
              "name": "isDigestAlgorithmSupported",
              "args": [
                {
                  "name": "digestAlgorithm",
                  "description": "the digest algorithm name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "a boolean indicating success (true) or failure (false)"
              },
              "description": "Checks to see if a digest algorithm is supported",
              "deprecated": false
            },
            "sign": {
              "name": "sign",
              "args": [
                {
                  "name": "contentToSign",
                  "description": "base64 encoded content to sign",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "base64 encoded private key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the base64 encoded signature"
              },
              "description": "Signs a string and returns a string",
              "deprecated": false
            },
            "sign0": {
              "name": "sign",
              "args": [
                {
                  "name": "contentToSign",
                  "description": "base64 encoded content to sign",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "a reference to a private key entry in the keystore",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the base64 encoded signature"
              },
              "description": "Signs a string and returns a string",
              "deprecated": false
            },
            "signBytes": {
              "name": "signBytes",
              "args": [
                {
                  "name": "contentToSign",
                  "description": "transformed with UTF-8 encoding into a byte stream",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "base64 encoded private key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "signature"
              },
              "description": "Signs bytes and returns bytes",
              "deprecated": false
            },
            "signBytes0": {
              "name": "signBytes",
              "args": [
                {
                  "name": "contentToSign",
                  "description": "transformed with UTF-8 encoding into a byte stream",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "a reference to a private key entry in the keystore",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "signature"
              },
              "description": "Signs bytes and returns bytes",
              "deprecated": false
            },
            "verifyBytesSignature": {
              "name": "verifyBytesSignature",
              "args": [
                {
                  "name": "signature",
                  "description": "signature to check as bytes",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "contentToVerify",
                  "description": "as bytes",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "base64 encoded public key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "a boolean indicating success (true) or failure (false)"
              },
              "description": "Verifies a signature supplied as bytes",
              "deprecated": false
            },
            "verifyBytesSignature0": {
              "name": "verifyBytesSignature",
              "args": [
                {
                  "name": "signature",
                  "description": "signature to check as bytes",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "contentToVerify",
                  "description": "as bytes",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "certificate",
                  "description": "a reference to a trusted certificate entry in the keystore",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "a boolean indicating success (true) or failure (false)"
              },
              "description": "Verifies a signature supplied as bytes",
              "deprecated": false
            },
            "verifySignature": {
              "name": "verifySignature",
              "args": [
                {
                  "name": "signature",
                  "description": "base64 encoded signature",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contentToVerify",
                  "description": "base64 encoded content to verify",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "base64 encoded public key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "a boolean indicating success (true) or failure (false)"
              },
              "description": "Verifies a signature supplied as string",
              "deprecated": false
            },
            "verifySignature0": {
              "name": "verifySignature",
              "args": [
                {
                  "name": "signature",
                  "description": "base64 encoded signature",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contentToVerify",
                  "description": "base64 encoded content to verify",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "certificate",
                  "description": "a reference to a trusted certificate entry in the keystore",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                },
                {
                  "name": "digestAlgorithm",
                  "description": "must be one of the currently supported ones",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "a boolean indicating success (true) or failure (false)"
              },
              "description": "Verifies a signature supplied as string",
              "deprecated": false
            }
          }
        }
      },
      "customer": {
        "AddressBook": {
          "fullClassName": "dw.customer.AddressBook",
          "package": "dw.customer",
          "description": "Represents a set of addresses associated with a specific customer.\n The AddressBook object gets its data from the Profile object for the customer.\n When scripting, this class allows AddressBook to be treated as a separate object\n from the Profile. However, data is only stored in the platform in the Profile object\n and there is no separate AddressBook object. For this reason, the AddressBook ID is\n always the customer profile ID.\n <p>\n <b>Note:</b> this class allows access to sensitive personal and private information.\n Pay attention to appropriate legal and regulatory requirements when developing.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "addresses": {
              "name": "addresses",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted list of addresses in the address book.  The addresses\n are sorted so that the preferred address is always sorted first.  The\n remaining addresses are sorted alphabetically by ID.",
              "deprecated": false,
              "type": "property"
            },
            "preferredAddress": {
              "name": "preferredAddress",
              "class": {
                "name": "CustomerAddress"
              },
              "static": false,
              "readonly": false,
              "description": "The address that has been defined as the customer's preferred\n address.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createAddress": {
              "name": "createAddress",
              "args": [
                {
                  "name": "name",
                  "description": "the ID of the address to create, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CustomerAddress",
                "description": "the new address object or null if an address with the given name already exists in the address book."
              },
              "description": "Creates a new, empty address object with the specified name.",
              "deprecated": false
            },
            "getAddress": {
              "name": "getAddress",
              "args": [
                {
                  "name": "id",
                  "description": "An address ID, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CustomerAddress",
                "description": "The Address object or null if the address does not exist."
              },
              "description": "Returns the address with the given name from the address book. The name\n is a unique identifier of the address within the address book.",
              "deprecated": false
            },
            "getAddresses": {
              "name": "getAddresses",
              "args": [],
              "class": {
                "name": "List",
                "description": "Sorted List of customer addresses in the address book."
              },
              "description": "Returns a sorted list of addresses in the address book.  The addresses\n are sorted so that the preferred address is always sorted first.  The\n remaining addresses are sorted alphabetically by ID.",
              "deprecated": false
            },
            "getPreferredAddress": {
              "name": "getPreferredAddress",
              "args": [],
              "class": {
                "name": "CustomerAddress",
                "description": "the default CustomerAddress object, or null if there is no preferred address."
              },
              "description": "Returns the address that has been defined as the customer's preferred\n address.",
              "deprecated": false
            },
            "removeAddress": {
              "name": "removeAddress",
              "args": [
                {
                  "name": "address",
                  "description": "the address to remove, must not be null.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified address from the address book. Because an address\n can be associated with a product list, you may want to verify if the\n address is being used by a product list. See ProductListMgr.findAddress().",
              "deprecated": false
            },
            "setPreferredAddress": {
              "name": "setPreferredAddress",
              "args": [
                {
                  "name": "anAddress",
                  "description": "the address to be set as preferred, or null if the goal is to unset the existing preferred address.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the specified address as the customer's preferred address. If null\n is passed, and there is an existing preferred address, then the address\n book will have no preferred address.",
              "deprecated": false
            }
          }
        },
        "AgentUserMgr": {
          "fullClassName": "dw.customer.AgentUserMgr",
          "package": "dw.customer",
          "description": "Provides helper methods for handling agent user functionality (login and logout)\n Pay attention to appropriate legal and regulatory requirements related to this functionality.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "loginAgentUser": {
              "name": "loginAgentUser",
              "args": [
                {
                  "name": "login",
                  "description": "the login name for the agent user.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "the password for the agent user.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "the login status (OK if successful, error code otherwise)."
              },
              "description": "Logs in an agent user (which for example is authorized to login on-behalf of a customer for\n instance to place an order). The login is only allowed during a secure protocol\n request (https) and only in the storefront context. The user must have the permission 'Login_Agent'.\n\n When the login is successful, a new session will be created. Any objects that need\n to be preserved in the session need to bet set on the session afterwards.\n\n A Status object is returned which signals whether the login was successful or not.\n In case of a login failure the status object contains the reason for this.\n See AgentUserStatusCodes for more information.",
              "deprecated": false
            },
            "loginOnBehalfOfCustomer": {
              "name": "loginOnBehalfOfCustomer",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer, which should be logged instead of the agent user",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "the login status (OK if successful, error code otherwise)."
              },
              "description": "This method logs the specified customer into the current session if the\n current agent user has the functional permission 'Login_On_Behalf' in the\n current site.\n\n The dwcustomer cookie will not be set.\n The login is only allowed during a secure protocol request (https).\n A Status object is returned indicating whether the login was successful or not (and indicating the\n failure reason). See AgentUserStatusCodes for more information.\n Error conditions include:\n \n   if the method is not called in the storefront context\n   if the given customer is not a registered customer (anonymous)\n   if the given customer is not registered for the current site\n   if the given customer is disabled\n   if there is no agent user at the current session\n   if the agent user is not logged in\n   if the agent user has not the functional permission 'Login_On_Behalf'",
              "deprecated": false
            },
            "logoutAgentUser": {
              "name": "logoutAgentUser",
              "args": [],
              "static": true,
              "class": {
                "name": "Status",
                "description": "the logout status (OK if successful, error code otherwise)."
              },
              "description": "Performs a logout of the agent user and the current customer which are attached to the current session.\n The logout is only allowed during a secure protocol request (https) and only in the storefront context.",
              "deprecated": false
            }
          }
        },
        "AgentUserStatusCodes": {
          "fullClassName": "dw.customer.AgentUserStatusCodes",
          "package": "dw.customer",
          "description": "AgentUserStatusCodes contains constants representing status codes that can be\n used with a <a href=\"class_dw_system_Status.html\">Status</a> object to indicate the success or failure of the agent\n user login process.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "AGENT_USER_NOT_AVAILABLE": {
              "name": "AGENT_USER_NOT_AVAILABLE",
              "value": "\"AGENT_USER_NOT_AVAILABLE\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the agent user is not available.",
              "deprecated": false,
              "type": "constant"
            },
            "AGENT_USER_NOT_LOGGED_IN": {
              "name": "AGENT_USER_NOT_LOGGED_IN",
              "value": "\"AGENT_USER_NOT_LOGGED_IN\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the agent user is not logged in.",
              "deprecated": false,
              "type": "constant"
            },
            "CREDENTIALS_INVALID": {
              "name": "CREDENTIALS_INVALID",
              "value": "\"CREDENTIALS_INVALID\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the given agent user login or password was wrong.",
              "deprecated": false,
              "type": "constant"
            },
            "CUSTOMER_DISABLED": {
              "name": "CUSTOMER_DISABLED",
              "value": "\"CUSTOMER_DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the customer is disabled.",
              "deprecated": false,
              "type": "constant"
            },
            "CUSTOMER_UNREGISTERED": {
              "name": "CUSTOMER_UNREGISTERED",
              "value": "\"CUSTOMER_UNREGISTERED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the customer is either not registered or not registered with the current site.",
              "deprecated": false,
              "type": "constant"
            },
            "INSECURE_CONNECTION": {
              "name": "INSECURE_CONNECTION",
              "value": "\"INSECURE_CONNECTION\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the current connection is not secure (HTTP instead of HTTPS)\n and the server is configured to require a secure connection.",
              "deprecated": false,
              "type": "constant"
            },
            "INSUFFICIENT_PERMISSION": {
              "name": "INSUFFICIENT_PERMISSION",
              "value": "\"INSUFFICIENT_PERMISSION\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the given agent user does not have the permission\n 'Login_Agent' which is required to login to the storefront as an agent\n user.",
              "deprecated": false,
              "type": "constant"
            },
            "LOGIN_SUCCESSFUL": {
              "name": "LOGIN_SUCCESSFUL",
              "value": "\"LOGIN_SUCCESSFUL\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the agent user login was successful.",
              "deprecated": false,
              "type": "constant"
            },
            "NO_STOREFRONT": {
              "name": "NO_STOREFRONT",
              "value": "\"NO_STOREFRONT\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the current context is not a storefront request.",
              "deprecated": false,
              "type": "constant"
            },
            "PASSWORD_EXPIRED": {
              "name": "PASSWORD_EXPIRED",
              "value": "\"PASSWORD_EXPIRED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the given agent user password has expired and needs to be\n changed in the Business Manager.",
              "deprecated": false,
              "type": "constant"
            },
            "USER_DISABLED": {
              "name": "USER_DISABLED",
              "value": "\"USER_DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the agent user account has been disabled in the Business\n Manager.",
              "deprecated": false,
              "type": "constant"
            },
            "USER_LOCKED": {
              "name": "USER_LOCKED",
              "value": "\"USER_LOCKED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the agent user account is locked, because the maximum\n number of failed login attempts was exceeded.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "AgentUserStatusCodes": {
              "name": "AgentUserStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "AuthenticationStatus": {
          "fullClassName": "dw.customer.AuthenticationStatus",
          "package": "dw.customer",
          "description": "Holds the status of an authentication process.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "AUTH_OK": {
              "name": "AUTH_OK",
              "value": "\"AUTH_OK\"",
              "class": {
                "name": "String"
              },
              "description": "Authentication was successful",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_CUSTOMER_DISABLED": {
              "name": "ERROR_CUSTOMER_DISABLED",
              "value": "\"ERROR_CUSTOMER_DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "customer could be found, but is disabled. Password was not verified.",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_CUSTOMER_LOCKED": {
              "name": "ERROR_CUSTOMER_LOCKED",
              "value": "\"ERROR_CUSTOMER_LOCKED\"",
              "class": {
                "name": "String"
              },
              "description": "customer could be found, but is locked (too many failed login attempts). Password was verified before.",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_CUSTOMER_NOT_FOUND": {
              "name": "ERROR_CUSTOMER_NOT_FOUND",
              "value": "\"ERROR_CUSTOMER_NOT_FOUND\"",
              "class": {
                "name": "String"
              },
              "description": "customer could not be found",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_PASSWORD_EXPIRED": {
              "name": "ERROR_PASSWORD_EXPIRED",
              "value": "\"ERROR_PASSWORD_EXPIRED\"",
              "class": {
                "name": "String"
              },
              "description": "Password does match, but is expired.",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_PASSWORD_MISMATCH": {
              "name": "ERROR_PASSWORD_MISMATCH",
              "value": "\"ERROR_PASSWORD_MISMATCH\"",
              "class": {
                "name": "String"
              },
              "description": "the used password is not correct",
              "deprecated": false,
              "type": "constant"
            },
            "ERROR_UNKNOWN": {
              "name": "ERROR_UNKNOWN",
              "value": "\"ERROR_UNKNOWN\"",
              "class": {
                "name": "String"
              },
              "description": "Any other error",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "authenticated": {
              "name": "authenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "checks whether the authentication was successful or not",
              "deprecated": false,
              "type": "property"
            },
            "customer": {
              "name": "customer",
              "class": {
                "name": "Customer"
              },
              "static": false,
              "readonly": true,
              "description": "The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "the status code (see the constants above)",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCustomer": {
              "name": "getCustomer",
              "args": [],
              "class": {
                "name": "Customer",
                "description": "the customer described by the login"
              },
              "description": "The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "String",
                "description": "the status code"
              },
              "description": "the status code (see the constants above)",
              "deprecated": false
            },
            "isAuthenticated": {
              "name": "isAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the when the authentication was successful"
              },
              "description": "checks whether the authentication was successful or not",
              "deprecated": false
            }
          }
        },
        "Credentials": {
          "fullClassName": "dw.customer.Credentials",
          "package": "dw.customer",
          "description": "Represents the credentials of a customer.\n\n Since 13.6 it is possible to have customers who are not authenticated through a\n login and password but through an external authentication provider via the OAuth2 protocol.\n\n In such cases, the AuthenticationProviderID will point to an OAuth provider configured in the system\n and the ExternalID will be the unique identifier of the customer on the Authentication Provider's system.\n\n For example, if an authentication provider with ID \"Google123\" is configured pointing to Google\n and the customer has a logged in into Google in the past and has created a profile there, Google\n assigns a unique number identifier to that customer. If the storefront is configured to allow\n authentication through Google and a new customer logs into the storefront using Google,\n the AuthenticationProviderID property of his Credentials will contain \"Google123\" and\n the ExternalID property will contain whatever unique identifier Google has assigned to him.\n In such cases the password-related properties of the Credentials will be empty.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "authenticationProviderID": {
              "name": "authenticationProviderID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The authentication provider ID.",
              "deprecated": true,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this customer is enabled and can log in.",
              "deprecated": false,
              "type": "property"
            },
            "enabledFlag": {
              "name": "enabledFlag",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Identifies if this customer is enabled and can log in - same as isEnabled().",
              "deprecated": false,
              "type": "property"
            },
            "externalID": {
              "name": "externalID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The external ID of the customer.",
              "deprecated": true,
              "type": "property"
            },
            "locked": {
              "name": "locked",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this customer is temporarily locked out because of invalid\n login attempts.  If customer locking is not enabled, this method always\n returns false.",
              "deprecated": false,
              "type": "property"
            },
            "login": {
              "name": "login",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The login of the user. It must be unique.",
              "deprecated": false,
              "type": "property"
            },
            "passwordAnswer": {
              "name": "passwordAnswer",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The answer to the password question for the customer. The answer is used\n with the password question to confirm the identity of a customer when\n they are trying to fetch their password.",
              "deprecated": false,
              "type": "property"
            },
            "passwordQuestion": {
              "name": "passwordQuestion",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The password question for the customer. The password question is\n used with the password answer to confirm the identity of a customer when\n they are trying to fetch their password.",
              "deprecated": false,
              "type": "property"
            },
            "passwordSet": {
              "name": "passwordSet",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether the password is set. Creating externally authenticated customers\n results in customers with credentials for which the password is not set.",
              "deprecated": false,
              "type": "property"
            },
            "remainingLoginAttempts": {
              "name": "remainingLoginAttempts",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of consecutive failed logins after which this customer\n will be temporarily locked out and prevented from logging in to the\n current site. This value is based on the number of previous invalid\n logins for this customer and customer site preferences defining the\n limits.\n\n If this customer is already locked out, this method will always return 0.\n If customer locking is disabled altogether, or if the system cannot\n determine the number of failed login attempts for this customer, then\n this method will return a negative number.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createResetPasswordToken": {
              "name": "createResetPasswordToken",
              "args": [],
              "class": {
                "name": "String",
                "description": "The generated token."
              },
              "description": "Generate a random token which can be used for resetting the password of the underlying Customer. The token is\n guaranteed to be unique and will be valid for 30 minutes. Any token previously generated for this customer will\n be invalidated.",
              "deprecated": false
            },
            "getAuthenticationProviderID": {
              "name": "getAuthenticationProviderID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the authentication provider ID."
              },
              "description": "Returns the authentication provider ID.",
              "deprecated": true
            },
            "getEnabledFlag": {
              "name": "getEnabledFlag",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is enabled and can log in, false otherwise."
              },
              "description": "Identifies if this customer is enabled and can log in - same as isEnabled().",
              "deprecated": false
            },
            "getExternalID": {
              "name": "getExternalID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the external ID of the customer."
              },
              "description": "Returns the external ID of the customer.",
              "deprecated": true
            },
            "getLogin": {
              "name": "getLogin",
              "args": [],
              "class": {
                "name": "String",
                "description": "the login of the user."
              },
              "description": "Returns the login of the user. It must be unique.",
              "deprecated": false
            },
            "getPasswordAnswer": {
              "name": "getPasswordAnswer",
              "args": [],
              "class": {
                "name": "String",
                "description": "the answer to the password question for the customer."
              },
              "description": "Returns the answer to the password question for the customer. The answer is used\n with the password question to confirm the identity of a customer when\n they are trying to fetch their password.",
              "deprecated": false
            },
            "getPasswordQuestion": {
              "name": "getPasswordQuestion",
              "args": [],
              "class": {
                "name": "String",
                "description": "the password question for the customer."
              },
              "description": "Returns the password question for the customer. The password question is\n used with the password answer to confirm the identity of a customer when\n they are trying to fetch their password.",
              "deprecated": false
            },
            "getRemainingLoginAttempts": {
              "name": "getRemainingLoginAttempts",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The number of consecutive failed logins after which this customer will be locked out."
              },
              "description": "Returns the number of consecutive failed logins after which this customer\n will be temporarily locked out and prevented from logging in to the\n current site. This value is based on the number of previous invalid\n logins for this customer and customer site preferences defining the\n limits.\n\n If this customer is already locked out, this method will always return 0.\n If customer locking is disabled altogether, or if the system cannot\n determine the number of failed login attempts for this customer, then\n this method will return a negative number.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is enabled and can log in, false otherwise."
              },
              "description": "Identifies if this customer is enabled and can log in.",
              "deprecated": false
            },
            "isLocked": {
              "name": "isLocked",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is locked, false otherwise."
              },
              "description": "Identifies if this customer is temporarily locked out because of invalid\n login attempts.  If customer locking is not enabled, this method always\n returns false.",
              "deprecated": false
            },
            "isPasswordSet": {
              "name": "isPasswordSet",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the password is set."
              },
              "description": "Returns whether the password is set. Creating externally authenticated customers\n results in customers with credentials for which the password is not set.",
              "deprecated": false
            },
            "setAuthenticationProviderID": {
              "name": "setAuthenticationProviderID",
              "args": [
                {
                  "name": "authenticationProviderID",
                  "description": "the authentication Provider ID to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the authentication provider ID corresponding to an OAuth provider configured in the system.",
              "deprecated": true
            },
            "setEnabledFlag": {
              "name": "setEnabledFlag",
              "args": [
                {
                  "name": "enabledFlag",
                  "description": "controls if a customer is enabled or not.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the enabled status of the customer.",
              "deprecated": false
            },
            "setExternalID": {
              "name": "setExternalID",
              "args": [
                {
                  "name": "externalID",
                  "description": "the external ID to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the external ID of the customer at the authentication provider.\n The value is provided by the authentication provider during the\n OAuth authentication and is unique within that provider.",
              "deprecated": true
            },
            "setLogin": {
              "name": "setLogin",
              "args": [
                {
                  "name": "login",
                  "description": "The login value for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the login value for the customer.\n\n IMPORTANT: This method should no longer be used for the following\n reasons:\n\n \n It changes the login without re-encrypting the password. (The\n customer password is stored internally using a one-way encryption scheme\n which uses the login as one of its inputs. Therefore changing the login\n requires re-encrypting the password.)\n It does not validate the structure of the login to ensure that it\n only uses acceptable characters.\n It does not correctly prevent duplicate logins. If the passed login\n matches a different customer's login exactly, then this method will throw\n an exception. However, it does not prevent the creation of inexact matches,\n where two customers have a login differing only by alphabetic case (e.g.\n \"JaneDoe\" and \"janedoe\")",
              "deprecated": true
            },
            "setLogin0": {
              "name": "setLogin",
              "args": [
                {
                  "name": "newLogin",
                  "description": "The login value for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "currentPassword",
                  "description": "The customer's current password in plain-text.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if setting the login succeeded, false otherwise."
              },
              "description": "Sets the login value for the customer, and also re-encrypt the customer\n password based on the new login. Customer login must be a sequence of\n letters, numbers, and the following characters: space, period, ampersand,\n underscore and dash.\n\n This method fails to set the login and returns false in the following\n cases:\n\n \n newLogin is of an invalid form (e.g. contains invalid characters).\n currentPassword is not the customer's correct password.\n newLogin is already in use by another customer (i.e. there is another\n customer in the system with the exact same login name or a name differing\n only by alphabetic case.)\n \n\n If newLogin is the same as the existing login, the method does nothing and\n returns true, regardless of whether currentPassword is the correct\n password.",
              "deprecated": false
            },
            "setPassword": {
              "name": "setPassword",
              "args": [
                {
                  "name": "newPassword",
                  "description": "the new password",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "oldPassword",
                  "description": "the old password (optional, only needed if 'verifyOldPassword' is set to 'true'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "verifyOldPassword",
                  "description": "whether the oldPassword should be verified",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "Status the status of the operation (OK or ERROR). If status is Error, there will be additional information in the Status message"
              },
              "description": "Sets the password of an authenticated customer.\n\n The method can be called for externally authenticated customers as well but\n these customers will still be externally authenticated so calling the method\n for such customers does not have an immediate practical benefit. If such customers\n are converted back to regularly authenticated (via login and password) the new password\n will be used.\n\n Method call will fail under any of these conditions:\n \n  customer is not registered\n  customer is not authenticated\n  verifyOldPassword=true && oldPassword is empty\n  verifyOldPassword=true and oldPassword does not match the existing password\n  newPassword is empty\n  newPassword does not meet acceptance criteria",
              "deprecated": false
            },
            "setPasswordAnswer": {
              "name": "setPasswordAnswer",
              "args": [
                {
                  "name": "answer",
                  "description": "the answer to the password question.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the answer to the password question for the customer.",
              "deprecated": false
            },
            "setPasswordQuestion": {
              "name": "setPasswordQuestion",
              "args": [
                {
                  "name": "question",
                  "description": "the password question.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the password question for the customer.",
              "deprecated": false
            },
            "setPasswordWithToken": {
              "name": "setPasswordWithToken",
              "args": [
                {
                  "name": "token",
                  "description": "The token required for performing the password reset.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "newPassword",
                  "description": "The new password. Must meet all requirements for passwords",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "Status the status of the operation (OK or ERROR). If status is Error, there will be additional information in the Status message"
              },
              "description": "Set the password of the specified customer to the specified value. This operation will fail if the specified\n token is invalid (i.e. not associated with the specified Customer), the token is expired, or the password does\n not satisfy system password requirements.",
              "deprecated": false
            }
          }
        },
        "Customer": {
          "fullClassName": "dw.customer.Customer",
          "package": "dw.customer",
          "description": "Represents a customer.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "activeData": {
              "name": "activeData",
              "class": {
                "name": "CustomerActiveData"
              },
              "static": false,
              "readonly": true,
              "description": "The active data for this customer.",
              "deprecated": false,
              "type": "property"
            },
            "addressBook": {
              "name": "addressBook",
              "class": {
                "name": "AddressBook"
              },
              "static": false,
              "readonly": true,
              "description": "The address book for the profile of this customer,\n or null if this customer has no profile, such as for an\n anonymous customer.",
              "deprecated": false,
              "type": "property"
            },
            "anonymous": {
              "name": "anonymous",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the customer is anonymous. An anonymous\n customer is the opposite of a registered customer.",
              "deprecated": false,
              "type": "property"
            },
            "authenticated": {
              "name": "authenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the customer is authenticated. This method checks whether\n this customer is the customer associated with the session and than checks\n whether the session in an authenticated state.\n\n Note: The pipeline debugger will always show 'false' for this value\n regardless of whether the customer is authenticated or not.",
              "deprecated": false,
              "type": "property"
            },
            "CDPData": {
              "name": "CDPData",
              "class": {
                "name": "CustomerCDPData"
              },
              "static": false,
              "readonly": true,
              "description": "The Salesforce CDP (Customer Data Platform) data for this customer.",
              "deprecated": false,
              "type": "property"
            },
            "customerGroups": {
              "name": "customerGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The customer groups this customer is member of.\n \n Result contains static customer groups in storefront and job session\n Result contains dynamic customer groups in storefront  and job session.\n Dynamic customer groups referring session or request data are not available\n when processing the customer in a job session, or when this customer is not the customer assigned to the current session.\n \n Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions",
              "deprecated": false,
              "type": "property"
            },
            "externallyAuthenticated": {
              "name": "externallyAuthenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the customer is externally authenticated. An externally\n authenticated customer does not have the password stored in our system\n but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)",
              "deprecated": false,
              "type": "property"
            },
            "externalProfiles": {
              "name": "externalProfiles",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of any external profiles the customer may have",
              "deprecated": false,
              "type": "property"
            },
            "globalPartyID": {
              "name": "globalPartyID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Global Party ID for the customer, if there is one.\n Global Party ID is created by Customer 360 and identifies a person across multiple systems.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique, system generated ID of the customer.",
              "deprecated": false,
              "type": "property"
            },
            "note": {
              "name": "note",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The note for this customer, or null if this customer has no note, such as for an anonymous\n customer or when note has 0 length.",
              "deprecated": false,
              "type": "property"
            },
            "orderHistory": {
              "name": "orderHistory",
              "class": {
                "name": "OrderHistory"
              },
              "static": false,
              "readonly": true,
              "description": "The customer order history.",
              "deprecated": false,
              "type": "property"
            },
            "profile": {
              "name": "profile",
              "class": {
                "name": "Profile"
              },
              "static": false,
              "readonly": true,
              "description": "The customer profile.",
              "deprecated": false,
              "type": "property"
            },
            "registered": {
              "name": "registered",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the customer is registered. A registered customer\n may or may not be authenticated. This method checks whether\n the user has a profile.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createExternalProfile": {
              "name": "createExternalProfile",
              "args": [
                {
                  "name": "authenticationProviderId",
                  "description": "the authenticationProviderId for the externalProfile",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "externalId",
                  "description": "the externalId for the external Profile",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ExternalProfile",
                "description": "the new externalProfile"
              },
              "description": "Creates an externalProfile and attaches it to the list of external profiles for the customer",
              "deprecated": false
            },
            "getActiveData": {
              "name": "getActiveData",
              "args": [],
              "class": {
                "name": "CustomerActiveData",
                "description": "the active data for this customer."
              },
              "description": "Returns the active data for this customer.",
              "deprecated": false
            },
            "getAddressBook": {
              "name": "getAddressBook",
              "args": [],
              "class": {
                "name": "AddressBook",
                "description": ""
              },
              "description": "Returns the address book for the profile of this customer,\n or null if this customer has no profile, such as for an\n anonymous customer.",
              "deprecated": false
            },
            "getCDPData": {
              "name": "getCDPData",
              "args": [],
              "class": {
                "name": "CustomerCDPData",
                "description": "the Salesforce CDP data for this customer."
              },
              "description": "Returns the Salesforce CDP (Customer Data Platform) data for this customer.",
              "deprecated": false
            },
            "getCustomerGroups": {
              "name": "getCustomerGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of customer groups of this customer"
              },
              "description": "Returns the customer groups this customer is member of.\n \n Result contains static customer groups in storefront and job session\n Result contains dynamic customer groups in storefront  and job session.\n Dynamic customer groups referring session or request data are not available\n when processing the customer in a job session, or when this customer is not the customer assigned to the current session.\n \n Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions",
              "deprecated": false
            },
            "getExternalProfile": {
              "name": "getExternalProfile",
              "args": [
                {
                  "name": "authenticationProviderId",
                  "description": "the authenticationProviderId to look for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "externalId",
                  "description": "the externalId to look for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ExternalProfile",
                "description": "the externalProfile found among the customer's external profile or null if not found"
              },
              "description": "A convenience method for finding an external profile among the customer's external profiles collection",
              "deprecated": false
            },
            "getExternalProfiles": {
              "name": "getExternalProfiles",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of any external profiles the customer may have"
              },
              "description": "Returns a collection of any external profiles the customer may have",
              "deprecated": false
            },
            "getGlobalPartyID": {
              "name": "getGlobalPartyID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The global party ID"
              },
              "description": "Returns the Global Party ID for the customer, if there is one.\n Global Party ID is created by Customer 360 and identifies a person across multiple systems.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the customer."
              },
              "description": "Returns the unique, system generated ID of the customer.",
              "deprecated": false
            },
            "getNote": {
              "name": "getNote",
              "args": [],
              "class": {
                "name": "String",
                "description": "the note for this customer."
              },
              "description": "Returns the note for this customer, or null if this customer has no note, such as for an anonymous\n customer or when note has 0 length.",
              "deprecated": false
            },
            "getOrderHistory": {
              "name": "getOrderHistory",
              "args": [],
              "class": {
                "name": "OrderHistory",
                "description": "the customer order history."
              },
              "description": "Returns the customer order history.",
              "deprecated": false
            },
            "getProductLists": {
              "name": "getProductLists",
              "args": [
                {
                  "name": "type",
                  "description": "the type of product lists to return.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the product lists of the specified type."
              },
              "description": "Returns the product lists of the specified type.",
              "deprecated": false
            },
            "getProfile": {
              "name": "getProfile",
              "args": [],
              "class": {
                "name": "Profile",
                "description": "the customer profile."
              },
              "description": "Returns the customer profile.",
              "deprecated": false
            },
            "isAnonymous": {
              "name": "isAnonymous",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is anonymous, false otherwise.  Note: this method handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2, 4, and 12."
              },
              "description": "Identifies if the customer is anonymous. An anonymous\n customer is the opposite of a registered customer.",
              "deprecated": false
            },
            "isAuthenticated": {
              "name": "isAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is authenticated, false otherwise."
              },
              "description": "Identifies if the customer is authenticated. This method checks whether\n this customer is the customer associated with the session and than checks\n whether the session in an authenticated state.\n\n Note: The pipeline debugger will always show 'false' for this value\n regardless of whether the customer is authenticated or not.",
              "deprecated": false
            },
            "isExternallyAuthenticated": {
              "name": "isExternallyAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is externally authenticated, false otherwise.  Note: this method handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2, 4, and 12."
              },
              "description": "Identifies if the customer is externally authenticated. An externally\n authenticated customer does not have the password stored in our system\n but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)",
              "deprecated": false
            },
            "isMemberOfAnyCustomerGroup": {
              "name": "isMemberOfAnyCustomerGroup",
              "args": [
                {
                  "name": "groupIDs",
                  "description": "A list of unique semantic customer group IDs.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if customer groups exist for the given IDs and the customer is member of at least one of that existing groups. False if none of customer groups exist or if the customer is not a member of any of that existing groups."
              },
              "description": "Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of at least one of that groups.",
              "deprecated": false
            },
            "isMemberOfCustomerGroup": {
              "name": "isMemberOfCustomerGroup",
              "args": [
                {
                  "name": "group",
                  "description": "Customer group",
                  "class": {
                    "name": "CustomerGroup"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if customer is member of the group, otherwise false."
              },
              "description": "Returns true if the customer is member of the specified\n CustomerGroup.",
              "deprecated": false
            },
            "isMemberOfCustomerGroup0": {
              "name": "isMemberOfCustomerGroup",
              "args": [
                {
                  "name": "groupID",
                  "description": "The unique semantic customer group ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if a customer group with such an ID exist and the customer is member of that group. False if no such customer group exist or, if the group exist, the customer is not member of that group."
              },
              "description": "Returns true if there is a CustomerGroup with such an ID and the customer is member of that group.",
              "deprecated": false
            },
            "isMemberOfCustomerGroups": {
              "name": "isMemberOfCustomerGroups",
              "args": [
                {
                  "name": "groupIDs",
                  "description": "A list of unique semantic customer group IDs.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if customer groups exist for all of the given IDs and the customer is member of all that groups. False if there is at least one ID for which no customer group exist or, if all groups exist, the customer is not member of all that groups."
              },
              "description": "Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of all that groups.",
              "deprecated": false
            },
            "isRegistered": {
              "name": "isRegistered",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is registered, false otherwise."
              },
              "description": "Identifies if the customer is registered. A registered customer\n may or may not be authenticated. This method checks whether\n the user has a profile.",
              "deprecated": false
            },
            "removeExternalProfile": {
              "name": "removeExternalProfile",
              "args": [
                {
                  "name": "externalProfile",
                  "description": "the externalProfile to be removed",
                  "class": {
                    "name": "ExternalProfile"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes an external profile from the customer",
              "deprecated": false
            },
            "setNote": {
              "name": "setNote",
              "args": [
                {
                  "name": "aValue",
                  "description": "the value of the note",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the note for this customer. This is a no-op for an anonymous customer.",
              "deprecated": false
            }
          }
        },
        "CustomerActiveData": {
          "fullClassName": "dw.customer.CustomerActiveData",
          "package": "dw.customer",
          "description": "Represents the active data for a <a href=\"class_dw_customer_Customer.html\">Customer</a> in Commerce Cloud Digital.\n <p>\n <b>Note:</b> this class allows access to sensitive personal and private information.\n Pay attention to appropriate legal and regulatory requirements when developing.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.object.ActiveData"
            }
          ],
          "constants": {},
          "properties": {
            "avgOrderValue": {
              "name": "avgOrderValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The average order value of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "discountValueWithCoupon": {
              "name": "discountValueWithCoupon",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The discount value resulting from coupons, that has been applied\n to orders of the customer, or null if none has been set or\n the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "discountValueWithoutCoupon": {
              "name": "discountValueWithoutCoupon",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The discount value resulting from promotions other than coupons,\n that has been applied to orders of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "giftOrders": {
              "name": "giftOrders",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders for the Customer that contained at least\n one product unit marked as a gift, or null if none has been\n set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "giftUnits": {
              "name": "giftUnits",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of product units in orders for the customer\n that were marked as a gift, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "lastOrderDate": {
              "name": "lastOrderDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date of the last order for the customer, or null\n if there are no orders for the customer.",
              "deprecated": false,
              "type": "property"
            },
            "orders": {
              "name": "orders",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The orders of the customer, or null if none\n has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "orderValue": {
              "name": "orderValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The lifetime order value of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "orderValueMonth": {
              "name": "orderValueMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The order value of the customer, over the most recent 30 days,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "productMastersOrdered": {
              "name": "productMastersOrdered",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the master product SKUs of variation products\n in orders for the customer, or an empty collection if no SKUs have been\n set or the collection of SKUs is no longer valid. There is no specific\n limit on the number of SKUs that will be returned in the collection, but\n there is also no guarantee that it will contain the SKUs for all products\n ordered by the customer.",
              "deprecated": false,
              "type": "property"
            },
            "productsAbandonedMonth": {
              "name": "productsAbandonedMonth",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the SKUs of products in baskets abandoned\n by the customer in the last 30 days, or an empty collection if no SKUs\n have been set or the collection is no longer valid.  There is no specific\n limit on the number of SKUs that will be returned in the collection, but\n there is also no guarantee that it will contain the SKUs for all products\n in baskets abandoned by the customer.",
              "deprecated": false,
              "type": "property"
            },
            "productsOrdered": {
              "name": "productsOrdered",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the SKUs of products in orders\n for the customer, or an empty collection if no SKUs have been set or the\n collection of SKUs is no longer valid.  There is no specific limit on the\n number of SKUs that will be returned in the collection, but there is also\n no guarantee that it will contain the SKUs for all products ordered by\n the customer.",
              "deprecated": false,
              "type": "property"
            },
            "productsViewedMonth": {
              "name": "productsViewedMonth",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the SKUs of products viewed by the\n customer in the last 30 days, or an empty collection if no SKUs have been\n set or the collection is no longer valid.  There is no specific limit on\n the number of SKUs that will be returned in the collection, but there is\n also no guarantee that it will contain the SKUs for all products viewed\n by the customer.",
              "deprecated": false,
              "type": "property"
            },
            "returns": {
              "name": "returns",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of returns of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "returnValue": {
              "name": "returnValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The returned revenue of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeOrders": {
              "name": "sourceCodeOrders",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders for the customer where a source code was\n in effect, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "topCategoriesOrdered": {
              "name": "topCategoriesOrdered",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the IDs of up to the top 20 categories for\n customer orders, or an empty list if no categories have been set or the\n list of categories is no longer valid. The top category is the one for\n which the most orders for the customer contained at least one product\n found in that category.",
              "deprecated": false,
              "type": "property"
            },
            "visitsMonth": {
              "name": "visitsMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The visits of the customer, over the most recent 30 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "visitsWeek": {
              "name": "visitsWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The visits of the customer, over the most recent 7 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            },
            "visitsYear": {
              "name": "visitsYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The visits of the customer, over the most recent 365 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAvgOrderValue": {
              "name": "getAvgOrderValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the average order size."
              },
              "description": "Returns the average order value of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getDiscountValueWithCoupon": {
              "name": "getDiscountValueWithCoupon",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the discount value resulting from coupons."
              },
              "description": "Returns the discount value resulting from coupons, that has been applied\n to orders of the customer, or null if none has been set or\n the value is no longer valid.",
              "deprecated": false
            },
            "getDiscountValueWithoutCoupon": {
              "name": "getDiscountValueWithoutCoupon",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the discount value resulting from promotions other than coupons."
              },
              "description": "Returns the discount value resulting from promotions other than coupons,\n that has been applied to orders of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getGiftOrders": {
              "name": "getGiftOrders",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of gift orders."
              },
              "description": "Returns the number of orders for the Customer that contained at least\n one product unit marked as a gift, or null if none has been\n set or the value is no longer valid.",
              "deprecated": false
            },
            "getGiftUnits": {
              "name": "getGiftUnits",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of gift product units."
              },
              "description": "Returns the number of product units in orders for the customer\n that were marked as a gift, or null if none has been set\n or the value is no longer valid.",
              "deprecated": false
            },
            "getLastOrderDate": {
              "name": "getLastOrderDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date of the last order for the customer."
              },
              "description": "Returns the date of the last order for the customer, or null\n if there are no orders for the customer.",
              "deprecated": false
            },
            "getOrders": {
              "name": "getOrders",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the orders."
              },
              "description": "Returns the orders of the customer, or null if none\n has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getOrderValue": {
              "name": "getOrderValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the lifetime value."
              },
              "description": "Returns the lifetime order value of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getOrderValueMonth": {
              "name": "getOrderValueMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value over the last 30 days."
              },
              "description": "Returns the order value of the customer, over the most recent 30 days,\n or null if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getProductMastersOrdered": {
              "name": "getProductMastersOrdered",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a collection containing the master product SKUs of variation products that were ordered."
              },
              "description": "Returns an array containing the master product SKUs of variation products\n in orders for the customer, or an empty collection if no SKUs have been\n set or the collection of SKUs is no longer valid. There is no specific\n limit on the number of SKUs that will be returned in the collection, but\n there is also no guarantee that it will contain the SKUs for all products\n ordered by the customer.",
              "deprecated": false
            },
            "getProductsAbandonedMonth": {
              "name": "getProductsAbandonedMonth",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a collection containing the SKUs of products that were abandoned."
              },
              "description": "Returns an array containing the SKUs of products in baskets abandoned\n by the customer in the last 30 days, or an empty collection if no SKUs\n have been set or the collection is no longer valid.  There is no specific\n limit on the number of SKUs that will be returned in the collection, but\n there is also no guarantee that it will contain the SKUs for all products\n in baskets abandoned by the customer.",
              "deprecated": false
            },
            "getProductsOrdered": {
              "name": "getProductsOrdered",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a collection containing the SKUs of products that were ordered."
              },
              "description": "Returns an array containing the SKUs of products in orders\n for the customer, or an empty collection if no SKUs have been set or the\n collection of SKUs is no longer valid.  There is no specific limit on the\n number of SKUs that will be returned in the collection, but there is also\n no guarantee that it will contain the SKUs for all products ordered by\n the customer.",
              "deprecated": false
            },
            "getProductsViewedMonth": {
              "name": "getProductsViewedMonth",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a collection containing the SKUs of products that were ordered."
              },
              "description": "Returns an array containing the SKUs of products viewed by the\n customer in the last 30 days, or an empty collection if no SKUs have been\n set or the collection is no longer valid.  There is no specific limit on\n the number of SKUs that will be returned in the collection, but there is\n also no guarantee that it will contain the SKUs for all products viewed\n by the customer.",
              "deprecated": false
            },
            "getReturns": {
              "name": "getReturns",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the returns."
              },
              "description": "Returns the number of returns of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getReturnValue": {
              "name": "getReturnValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the returned revenue."
              },
              "description": "Returns the returned revenue of the customer, or null\n if none has been set or the value is no longer valid.",
              "deprecated": false
            },
            "getSourceCodeOrders": {
              "name": "getSourceCodeOrders",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of orders with source codes in effect."
              },
              "description": "Returns the number of orders for the customer where a source code was\n in effect, or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getTopCategoriesOrdered": {
              "name": "getTopCategoriesOrdered",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a list containing the top 20 categories."
              },
              "description": "Returns an array containing the IDs of up to the top 20 categories for\n customer orders, or an empty list if no categories have been set or the\n list of categories is no longer valid. The top category is the one for\n which the most orders for the customer contained at least one product\n found in that category.",
              "deprecated": false
            },
            "getVisitsMonth": {
              "name": "getVisitsMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the visits over the last 30 days."
              },
              "description": "Returns the visits of the customer, over the most recent 30 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getVisitsWeek": {
              "name": "getVisitsWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the visits over the last 7 days."
              },
              "description": "Returns the visits of the customer, over the most recent 7 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            },
            "getVisitsYear": {
              "name": "getVisitsYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the visits over the last 365 days."
              },
              "description": "Returns the visits of the customer, over the most recent 365 days,\n or null if none has been set or the value\n is no longer valid.",
              "deprecated": false
            }
          }
        },
        "CustomerAddress": {
          "fullClassName": "dw.customer.CustomerAddress",
          "package": "dw.customer",
          "description": "The Address class represents a customer's address.\n <p>\n <b>Note:</b> this class allows access to sensitive personal and private information.\n Pay attention to appropriate legal and regulatory requirements.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "address1": {
              "name": "address1",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's first address.",
              "deprecated": false,
              "type": "property"
            },
            "address2": {
              "name": "address2",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's second address value.",
              "deprecated": false,
              "type": "property"
            },
            "city": {
              "name": "city",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's city.",
              "deprecated": false,
              "type": "property"
            },
            "companyName": {
              "name": "companyName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's company name.",
              "deprecated": false,
              "type": "property"
            },
            "countryCode": {
              "name": "countryCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's country code. Commerce Cloud Digital supports two-character\n country codes per ISO 3166-1 alpha-2. See\n http://www.iso.org/iso/country_codes/iso_3166-faqs/iso_3166_faqs_general.htm\n for additional information.",
              "deprecated": false,
              "type": "property"
            },
            "firstName": {
              "name": "firstName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's first name.",
              "deprecated": false,
              "type": "property"
            },
            "fullName": {
              "name": "fullName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "A concatenation of the customer's first, middle,\n and last names and its suffix.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the address.",
              "deprecated": false,
              "type": "property"
            },
            "jobTitle": {
              "name": "jobTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's job title.",
              "deprecated": false,
              "type": "property"
            },
            "lastName": {
              "name": "lastName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's last name.",
              "deprecated": false,
              "type": "property"
            },
            "phone": {
              "name": "phone",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's phone number.",
              "deprecated": false,
              "type": "property"
            },
            "postalCode": {
              "name": "postalCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's postal code.",
              "deprecated": false,
              "type": "property"
            },
            "postBox": {
              "name": "postBox",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's post box.",
              "deprecated": false,
              "type": "property"
            },
            "salutation": {
              "name": "salutation",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's salutation.",
              "deprecated": false,
              "type": "property"
            },
            "secondName": {
              "name": "secondName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's second name.",
              "deprecated": false,
              "type": "property"
            },
            "stateCode": {
              "name": "stateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's state.",
              "deprecated": false,
              "type": "property"
            },
            "suffix": {
              "name": "suffix",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's suffix.",
              "deprecated": false,
              "type": "property"
            },
            "suite": {
              "name": "suite",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's suite.",
              "deprecated": false,
              "type": "property"
            },
            "title": {
              "name": "title",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's title.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAddress1": {
              "name": "getAddress1",
              "args": [],
              "class": {
                "name": "String",
                "description": "the first address value."
              },
              "description": "Returns the customer's first address.",
              "deprecated": false
            },
            "getAddress2": {
              "name": "getAddress2",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the second address."
              },
              "description": "Returns the customer's second address value.",
              "deprecated": false
            },
            "getCity": {
              "name": "getCity",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's city."
              },
              "description": "Returns the customer's city.",
              "deprecated": false
            },
            "getCompanyName": {
              "name": "getCompanyName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the company name."
              },
              "description": "Returns the customer's company name.",
              "deprecated": false
            },
            "getCountryCode": {
              "name": "getCountryCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the two-digit country code."
              },
              "description": "Returns the customer's country code. Commerce Cloud Digital supports two-character\n country codes per ISO 3166-1 alpha-2. See\n http://www.iso.org/iso/country_codes/iso_3166-faqs/iso_3166_faqs_general.htm\n for additional information.",
              "deprecated": false
            },
            "getFirstName": {
              "name": "getFirstName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer first name."
              },
              "description": "Returns the customer's first name.",
              "deprecated": false
            },
            "getFullName": {
              "name": "getFullName",
              "args": [],
              "class": {
                "name": "String",
                "description": "a concatenation of the customer's first, middle, and last names and its suffix."
              },
              "description": "Returns a concatenation of the customer's first, middle,\n and last names and its suffix.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the address name."
              },
              "description": "Returns the name of the address.",
              "deprecated": false
            },
            "getJobTitle": {
              "name": "getJobTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the job title."
              },
              "description": "Returns the customer's job title.",
              "deprecated": false
            },
            "getLastName": {
              "name": "getLastName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the last name."
              },
              "description": "Returns the customer's last name.",
              "deprecated": false
            },
            "getPhone": {
              "name": "getPhone",
              "args": [],
              "class": {
                "name": "String",
                "description": "the phone number."
              },
              "description": "Returns the customer's phone number.",
              "deprecated": false
            },
            "getPostalCode": {
              "name": "getPostalCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the postal code."
              },
              "description": "Returns the customer's postal code.",
              "deprecated": false
            },
            "getPostBox": {
              "name": "getPostBox",
              "args": [],
              "class": {
                "name": "String",
                "description": "the post box."
              },
              "description": "Returns the customer's post box.",
              "deprecated": false
            },
            "getSalutation": {
              "name": "getSalutation",
              "args": [],
              "class": {
                "name": "String",
                "description": "the salutation."
              },
              "description": "Returns the customer's salutation.",
              "deprecated": false
            },
            "getSecondName": {
              "name": "getSecondName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the second name."
              },
              "description": "Returns the customer's second name.",
              "deprecated": false
            },
            "getStateCode": {
              "name": "getStateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the state."
              },
              "description": "Returns the customer's state.",
              "deprecated": false
            },
            "getSuffix": {
              "name": "getSuffix",
              "args": [],
              "class": {
                "name": "String",
                "description": "the suffix."
              },
              "description": "Returns the customer's suffix.",
              "deprecated": false
            },
            "getSuite": {
              "name": "getSuite",
              "args": [],
              "class": {
                "name": "String",
                "description": "the suite."
              },
              "description": "Returns the customer's suite.",
              "deprecated": false
            },
            "getTitle": {
              "name": "getTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the title."
              },
              "description": "Returns the customer's title.",
              "deprecated": false
            },
            "isEquivalentAddress": {
              "name": "isEquivalentAddress",
              "args": [
                {
                  "name": "address",
                  "description": "the address to test.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified address is equivalent to this address, false otherwise."
              },
              "description": "Returns true if the specified address is equivalent to\n this address. An equivalent address is an address whose\n core attributes contain the same values. The core attributes\n are:\n \n address1\n address2\n city\n companyName\n countryCode\n firstName\n lastName\n postalCode\n postBox\n stateCode",
              "deprecated": false
            },
            "setAddress1": {
              "name": "setAddress1",
              "args": [
                {
                  "name": "value",
                  "description": "The value to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value of the customer's first address.",
              "deprecated": false
            },
            "setAddress2": {
              "name": "setAddress2",
              "args": [
                {
                  "name": "value",
                  "description": "The value to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's second address value.",
              "deprecated": false
            },
            "setCity": {
              "name": "setCity",
              "args": [
                {
                  "name": "city",
                  "description": "the customer's city to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's city.",
              "deprecated": false
            },
            "setCompanyName": {
              "name": "setCompanyName",
              "args": [
                {
                  "name": "companyName",
                  "description": "the name of the company.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's company name.",
              "deprecated": false
            },
            "setCountryCode": {
              "name": "setCountryCode",
              "args": [
                {
                  "name": "countryCode",
                  "description": "the country code, must be no more than 2 characters or will be truncated.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's country code. Commerce Cloud Digital supports two-character\n country codes per ISO 3166-1 alpha-2. See\n http://www.iso.org/iso/country_codes/iso_3166-faqs/iso_3166_faqs_general.htm\n for additional information.",
              "deprecated": false
            },
            "setFirstName": {
              "name": "setFirstName",
              "args": [
                {
                  "name": "firstName",
                  "description": "the customer's first name to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's first name.",
              "deprecated": false
            },
            "setID": {
              "name": "setID",
              "args": [
                {
                  "name": "value",
                  "description": "the name to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the address name.",
              "deprecated": false
            },
            "setJobTitle": {
              "name": "setJobTitle",
              "args": [
                {
                  "name": "jobTitle",
                  "description": "The jobTitle to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's job title.",
              "deprecated": false
            },
            "setLastName": {
              "name": "setLastName",
              "args": [
                {
                  "name": "lastName",
                  "description": "The last name to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's last name.",
              "deprecated": false
            },
            "setPhone": {
              "name": "setPhone",
              "args": [
                {
                  "name": "phoneNumber",
                  "description": "The phone number to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's phone number. The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setPostalCode": {
              "name": "setPostalCode",
              "args": [
                {
                  "name": "postalCode",
                  "description": "The postal code to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's postal code.",
              "deprecated": false
            },
            "setPostBox": {
              "name": "setPostBox",
              "args": [
                {
                  "name": "postBox",
                  "description": "The post box to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's post box.",
              "deprecated": false
            },
            "setSaluation": {
              "name": "setSaluation",
              "args": [
                {
                  "name": "value",
                  "description": "the salutation.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's salutation.",
              "deprecated": true
            },
            "setSalutation": {
              "name": "setSalutation",
              "args": [
                {
                  "name": "value",
                  "description": "the salutation.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's salutation.",
              "deprecated": false
            },
            "setSecondName": {
              "name": "setSecondName",
              "args": [
                {
                  "name": "secondName",
                  "description": "The second name to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's second name.",
              "deprecated": false
            },
            "setStateCode": {
              "name": "setStateCode",
              "args": [
                {
                  "name": "state",
                  "description": "The state to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's state.",
              "deprecated": false
            },
            "setSuffix": {
              "name": "setSuffix",
              "args": [
                {
                  "name": "suffix",
                  "description": "The suffix to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's suffix.",
              "deprecated": false
            },
            "setSuite": {
              "name": "setSuite",
              "args": [
                {
                  "name": "value",
                  "description": "the suite to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's suite. The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setTitle": {
              "name": "setTitle",
              "args": [
                {
                  "name": "title",
                  "description": "The title to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's title.",
              "deprecated": false
            }
          }
        },
        "CustomerCDPData": {
          "fullClassName": "dw.customer.CustomerCDPData",
          "package": "dw.customer",
          "description": "Represents the read-only Customer's Salesforce CDP (Customer Data Platform) data for a <a href=\"class_dw_customer_Customer.html\">Customer</a> in Commerce\n Cloud. Please see Salesforce CDP enablement documentation",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Return true if the CDPData is empty (has no meaningful data)",
              "deprecated": false,
              "type": "property"
            },
            "segments": {
              "name": "segments",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An array containing the CDP segments for the customer, or an empty array if no segments found",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSegments": {
              "name": "getSegments",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "a collection containing the CDP segments for the customer"
              },
              "description": "Returns an array containing the CDP segments for the customer, or an empty array if no segments found",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if CDPData is empty, false otherwise"
              },
              "description": "Return true if the CDPData is empty (has no meaningful data)",
              "deprecated": false
            }
          }
        },
        "CustomerContextMgr": {
          "fullClassName": "dw.customer.CustomerContextMgr",
          "package": "dw.customer",
          "description": "Provides helper methods for managing customer context, such as the Effective Time for which the customer is shopping\n at",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "effectiveTime": {
              "name": "effectiveTime",
              "class": {
                "name": "Date"
              },
              "static": true,
              "readonly": false,
              "description": "Get the effective time associated with the customer. By default, the effective time is null.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getEffectiveTime": {
              "name": "getEffectiveTime",
              "args": [],
              "static": true,
              "class": {
                "name": "Date",
                "description": "effective time. When null is returned it means no effective time is associated with the customer"
              },
              "description": "Get the effective time associated with the customer. By default, the effective time is null.",
              "deprecated": false
            },
            "setEffectiveTime": {
              "name": "setEffectiveTime",
              "args": [
                {
                  "name": "effectiveTime",
                  "description": "the effective time.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the effective time for the customer. Null is allowed to remove effective time from the customer.",
              "deprecated": false
            }
          }
        },
        "CustomerGroup": {
          "fullClassName": "dw.customer.CustomerGroup",
          "package": "dw.customer",
          "description": "CustomerGroups provide a means to segment customers by various criteria. A\n merchant can then provide different site experiences (e.g. promotions,\n prices, sorting rules) to each customer segment. Customer groups can consist\n of either an explicit list of customers or a business rule that dynamically\n determines whether a customer is a member. The former type is called\n \"explicit\" and the latter type is called \"dynamic\".\n\n <ul>\n <li><b>Explicit customer group:</b> Consists of an explicit list of\n customers. Only registered customers can be member of such a group.\n isRuleBased==false.</li>\n <li><b>Dynamic customer group:</b> Memberships are evaluated by a business\n rule that is attached to the customer group. Registered as well as anonymous\n customers can be member of such a group. isRuleBased==true.</li>\n </ul>\n <p>\n <b>Note:</b> this class might allow access to sensitive personal and private\n information, depending on how you segment your customers and the names given to\n your custoemer groups. Pay attention to appropriate legal and regulatory requirements\n when developing with this data.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the value of the description of the customer group.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique ID of the customer group.",
              "deprecated": false,
              "type": "property"
            },
            "ruleBased": {
              "name": "ruleBased",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the group determines the membership of customers\n based on rules. Returns false if the group provides explicit assignement\n of customers.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "assignCustomer": {
              "name": "assignCustomer",
              "args": [
                {
                  "name": "customer",
                  "description": "Registered customer, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Assigns the specified customer to this group. \n The customer must be registered and the group must not be rule-based.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description of the customer group"
              },
              "description": "Gets the value of the description of the customer group.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The unique semantic ID of the customer group."
              },
              "description": "Returns the unique ID of the customer group.",
              "deprecated": false
            },
            "isRuleBased": {
              "name": "isRuleBased",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True, if the customer group is rule based."
              },
              "description": "Returns true if the group determines the membership of customers\n based on rules. Returns false if the group provides explicit assignement\n of customers.",
              "deprecated": false
            },
            "unassignCustomer": {
              "name": "unassignCustomer",
              "args": [
                {
                  "name": "customer",
                  "description": "Registered customer, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Unassigns the specified customer from this group. \n The customer must be registered and the group must not be rule-based.",
              "deprecated": false
            }
          }
        },
        "CustomerList": {
          "fullClassName": "dw.customer.CustomerList",
          "package": "dw.customer",
          "description": "Object representing the collection of customers who are registered\n for a given site. In Commerce Cloud Digital, every site has exactly\n one assigned customer list but multiple sites may share a customer\n list.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the optional description of the customer list.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the ID of the customer list.  For customer lists that were created automatically\n for a given site, this is equal to the ID of the site itself.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The optional description of the list."
              },
              "description": "Get the optional description of the customer list.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The ID of the customer list."
              },
              "description": "Get the ID of the customer list.  For customer lists that were created automatically\n for a given site, this is equal to the ID of the site itself.",
              "deprecated": false
            }
          }
        },
        "CustomerMgr": {
          "fullClassName": "dw.customer.CustomerMgr",
          "package": "dw.customer",
          "description": "Provides helper methods for managing customers and customer\n profiles.\n <b>Note:</b> this class allows access to sensitive information through\n operations that retrieve the Profile object.\n Pay attention to appropriate legal and regulatory requirements related to this data.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "customerGroups": {
              "name": "customerGroups",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "The customer groups of the current site.",
              "deprecated": false,
              "type": "property"
            },
            "passwordConstraints": {
              "name": "passwordConstraints",
              "class": {
                "name": "CustomerPasswordConstraints"
              },
              "static": true,
              "readonly": true,
              "description": "An instance of CustomerPasswordConstraints\n for the customer list assigned to the current site.",
              "deprecated": false,
              "type": "property"
            },
            "registeredCustomerCount": {
              "name": "registeredCustomerCount",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The number of registered customers in the system. This number can be used for reporting\n purposes.",
              "deprecated": false,
              "type": "property"
            },
            "siteCustomerList": {
              "name": "siteCustomerList",
              "class": {
                "name": "CustomerList"
              },
              "static": true,
              "readonly": true,
              "description": "The customer list of the current site.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "authenticateCustomer": {
              "name": "authenticateCustomer",
              "args": [
                {
                  "name": "login",
                  "description": "Login name, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Password, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "AuthenticationStatus",
                "description": "the status of the authentication process"
              },
              "description": "This method authenticates a customer using the supplied login and password. It will not log in the customer into\n the current session, but returns only a status indicating success or failure (with different error codes for the failure cases).\n Upon successful authentication (status code 'AUTH_OK') the status object also holds the authenticated customer.\n To continue the login process, call the loginCustomer(AuthenticationStatus, boolean) method.\n\n This method verifies that the password for the customer is not expired. If it is expired the authentication will fail, with a status code of\n ERROR_PASSWORD_EXPIRED. This allows the storefront to require the customer to change the password, and then the login can proceed.",
              "deprecated": false
            },
            "createCustomer": {
              "name": "createCustomer",
              "args": [
                {
                  "name": "login",
                  "description": "The unique login name associated with the new customer and its profile, must not be null. If login is already in use, an exception will be thrown.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Customer plain customer password, which is encrypted before it is stored at the profile, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "customer The new customer object."
              },
              "description": "Creates a new Customer using the supplied login, password. The system automatically assigns a customer number based on\n the customer sequence numbers configured for the site or organization. The number is guaranteed to be unique, but is not guaranteed to be sequential.\n It can be higher or lower than a previously created number. As a result, sorting customers by customer number is not guaranteed to sort them in their \n order of creation.\n\n The method throws an exception if any of the following conditions are encountered:\n \n   A Customer with the supplied Login already exists\n   The Login is not acceptable.\n   The Password is not acceptable.\n   The system cannot create the Customer.\n \n\n A valid login name is between 1 and 256 characters in length (not counting leading or trailing whitespace), and may contain only the\n following characters:\n \n   alphanumeric (Unicode letters or decimal digits)\n   space\n   period\n   dash\n   underscore\n   @\n \n\nNote: a storefront can be customized to provide further constraints on characters in a login name, but it cannot remove any constraints described above.",
              "deprecated": false
            },
            "createCustomer0": {
              "name": "createCustomer",
              "args": [
                {
                  "name": "login",
                  "description": "The unique login name associated with the new customer and its profile, must not be null. If login is already in use, an exception will be thrown.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Customer plain customer password, which is encrypted before it is stored at the profile, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "customerNo",
                  "description": "The unique customerNo can be null, the system will then automatically assign a new value. If provided explicitly, the system will make sure that no other customer uses the same value and will throw an exception otherwise.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "customer The new customer object."
              },
              "description": "Creates a new Customer using the supplied login, password, and a customerNo. If the customerNo is not specified,\n the system automatically assigns a customer number based on the customer sequence numbers configured for the site or organization. An automatically assigned\n number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a previously created number. As a result, sorting\n customers by customer number is not guaranteed to sort them in their order of creation.\n\n The method throws an exception if any of the following conditions are encountered:\n \n   A Customer with the supplied Login already exists\n   A Customer with the explicitly provided or calculated customer number already exists.\n   The Login is not acceptable.\n   The Password is not acceptable.\n   The system cannot create the Customer.\n \n\n A valid login name is between 1 and 256 characters in length (not counting leading or trailing whitespace), and may contain only the\n following characters:\n \n   alphanumeric (Unicode letters or decimal digits)\n   space\n   period\n   dash\n   underscore\n   @\n \n\n Note: a storefront can be customized to provide further constraints on characters in a login name, but it cannot remove any constraints described above.\n\n A valid CustomerNo is between 1 and 100 characters in length (not counting leading or trailing whitespace). Commerce Cloud Digital recommends that a CustomerNo only\n contain characters valid for URLs.",
              "deprecated": false
            },
            "createExternallyAuthenticatedCustomer": {
              "name": "createExternallyAuthenticatedCustomer",
              "args": [
                {
                  "name": "authenticationProviderId",
                  "description": "the Id of the authentication provider as configured in Commerce Cloud Digital.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "externalId",
                  "description": "the Id of the customer at the authentication provider. Each authentication provider generates these in a different way, they are unique within their system",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "On success: the created customer. On failure - null"
              },
              "description": "Given an authentication provider Id and an external Id: creates a Customer record in the system if one does not\n exist already for the same 'authenticationProviderId' and 'externalId' pair. If one already exists - it is returned.",
              "deprecated": false
            },
            "describeProfileType": {
              "name": "describeProfileType",
              "args": [],
              "static": true,
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data for profiles."
              },
              "description": "Returns the meta data for profiles.",
              "deprecated": false
            },
            "getCustomerByCustomerNumber": {
              "name": "getCustomerByCustomerNumber",
              "args": [
                {
                  "name": "customerNumber",
                  "description": "the customer number associated with the customer, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "The customer if found, null otherwise"
              },
              "description": "Returns the customer with the specified customer number. If no customer with this customer number exists, null is returned.",
              "deprecated": false
            },
            "getCustomerByLogin": {
              "name": "getCustomerByLogin",
              "args": [
                {
                  "name": "login",
                  "description": "the unique login name associated with the customer, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "The customer if found, null otherwise"
              },
              "description": "Returns the customer for the specified login name. If no customer with this login name exists, null is returned.",
              "deprecated": false
            },
            "getCustomerByToken": {
              "name": "getCustomerByToken",
              "args": [
                {
                  "name": "token",
                  "description": "password reset token",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "The customer associated with the token. Null if the token is invalid."
              },
              "description": "Returns the customer associated with the specified password reset token. A valid token is one that is associated\n with a customer record and is not expired. Such a token can be generated by\n Credentials.createResetPasswordToken(). If the passed token is valid, the associated customer\n is returned. Otherwise null is returned",
              "deprecated": false
            },
            "getCustomerGroup": {
              "name": "getCustomerGroup",
              "args": [
                {
                  "name": "id",
                  "description": "the customer group identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomerGroup",
                "description": "Customer group for ID or null"
              },
              "description": "Returns the customer group with the specified ID or null if group\n does not exists.",
              "deprecated": false
            },
            "getCustomerGroups": {
              "name": "getCustomerGroups",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "Customer groups of current site."
              },
              "description": "Returns the customer groups of the current site.",
              "deprecated": false
            },
            "getCustomerList": {
              "name": "getCustomerList",
              "args": [
                {
                  "name": "id",
                  "description": "The ID of the customer list.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomerList",
                "description": "The CustomerList, or null if not found."
              },
              "description": "Returns the customer list identified by the specified ID.\n Returns null if no customer list with the specified id exists.\n \n Note: Typically the ID of an automatically created customer\n list is equal to the ID of the site.",
              "deprecated": false
            },
            "getExternallyAuthenticatedCustomerProfile": {
              "name": "getExternallyAuthenticatedCustomerProfile",
              "args": [
                {
                  "name": "authenticationProviderId",
                  "description": "the Id of the authentication provider as configured in Commerce Cloud Digital.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "externalId",
                  "description": "the Id of the customer at the authentication provider. Each authentication provider generates these in a different way, they are unique within their system",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Profile",
                "description": "The Profile of the customer if found, null otherwise"
              },
              "description": "Given an authentication provider Id and external Id returns the Customer Profile\n in our system.",
              "deprecated": false
            },
            "getPasswordConstraints": {
              "name": "getPasswordConstraints",
              "args": [],
              "static": true,
              "class": {
                "name": "CustomerPasswordConstraints",
                "description": "customer password constraints for current site"
              },
              "description": "Returns an instance of CustomerPasswordConstraints\n for the customer list assigned to the current site.",
              "deprecated": false
            },
            "getProfile": {
              "name": "getProfile",
              "args": [
                {
                  "name": "customerNumber",
                  "description": "the customer number of the customer of the to be retrieved profile",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Profile",
                "description": "Profile for specified customer number"
              },
              "description": "Returns the profile with the specified customer number.",
              "deprecated": false
            },
            "getRegisteredCustomerCount": {
              "name": "getRegisteredCustomerCount",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the number of registered customers in the system."
              },
              "description": "Returns the number of registered customers in the system. This number can be used for reporting\n purposes.",
              "deprecated": false
            },
            "getSiteCustomerList": {
              "name": "getSiteCustomerList",
              "args": [],
              "static": true,
              "class": {
                "name": "CustomerList",
                "description": "The customer list assigned to the current site."
              },
              "description": "Returns the customer list of the current site.",
              "deprecated": false
            },
            "isAcceptablePassword": {
              "name": "isAcceptablePassword",
              "args": [
                {
                  "name": "password",
                  "description": "the to be checked password",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if the given password matches all required criteria"
              },
              "description": "Checks if the given password matches the password constraints (for example password length) of\n the current site's assigned customerlist.",
              "deprecated": false
            },
            "isPasswordExpired": {
              "name": "isPasswordExpired",
              "args": [
                {
                  "name": "login",
                  "description": "the login for the customer to be checked",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if the password is expired"
              },
              "description": "Checks if the password for the given customer is expired",
              "deprecated": false
            },
            "loginCustomer": {
              "name": "loginCustomer",
              "args": [
                {
                  "name": "login",
                  "description": "Login name, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Password, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "rememberMe",
                  "description": "Boolean value indicating if the customer wants to be remembered on the current computer. If a value of true is supplied a cookie identifying the customer is stored upon successful login. If a value of false, or a null value, is supplied, then no cookie is stored and any existing cookie is removed.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "Customer successfully authenticated customer. Null if the authentication with the given credentials fails."
              },
              "description": "This method authenticates the current session using the supplied login and password. If a different customer is currently authenticated in the session, then this\n customer is \"logged out\" and her/his privacy and form data are deleted. If the authentication with the given credentials fails, then null is returned and no changes\n to the session are made. The authentication will be sucessful even when the password of the customer is already expired (according to the customer list settings).\n\n  If the input value \"RememberMe\" is set to true, this method stores a cookie on the customer's machine which will be used to identify the customer when the next\n session is initiated.  The cookie is set to expire in 180 days (i.e. 6 months). Note that a customer who is remembered is not automatically authenticated and will\n have to explicitly log in to access any personal information.",
              "deprecated": true
            },
            "loginCustomer0": {
              "name": "loginCustomer",
              "args": [
                {
                  "name": "authStatus",
                  "description": "the authentication status from the previous authenticateCustomer call",
                  "class": {
                    "name": "AuthenticationStatus"
                  },
                  "multiple": false
                },
                {
                  "name": "rememberMe",
                  "description": "Boolean value indicating if the customer wants to be remembered on the current computer. If a value of true is supplied a cookie identifying the customer is stored upon successful login. If a value of false, or a null value, is supplied, then no cookie is stored and any existing cookie is removed.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "Customer successfully authenticated customer. Null if the authentication status was not indicating success of the authentication."
              },
              "description": "This method logs in the authenticated customer (from a previous authenticateCustomer() call). If a different customer is currently authenticated in the session, then this\n customer is \"logged out\" and all privacy-relevant data and all form data are deleted. If the previous authentication was not successful, then null is returned and no changes\n to the session are made.\n\n  If the input value \"RememberMe\" is set to true, this method stores a cookie on the customer's machine which will be used to identify the customer when the next\n session is initiated.  The cookie is set to expire in 180 days (i.e. 6 months). Note that a customer who is remembered is not automatically authenticated and will\n have to explicitly log in to access any personal information.",
              "deprecated": false
            },
            "loginExternallyAuthenticatedCustomer": {
              "name": "loginExternallyAuthenticatedCustomer",
              "args": [
                {
                  "name": "authenticationProviderId",
                  "description": "the Id of the authentication provider as configured in Commerce Cloud Digital.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "externalId",
                  "description": "the Id of the customer at the authentication provider.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "rememberMe",
                  "description": "whether to drop the remember me cookie",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "Customer if found in the system and not disabled or locked. getExternallyAuthenticatedCustomerProfile(String, String)"
              },
              "description": "Logs in externally authenticated customer if it has already been created in the system and the profile is not disabled or locked",
              "deprecated": false
            },
            "logoutCustomer": {
              "name": "logoutCustomer",
              "args": [
                {
                  "name": "rememberMe",
                  "description": "Boolean value indicating if the customer wants to be remembered on the current browser. If a value of true is supplied, the customer authentication state is set to \"not logged in\" and additionally the following session data is removed: the customer session private data, the form status data, dictionary information of interaction continue nodes, basket reference information, the secure token cookie. If the value is set to false or null, the complete session dictionary is cleaned up. The customer and anonymous cookie are removed and a new session cookie is set.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Customer",
                "description": "the new customer identity after logout. If rememberMe is true, null is returned."
              },
              "description": "Logs out the customer currently logged into the storefront. The boolean value \"RememberMe\" indicates, if the customer would like to be remembered on the current\n browser. If a value of true is supplied, the customer authentication state is set to \"not logged in\" and additionally the following session data is removed: the customer\n session private data, the form status data, dictionary information of interaction continue nodes, basket reference information, the secure token cookie. If the value is set\n to false or null, the complete session dictionary is cleaned up. The customer and anonymous cookie are removed and a new session cookie is set.",
              "deprecated": false
            },
            "processProfiles": {
              "name": "processProfiles",
              "args": [
                {
                  "name": "processFunction",
                  "description": "the function to execute for each profile",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "the query string to use when searching for a profile.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the query string arguments.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Executes a user-definable function on a set of customer profiles. This method is intended to be used in batch processes and jobs,\n since it allows efficient processing of large result sets (which might take a while to process).\n\n First, a search with the given parameters is executed. Then the given function is executed once for each profile of the search result.\n The profile is handed over as the only parameter to this function.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n For a description of this query language, see the queryProfile(String, Object...) method.\n\n The callback function will be supplied with a single argument of type 'Profile'. When the callback function defines\n additional arguments, they will be undefined when the function is called. When the callback function doesn't define\n any arguments at all, it will be called anyway (no error will happen, but the function won't get a profile as parameter).\n\n Error during execution of the callback function will be logged, and execution will continue with the next element from the\n result set.\n\n This method can be used as in this example (which counts the number of men):\n\n          var count=0;\n         function callback(profile: Profile)\n         {\n             count++;\n             dw.system.Logger.debug(\"customer found: \"+profile.customerNo)\n         }\n        CustomerMgr.processProfiles(callback, \"gender=1\");\n        dw.system.Logger.debug(\"found \"+count+\" men in customer list\");",
              "deprecated": false
            },
            "queryProfile": {
              "name": "queryProfile",
              "args": [
                {
                  "name": "queryString",
                  "description": "the query string to use when searching for a profile.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the query string arguments.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Profile",
                "description": "the profile which was found when executing the queryString."
              },
              "description": "Searches for a single profile instance.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The following operators are supported in a condition:\n = Equals - All types; supports NULL value (thumbnail = NULL)\n != Not equals - All types; supports NULL value (thumbnail != NULL)\n < Less than  - Integer, Number and Date types only\n > Greater than - Integer, Number and Date types only\n <= Less or equals than - Integer, Number and Date types only\n >= Greater or equals than  - Integer, Number and Date types only\n LIKE Like - String types and Email only; use if leading or trailing\n wildcards will be used to support substring search(custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only, use to support\n case insensitive query (custom.country ILIKE 'usa'), does also support wildcards for\n substring matching\n\n Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'\n and nested using parenthesis e.g.\n gender = {1} AND (age >= {2} OR (NOT profession LIKE {3})).\n\n\n The query language provides a placeholder syntax to pass objects as\n additional search parameters. Each passed object is related to a\n placeholder in the query string. The placeholder must be an Integer that\n is surrounded by braces. The first Integer value must be '0', the second\n '1' and so on, e.g.\n querySystemObjects(\"sample\", \"age = {0} or creationDate >= {1}\", 18, date)\n\n\n If there is more than one object matching the specified query criteria, the\n result is not deterministic. In order to retrieve a single object from a sorted result\n set it is recommended to use the following code:\n queryProfiles(\"\", \"custom.myAttr asc\", null).first().\n The method first() returns only the next element and closes the\n iterator.\n\n This method will be deprecated in a future release. We recommend to use methods searchProfile(String, Object...),\n searchProfiles(Map, String) and searchProfiles(String, String, Object...)\n to search for customers, and to use method processProfiles(Function, String, Object...) to search and process customers in jobs.",
              "deprecated": false
            },
            "queryProfiles": {
              "name": "queryProfiles",
              "args": [
                {
                  "name": "queryString",
                  "description": "the actual query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional parameters for the query string.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for profile instances.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n For a description of this query language, see the queryProfile(String, Object...) method.\n\n This method will be deprecated in a future release. We recommend to use methods searchProfile(String, Object...),\n searchProfiles(Map, String) and searchProfiles(String, String, Object...)\n to search for customers, and to use method processProfiles(Function, String, Object...) to search and process customers in jobs.",
              "deprecated": false
            },
            "queryProfiles0": {
              "name": "queryProfiles",
              "args": [
                {
                  "name": "queryAttributes",
                  "description": "key-value pairs that define the query.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for profile instances.\n\n The search can be configured with a map, which key-value pairs are\n converted into a query expression. The key-value pairs are turned into a\n sequence of '=' or 'like' conditions, which are combined with AND\n statements.\n\n Example:\n A map with the key/value pairs: 'name'/'tom*', 'age'/66\n will be converted as follows: \"name like 'tom*' and age = 66\"\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.\n See SeekableIterator.close()\n\n This method will be deprecated in a future release. We recommend to use methods searchProfile(String, Object...),\n searchProfiles(Map, String) and searchProfiles(String, String, Object...)\n to search for customers, and to use method processProfiles(Function, String, Object...) to search and process customers in jobs.",
              "deprecated": false
            },
            "removeCustomer": {
              "name": "removeCustomer",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer to remove, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Logs out the supplied customer and deletes the customer record. The customer must be a registered customer and the customer must currently be logged in. The customer must be\n logged in for security reasons to ensure that only the customer itself can remove itself from the system. While logout the customers session is reset to an anonymous session and, if present, the \"Remember me\" cookie of the customer is removed.\n Deleting the customer record includes the customer credentials, profile, address-book with all addresses, customer payment instruments, product lists and memberships in\n customer groups. Orders placed by this customer won't be deleted. If the supplied customer is not a registered customer or is not logged in, the API throws an exception",
              "deprecated": false
            },
            "removeCustomerTrackingData": {
              "name": "removeCustomerTrackingData",
              "args": [
                {
                  "name": "customer",
                  "description": "the customer",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes (asynchronously) tracking data for this customer (from external systems or data stores). This will not remove the\n customer from the database, nor will it prevent tracking to start again in the future for this customer.\n\n The customer is identified by login / email /customerNo / cookie when its a registered customer, and by cookie\n when its an anonymous customer.",
              "deprecated": false
            },
            "searchProfile": {
              "name": "searchProfile",
              "args": [
                {
                  "name": "queryString",
                  "description": "the query string to use when searching for a profile.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the query string arguments.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Profile",
                "description": "the profile which was found when executing the queryString."
              },
              "description": "Searches for a single profile instance.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The following operators are supported in a condition:\n = Equals - All types; supports NULL value (thumbnail = NULL)\n != Not equals - All types; supports NULL value (thumbnail != NULL)\n < Less than  - Integer, Number and Date types only\n > Greater than - Integer, Number and Date types only\n <= Less or equals than - Integer, Number and Date types only\n >= Greater or equals than  - Integer, Number and Date types only\n LIKE Like - String types and Email only; use if leading or trailing\n wildcards will be used to support substring search(custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only, use to support\n case insensitive query (custom.country ILIKE 'usa'), does also support wildcards for\n substring matching\n\n Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'\n and nested using parenthesis e.g.\n gender = {1} AND (age >= {2} OR (NOT profession LIKE {3})).\n\n\n The query language provides a placeholder syntax to pass objects as\n additional search parameters. Each passed object is related to a\n placeholder in the query string. The placeholder must be an Integer that\n is surrounded by braces. The first Integer value must be '0', the second\n '1' and so on, e.g.\n querySystemObjects(\"sample\", \"age = {0} or creationDate >= {1}\", 18, date)\n\n\n If there is more than one object matching the specified query criteria, the\n result is not deterministic. In order to retrieve a single object from a sorted result\n set it is recommended to use the following code:\n queryProfiles(\"\", \"custom.myAttr asc\", null).first().\n The method first() returns only the next element and closes the\n iterator.\n\n If the customer search API is configured to use the new Search Service, the following differences apply:\n \n     newly created customers might not be found immediately via the search service, and changes to existing\n     customers might also not be in effect immediately (there is a slight delay in updating the index)\n     wildcards will be filtered from the query (*, %, +) and replaced by spaces\n     LIKE and ILIKE queries will be executed as fulltext queries (working on whole words), not as substring searches\n     LIKE queries will always be case insensitive\n     using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined\n     using logical operators may result in degraded performance, depending on how they are combined",
              "deprecated": false
            },
            "searchProfiles": {
              "name": "searchProfiles",
              "args": [
                {
                  "name": "queryString",
                  "description": "the actual query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional parameters for the query string.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for profile instances.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n For a description of this query language, see the searchProfile(String, Object...) method.\n\n If the customer search API is configured to use the new Search Service, the following differences apply:\n \n     newly created customers might not be found immediately via the search service, and changes to existing\n     customers might also not be in effect immediately (there is a slight delay in updating the index)\n     the search will return only the first 1000 hits from the search result",
              "deprecated": false
            },
            "searchProfiles0": {
              "name": "searchProfiles",
              "args": [
                {
                  "name": "queryAttributes",
                  "description": "key-value pairs that define the query.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for profile instances.\n\n The search can be configured with a map, which key-value pairs are\n converted into a query expression. The key-value pairs are turned into a\n sequence of '=' or 'like' conditions, which are combined with AND\n statements.\n\n Example:\n A map with the key/value pairs: 'name'/'tom*', 'age'/66\n will be converted as follows: \"name like 'tom*' and age = 66\"\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.\n SeekableIterator.close()\n\n If the customer search API is configured to use the new Search Service, the following differences apply:\n \n     newly created customers might not be found immediately via the search service, and changes to existing\n     customers might also not be in effect immediately (there is a slight delay in updating the index)\n     wildcards will be filtered from the query (*, %, +) and replaced by spaces\n     LIKE and ILIKE queries will be executed as fulltext queries (working on whole words), not as substring searches\n     LIKE queries will always be case insensitive\n     using logical operators may change the execution of LIKE/ILIKE clauses to exact string comparison, depending on how they are combined\n     using logical operators may result in degraded performance, depending on how they are combined\n     the search will return only the first 1000 hits from the search result",
              "deprecated": false
            }
          }
        },
        "CustomerPasswordConstraints": {
          "fullClassName": "dw.customer.CustomerPasswordConstraints",
          "package": "dw.customer",
          "description": "Provides access to the constraints of customer passwords. An instance of this class can be obtained via <a href=\"class_dw_customer_CustomerMgr.html#dw_customer_CustomerMgr_getPasswordConstraints_DetailAnchor\">CustomerMgr.getPasswordConstraints()</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "forceLetters": {
              "name": "forceLetters",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if letters are enforced.",
              "deprecated": false,
              "type": "property"
            },
            "forceMixedCase": {
              "name": "forceMixedCase",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if mixed case is enforced.",
              "deprecated": false,
              "type": "property"
            },
            "forceNumbers": {
              "name": "forceNumbers",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if numbers are enforced.",
              "deprecated": false,
              "type": "property"
            },
            "minLength": {
              "name": "minLength",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The minimum length.",
              "deprecated": false,
              "type": "property"
            },
            "minSpecialChars": {
              "name": "minSpecialChars",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The minimum number of special characters.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getMinLength": {
              "name": "getMinLength",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the minimum length"
              },
              "description": "Returns the minimum length.",
              "deprecated": false
            },
            "getMinSpecialChars": {
              "name": "getMinSpecialChars",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the minimum number of special characters"
              },
              "description": "Returns the minimum number of special characters.",
              "deprecated": false
            },
            "isForceLetters": {
              "name": "isForceLetters",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "if letters are enforced"
              },
              "description": "Returns true if letters are enforced.",
              "deprecated": false
            },
            "isForceMixedCase": {
              "name": "isForceMixedCase",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "if mixed case is enforced"
              },
              "description": "Returns true if mixed case is enforced.",
              "deprecated": false
            },
            "isForceNumbers": {
              "name": "isForceNumbers",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "if numbers are enforced"
              },
              "description": "Returns true if numbers are enforced.",
              "deprecated": false
            }
          }
        },
        "CustomerPaymentInstrument": {
          "fullClassName": "dw.customer.CustomerPaymentInstrument",
          "package": "dw.customer",
          "description": "Represents any payment instrument stored in the customers profile, such as\n credit card or bank transfer. The object defines standard methods for credit\n card payment, and can be extended by attributes appropriate for other\n payment methods.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.customer.EncryptedObject"
            },
            {
              "name": "dw.order.PaymentInstrument"
            }
          ],
          "constants": {},
          "properties": {
            "bankAccountDriversLicense": {
              "name": "bankAccountDriversLicense",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The driver's license number of the bank account number\n if the calling context meets the following criteria: \n \n \n If the method call happens in the context of a storefront request and\n the current customer is registered and authenticated, and the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS\n \n \n Otherwise, the method returns the masked driver's license number of the bank account.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountNumber": {
              "name": "bankAccountNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The bank account number if the calling context meets\n the following criteria: \n \n \n If the method call happens in the context of a storefront request,\n the current customer is registered and authenticated, the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS\n \n \n Otherwise, the method returns the masked bank account number.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardNumber": {
              "name": "creditCardNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The decrypted credit card number if the calling context meets\n the following criteria: \n \n \n If the method call happens in the context of a storefront request,\n the current customer is registered and authenticated, the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS.\n \n \n Otherwise, the method returns the masked credit card number.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBankAccountDriversLicense": {
              "name": "getBankAccountDriversLicense",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the driver's license number of the bank account number\n if the calling context meets the following criteria: \n \n \n If the method call happens in the context of a storefront request and\n the current customer is registered and authenticated, and the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS\n \n \n Otherwise, the method returns the masked driver's license number of the bank account.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false
            },
            "getBankAccountNumber": {
              "name": "getBankAccountNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the bank account number if the calling context meets\n the following criteria: \n \n \n If the method call happens in the context of a storefront request,\n the current customer is registered and authenticated, the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS\n \n \n Otherwise, the method returns the masked bank account number.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false
            },
            "getCreditCardNumber": {
              "name": "getCreditCardNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the decrypted credit card number if the calling context meets\n the following criteria: \n \n \n If the method call happens in the context of a storefront request,\n the current customer is registered and authenticated, the payment\n instrument is associated to the profile of the current customer, and\n the current protocol is HTTPS.\n \n \n Otherwise, the method returns the masked credit card number.\n \n Note: this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.",
              "deprecated": false
            }
          }
        },
        "CustomerStatusCodes": {
          "fullClassName": "dw.customer.CustomerStatusCodes",
          "package": "dw.customer",
          "description": "CustomerStatusCodes contains constants representing \n status codes that can be used with a Status object to \n indicate the success or failure of an operation.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CUSTOMER_ADDRESS_REFERENCED_BY_PRODUCT_LIST": {
              "name": "CUSTOMER_ADDRESS_REFERENCED_BY_PRODUCT_LIST",
              "value": "\"CUSTOMER_ADDRESS_REFERENCED_BY_PRODUCT_LIST\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred when trying to perform \n an operation on an address that is currently associated \n with a product list.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "CustomerStatusCodes": {
              "name": "CustomerStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "EncryptedObject": {
          "fullClassName": "dw.customer.EncryptedObject",
          "package": "dw.customer",
          "description": "Defines a API base class for classes containing\n encrypted attributes like credit cards.\n <p>\n <b>Note:</b> this method handles sensitive financial and card holder data.\n Pay special attention to PCI DSS v3. requirements 1, 3, 7, and 9.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "ExternalProfile": {
          "fullClassName": "dw.customer.ExternalProfile",
          "package": "dw.customer",
          "description": "Represents the credentials of a customer.\n\n Since 13.6 it is possible to have customers who are not authenticated through a\n login and password but through an external authentication provider via the OAuth2 protocol.\n\n In such cases, the AuthenticationProviderID will point to an OAuth provider configured in the system\n and the ExternalID will be the unique identifier of the customer on the Authentication Provider's system.\n\n For example, if an authentication provider with ID \"Google123\" is configured pointing to Google\n and the customer has a logged in into Google in the past and has created a profile there, Google\n assigns a unique number identifier to that customer. If the storefront is configured to allow\n authentication through Google and a new customer logs into the storefront using Google,\n the AuthenticationProviderID property of his Credentials will contain \"Google123\" and\n the ExternalID property will contain whatever unique identifier Google has assigned to him.\n <p>\n <b>Note:</b> this class handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "authenticationProviderID": {
              "name": "authenticationProviderID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The authentication provider ID.",
              "deprecated": false,
              "type": "property"
            },
            "customer": {
              "name": "customer",
              "class": {
                "name": "Customer"
              },
              "static": false,
              "readonly": true,
              "description": "The customer object related to this profile.",
              "deprecated": false,
              "type": "property"
            },
            "email": {
              "name": "email",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's email address.",
              "deprecated": false,
              "type": "property"
            },
            "externalID": {
              "name": "externalID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The external ID.",
              "deprecated": false,
              "type": "property"
            },
            "lastLoginTime": {
              "name": "lastLoginTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The last login time of the customer through the external provider",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAuthenticationProviderID": {
              "name": "getAuthenticationProviderID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the authentication provider ID."
              },
              "description": "Returns the authentication provider ID.",
              "deprecated": false
            },
            "getCustomer": {
              "name": "getCustomer",
              "args": [],
              "class": {
                "name": "Customer",
                "description": "customer object related to profile."
              },
              "description": "Returns the customer object related to this profile.",
              "deprecated": false
            },
            "getEmail": {
              "name": "getEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's email address."
              },
              "description": "Returns the customer's email address.",
              "deprecated": false
            },
            "getExternalID": {
              "name": "getExternalID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the external ID."
              },
              "description": "Returns the external ID.",
              "deprecated": false
            },
            "getLastLoginTime": {
              "name": "getLastLoginTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the time, when the customer was last logged in through this external provider"
              },
              "description": "Returns the last login time of the customer through the external provider",
              "deprecated": false
            },
            "setEmail": {
              "name": "setEmail",
              "args": [
                {
                  "name": "email",
                  "description": "the customer's email address.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's email address.",
              "deprecated": false
            }
          }
        },
        "ProductList": {
          "fullClassName": "dw.customer.ProductList",
          "package": "dw.customer",
          "description": "Represents a list of products (and optionally a gift certificate) that is\n typically maintained by a customer.  This class can be used to implement\n a number of different storefront features, e.g. shopping list, wish list and gift registry.\n A product list is always owned by a customer. The owner can be anonymous or a registered customer.\n The owner can be the person for which items from that list will be purchased (wish list).\n Or it can be a person who maintains the list, for example a gift registry, on behalf of the bridal couple.\n Each product list can have a registrant and a co-registrant. A registrant is typically associated with an event related product list\n such as a gift registry. It holds information about a person associated with the\n event such as a bride or groom.\n A shipping address can be associated with this product list to ship the items,\n e.g. to an event location. A post-event shipping address can be associated to\n ship items to which could not be delivered on event date.\n The product list can also hold information about the event date and event location.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "EXPORT_STATUS_EXPORTED": {
              "name": "EXPORT_STATUS_EXPORTED",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant for when Export Status is Exported",
              "deprecated": false,
              "type": "constant"
            },
            "EXPORT_STATUS_NOTEXPORTED": {
              "name": "EXPORT_STATUS_NOTEXPORTED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Constant for when Export Status is Not Exported",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_CUSTOM_1": {
              "name": "TYPE_CUSTOM_1",
              "value": "100",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing a custom list type attribute.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_CUSTOM_2": {
              "name": "TYPE_CUSTOM_2",
              "value": "101",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing a custom list type attribute.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_CUSTOM_3": {
              "name": "TYPE_CUSTOM_3",
              "value": "102",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing a custom list type attribute.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_GIFT_REGISTRY": {
              "name": "TYPE_GIFT_REGISTRY",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the gift registry type attribute.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SHOPPING_LIST": {
              "name": "TYPE_SHOPPING_LIST",
              "value": "12",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the shopping list type attribute.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_WISH_LIST": {
              "name": "TYPE_WISH_LIST",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the wish list registry type attribute.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "anonymous": {
              "name": "anonymous",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this product list is owned by an anonymous customer.",
              "deprecated": false,
              "type": "property"
            },
            "coRegistrant": {
              "name": "coRegistrant",
              "class": {
                "name": "ProductListRegistrant"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductListRegistrant assigned to the coRegistrant attribute or null\n if this list has no co-registrant.",
              "deprecated": false,
              "type": "property"
            },
            "currentShippingAddress": {
              "name": "currentShippingAddress",
              "class": {
                "name": "CustomerAddress"
              },
              "static": false,
              "readonly": true,
              "description": "This is a helper method typically used with an event related list.\n It provides the appropriate shipping address based on the eventDate.\n If the current date is after the eventDate, then the postEventShippingAddress\n is returned, otherwise the shippingAddress is returned.  If the eventDate\n is null, then null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "A description text that, for example, explains the purpose of this product list.",
              "deprecated": false,
              "type": "property"
            },
            "eventCity": {
              "name": "eventCity",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "For event related uses (e.g. gift registry), this holds the event city.",
              "deprecated": false,
              "type": "property"
            },
            "eventCountry": {
              "name": "eventCountry",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "For event related uses (e.g. gift registry), this holds the event country.",
              "deprecated": false,
              "type": "property"
            },
            "eventDate": {
              "name": "eventDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "For event related uses (e.g. gift registry), this holds the date\n of the event.",
              "deprecated": false,
              "type": "property"
            },
            "eventState": {
              "name": "eventState",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "For event related uses (e.g. gift registry), this holds the event state.",
              "deprecated": false,
              "type": "property"
            },
            "eventType": {
              "name": "eventType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "For event related uses (e.g. gift registry), this holds the type\n of event, e.g. Wedding, Baby Shower.",
              "deprecated": false,
              "type": "property"
            },
            "exportStatus": {
              "name": "exportStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The export status of the product list.\n Possible values are: EXPORT_STATUS_NOTEXPORTED,\n EXPORT_STATUS_EXPORTED.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateItem": {
              "name": "giftCertificateItem",
              "class": {
                "name": "ProductListItem"
              },
              "static": false,
              "readonly": true,
              "description": "The item in the list that represents a gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique system generated ID of the object.",
              "deprecated": false,
              "type": "property"
            },
            "items": {
              "name": "items",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing all items in the list.",
              "deprecated": false,
              "type": "property"
            },
            "lastExportTime": {
              "name": "lastExportTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date where this product list has been exported successfully\n the last time.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of this product list given by its owner.",
              "deprecated": false,
              "type": "property"
            },
            "owner": {
              "name": "owner",
              "class": {
                "name": "Customer"
              },
              "static": false,
              "readonly": true,
              "description": "The customer that created and owns the product list.",
              "deprecated": false,
              "type": "property"
            },
            "postEventShippingAddress": {
              "name": "postEventShippingAddress",
              "class": {
                "name": "CustomerAddress"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping address for purchases made after the event date.",
              "deprecated": false,
              "type": "property"
            },
            "productItems": {
              "name": "productItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing all items in the list that reference products.",
              "deprecated": false,
              "type": "property"
            },
            "public": {
              "name": "public",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "A flag, typically used to determine if the object is searchable\n by other customers.",
              "deprecated": false,
              "type": "property"
            },
            "publicItems": {
              "name": "publicItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing all items in the list that are flagged as public.",
              "deprecated": false,
              "type": "property"
            },
            "purchases": {
              "name": "purchases",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The aggregated purchases from all the individual items.",
              "deprecated": false,
              "type": "property"
            },
            "registrant": {
              "name": "registrant",
              "class": {
                "name": "ProductListRegistrant"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductListRegistrant assigned to the registrant attribute or null\n if this list has no registrant.",
              "deprecated": false,
              "type": "property"
            },
            "shippingAddress": {
              "name": "shippingAddress",
              "class": {
                "name": "CustomerAddress"
              },
              "static": false,
              "readonly": false,
              "description": "Return the address that should be used as the shipping address for purchases\n made from the list.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "An int representing the type of object (e.g. wish list,\n gift registry). This is set at object creation time.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createCoRegistrant": {
              "name": "createCoRegistrant",
              "args": [],
              "class": {
                "name": "ProductListRegistrant",
                "description": "the created ProductListRegistrant instance."
              },
              "description": "Create a ProductListRegistrant and assign it to the coRegistrant attribute\n of the list.  An exception is thrown if the list already has a coRegistrant\n assigned to it.",
              "deprecated": false
            },
            "createGiftCertificateItem": {
              "name": "createGiftCertificateItem",
              "args": [],
              "class": {
                "name": "ProductListItem",
                "description": "the created item."
              },
              "description": "Create an item in the list that represents a gift certificate.\n A list may only contain a single gift certificate, so an exception\n is thrown if one already exists in the list.",
              "deprecated": false
            },
            "createProductItem": {
              "name": "createProductItem",
              "args": [
                {
                  "name": "product",
                  "description": "the product to use to create the list item.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductListItem",
                "description": "the created item."
              },
              "description": "Create an item in the list that references the specified product.",
              "deprecated": false
            },
            "createRegistrant": {
              "name": "createRegistrant",
              "args": [],
              "class": {
                "name": "ProductListRegistrant",
                "description": "the created ProductListRegistrant instance."
              },
              "description": "Create a ProductListRegistrant and assign it to the registrant attribute\n of the list.  An exception is thrown if the list already has a registrant\n assigned to it.",
              "deprecated": false
            },
            "getCoRegistrant": {
              "name": "getCoRegistrant",
              "args": [],
              "class": {
                "name": "ProductListRegistrant",
                "description": "the ProductListRegistrant assigned to the coRegistrant attribute or null if this list has no co-registrant."
              },
              "description": "Returns the ProductListRegistrant assigned to the coRegistrant attribute or null\n if this list has no co-registrant.",
              "deprecated": false
            },
            "getCurrentShippingAddress": {
              "name": "getCurrentShippingAddress",
              "args": [],
              "class": {
                "name": "CustomerAddress",
                "description": "the appropriate address, as described above."
              },
              "description": "This is a helper method typically used with an event related list.\n It provides the appropriate shipping address based on the eventDate.\n If the current date is after the eventDate, then the postEventShippingAddress\n is returned, otherwise the shippingAddress is returned.  If the eventDate\n is null, then null is returned.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "a description text explaining the purpose of this product list. Returns an empty string if the description is not set."
              },
              "description": "Returns a description text that, for example, explains the purpose of this product list.",
              "deprecated": false
            },
            "getEventCity": {
              "name": "getEventCity",
              "args": [],
              "class": {
                "name": "String",
                "description": "the event city. The event city or an empty string if no event city is set."
              },
              "description": "For event related uses (e.g. gift registry), this holds the event city.",
              "deprecated": false
            },
            "getEventCountry": {
              "name": "getEventCountry",
              "args": [],
              "class": {
                "name": "String",
                "description": "the event country. The event country or an empty string if no event country is set."
              },
              "description": "For event related uses (e.g. gift registry), this holds the event country.",
              "deprecated": false
            },
            "getEventDate": {
              "name": "getEventDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date of the event."
              },
              "description": "For event related uses (e.g. gift registry), this holds the date\n of the event.",
              "deprecated": false
            },
            "getEventState": {
              "name": "getEventState",
              "args": [],
              "class": {
                "name": "String",
                "description": "the event state. The event state or an empty string if no event state is set."
              },
              "description": "For event related uses (e.g. gift registry), this holds the event state.",
              "deprecated": false
            },
            "getEventType": {
              "name": "getEventType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the type of event. Returns an empty string, if not set."
              },
              "description": "For event related uses (e.g. gift registry), this holds the type\n of event, e.g. Wedding, Baby Shower.",
              "deprecated": false
            },
            "getExportStatus": {
              "name": "getExportStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Product list export status"
              },
              "description": "Returns the export status of the product list.\n Possible values are: EXPORT_STATUS_NOTEXPORTED,\n EXPORT_STATUS_EXPORTED.",
              "deprecated": false
            },
            "getGiftCertificateItem": {
              "name": "getGiftCertificateItem",
              "args": [],
              "class": {
                "name": "ProductListItem",
                "description": "the gift certificate item, or null if it doesn't exist."
              },
              "description": "Returns the item in the list that represents a gift certificate.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of object."
              },
              "description": "Returns the unique system generated ID of the object.",
              "deprecated": false
            },
            "getItem": {
              "name": "getItem",
              "args": [
                {
                  "name": "ID",
                  "description": "the product list item identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductListItem",
                "description": "the specified item, or null if it's not found in the list."
              },
              "description": "Returns the item from the list that has the specified ID.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all items."
              },
              "description": "Returns a collection containing all items in the list.",
              "deprecated": false
            },
            "getLastExportTime": {
              "name": "getLastExportTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "The time of the last successful export or null if this product list was not exported yet."
              },
              "description": "Returns the date where this product list has been exported successfully\n the last time.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of this product list. Returns an empty string if the name is not set."
              },
              "description": "Returns the name of this product list given by its owner.",
              "deprecated": false
            },
            "getOwner": {
              "name": "getOwner",
              "args": [],
              "class": {
                "name": "Customer",
                "description": "Owning customer"
              },
              "description": "Returns the customer that created and owns the product list.",
              "deprecated": false
            },
            "getPostEventShippingAddress": {
              "name": "getPostEventShippingAddress",
              "args": [],
              "class": {
                "name": "CustomerAddress",
                "description": "the shipping address for purchases made after the event date. Returns null if no post-event shipping address is associated."
              },
              "description": "Returns the shipping address for purchases made after the event date.",
              "deprecated": false
            },
            "getProductItems": {
              "name": "getProductItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all product items."
              },
              "description": "Returns a collection containing all items in the list that reference products.",
              "deprecated": false
            },
            "getPublicItems": {
              "name": "getPublicItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all public items."
              },
              "description": "Returns a collection containing all items in the list that are flagged as public.",
              "deprecated": false
            },
            "getPurchases": {
              "name": "getPurchases",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "purchases"
              },
              "description": "Returns the aggregated purchases from all the individual items.",
              "deprecated": false
            },
            "getRegistrant": {
              "name": "getRegistrant",
              "args": [],
              "class": {
                "name": "ProductListRegistrant",
                "description": "the ProductListRegistrant assigned to the registrant attribute or null if this list has no registrant."
              },
              "description": "Returns the ProductListRegistrant assigned to the registrant attribute or null\n if this list has no registrant.",
              "deprecated": false
            },
            "getShippingAddress": {
              "name": "getShippingAddress",
              "args": [],
              "class": {
                "name": "CustomerAddress",
                "description": "the shipping address. The shipping address of this list or null if no address is associated."
              },
              "description": "Return the address that should be used as the shipping address for purchases\n made from the list.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the type of object."
              },
              "description": "Returns an int representing the type of object (e.g. wish list,\n gift registry). This is set at object creation time.",
              "deprecated": false
            },
            "isAnonymous": {
              "name": "isAnonymous",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the owner of this product list is anonymous, false otherwise."
              },
              "description": "Returns true if this product list is owned by an anonymous customer.",
              "deprecated": false
            },
            "isPublic": {
              "name": "isPublic",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product list is public. False otherwise."
              },
              "description": "A flag, typically used to determine if the object is searchable\n by other customers.",
              "deprecated": false
            },
            "removeCoRegistrant": {
              "name": "removeCoRegistrant",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the ProductListRegistrant assigned to the coRegistrant attribute.",
              "deprecated": false
            },
            "removeItem": {
              "name": "removeItem",
              "args": [
                {
                  "name": "item",
                  "description": "The item to remove.",
                  "class": {
                    "name": "ProductListItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified item from the list.  This will also cause\n all purchase information associated with that item to be removed.",
              "deprecated": false
            },
            "removeRegistrant": {
              "name": "removeRegistrant",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the ProductListRegistrant assigned to the registrant attribute.",
              "deprecated": false
            },
            "setDescription": {
              "name": "setDescription",
              "args": [
                {
                  "name": "description",
                  "description": "The description of this product list. The description can have up to 256 characters, longer descriptions get truncated. If an empty string is provided, the description gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the description of this product list.",
              "deprecated": false
            },
            "setEventCity": {
              "name": "setEventCity",
              "args": [
                {
                  "name": "eventCity",
                  "description": "The event city can have up to 256 characters, longer event city get truncated. If an empty string is provided, the event city gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the event city to which this product list is related.",
              "deprecated": false
            },
            "setEventCountry": {
              "name": "setEventCountry",
              "args": [
                {
                  "name": "eventCountry",
                  "description": "The event country can have up to 256 characters, longer event country get truncated. If an empty string is provided, the event country gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the event country to which this product list is related.",
              "deprecated": false
            },
            "setEventDate": {
              "name": "setEventDate",
              "args": [
                {
                  "name": "eventDate",
                  "description": "The event date or null if no event date should be available.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the date of the event to which this product list is related.",
              "deprecated": false
            },
            "setEventState": {
              "name": "setEventState",
              "args": [
                {
                  "name": "eventState",
                  "description": "The event state can have up to 256 characters, longer event state get truncated. If an empty string is provided, the event state gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the event state to which this product list is related.",
              "deprecated": false
            },
            "setEventType": {
              "name": "setEventType",
              "args": [
                {
                  "name": "eventType",
                  "description": "The event type can have up to 256 characters, longer event type get truncated. If an empty string is provided, the event type gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the event type for which this product list was created by the owner.",
              "deprecated": false
            },
            "setName": {
              "name": "setName",
              "args": [
                {
                  "name": "name",
                  "description": "The name of this product list. The name can have up to 256 characters, longer names get truncated. If an empty string is provided, the name gets set to null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the name of this product list.",
              "deprecated": false
            },
            "setPostEventShippingAddress": {
              "name": "setPostEventShippingAddress",
              "args": [
                {
                  "name": "address",
                  "description": "The shipping address.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This is typically used by an event related list (e.g. gift registry) to\n specify a shipping address for purchases made after the event date.",
              "deprecated": false
            },
            "setPublic": {
              "name": "setPublic",
              "args": [
                {
                  "name": "flag",
                  "description": "If true, this product list becomes visible to other customers. If false, this product list can only be seen and searched by its owner.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Makes this product list visible to other customers or hides it.",
              "deprecated": false
            },
            "setShippingAddress": {
              "name": "setShippingAddress",
              "args": [
                {
                  "name": "address",
                  "description": "The shipping address.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Associate an address, used as the shipping address for purchases\n made from the list.",
              "deprecated": false
            }
          }
        },
        "ProductListItem": {
          "fullClassName": "dw.customer.ProductListItem",
          "package": "dw.customer",
          "description": "An item in a product list.  Types of items are:<br>\n <ul>\n <li>An item that references a product via the product's SKU.</li>\n <li>An item that represents a gift certificate.</li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "TYPE_GIFT_CERTIFICATE": {
              "name": "TYPE_GIFT_CERTIFICATE",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing a gift certificate list item type.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_PRODUCT": {
              "name": "TYPE_PRODUCT",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing a product list item type.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique system generated ID of the object.",
              "deprecated": false,
              "type": "property"
            },
            "list": {
              "name": "list",
              "class": {
                "name": "ProductList"
              },
              "static": false,
              "readonly": true,
              "description": "The product list that this item belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "priority": {
              "name": "priority",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "Specify the priority level for the item.  Typically the lower the\n number, the higher the priority. This can be used by the owner of the product list\n to express which items he/she likes to get purchased first.",
              "deprecated": false,
              "type": "property"
            },
            "product": {
              "name": "product",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": false,
              "description": "The referenced product for this item.  The reference is made\n via the product ID attribute.  This method returns null if there is\n no such product in the system or if the product exists but is not\n assigned to the site catalog.",
              "deprecated": false,
              "type": "property"
            },
            "productID": {
              "name": "productID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product referenced by this item.\n This attribute is set when a product is assigned via setProduct().\n It is possible for the ID to reference a product that doesn't exist\n anymore.  In this case getProduct() would return null.",
              "deprecated": false,
              "type": "property"
            },
            "productOptionModel": {
              "name": "productOptionModel",
              "class": {
                "name": "ProductOptionModel"
              },
              "static": false,
              "readonly": false,
              "description": "The ProductOptionModel for the product associated with this item,\n or null if there is no valid product associated with this item.",
              "deprecated": false,
              "type": "property"
            },
            "public": {
              "name": "public",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "A flag, typically used to determine whether the item should display\n in a customer's view of the list (as opposed to the list owner's view).",
              "deprecated": false,
              "type": "property"
            },
            "purchasedQuantity": {
              "name": "purchasedQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the quantities of all the individual purchase records\n for this item.",
              "deprecated": false,
              "type": "property"
            },
            "purchasedQuantityValue": {
              "name": "purchasedQuantityValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The value part of the underlying purchased quantity object, as distinct\n from the unit.",
              "deprecated": false,
              "type": "property"
            },
            "purchases": {
              "name": "purchases",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All purchases made for this item.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "The quantity of the item.\n The quantity is the number of products or gift certificates\n that get shipped when purchasing this product list item.",
              "deprecated": false,
              "type": "property"
            },
            "quantityValue": {
              "name": "quantityValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The value part of the underlying quantity object, as distinct\n from the unit.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The type of this product list item.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createPurchase": {
              "name": "createPurchase",
              "args": [
                {
                  "name": "quantity",
                  "description": "The number of items purchased.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "purchaserName",
                  "description": "The name of the purchaser.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductListItemPurchase",
                "description": "the purchase record."
              },
              "description": "Create a purchase record for this item.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of object."
              },
              "description": "Returns the unique system generated ID of the object.",
              "deprecated": false
            },
            "getList": {
              "name": "getList",
              "args": [],
              "class": {
                "name": "ProductList",
                "description": "the list."
              },
              "description": "Returns the product list that this item belongs to.",
              "deprecated": false
            },
            "getPriority": {
              "name": "getPriority",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the specified priority level."
              },
              "description": "Specify the priority level for the item.  Typically the lower the\n number, the higher the priority. This can be used by the owner of the product list\n to express which items he/she likes to get purchased first.",
              "deprecated": false
            },
            "getProduct": {
              "name": "getProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the product referenced by this item, or null."
              },
              "description": "Returns the referenced product for this item.  The reference is made\n via the product ID attribute.  This method returns null if there is\n no such product in the system or if the product exists but is not\n assigned to the site catalog.",
              "deprecated": false
            },
            "getProductID": {
              "name": "getProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the product ID, or null if none exists."
              },
              "description": "Returns the ID of the product referenced by this item.\n This attribute is set when a product is assigned via setProduct().\n It is possible for the ID to reference a product that doesn't exist\n anymore.  In this case getProduct() would return null.",
              "deprecated": false
            },
            "getProductOptionModel": {
              "name": "getProductOptionModel",
              "args": [],
              "class": {
                "name": "ProductOptionModel",
                "description": "the associated ProductOptionModel or null."
              },
              "description": "Returns the ProductOptionModel for the product associated with this item,\n or null if there is no valid product associated with this item.",
              "deprecated": false
            },
            "getPurchasedQuantity": {
              "name": "getPurchasedQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the sum of the quantities of all the individual purchase records for this item."
              },
              "description": "Returns the sum of the quantities of all the individual purchase records\n for this item.",
              "deprecated": false
            },
            "getPurchasedQuantityValue": {
              "name": "getPurchasedQuantityValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value part of the underlying purchased quantity object, as distinct from the unit."
              },
              "description": "Returns the value part of the underlying purchased quantity object, as distinct\n from the unit.",
              "deprecated": false
            },
            "getPurchases": {
              "name": "getPurchases",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the collection of purchase records for this item. Returns an empty list if this item has not been purchased yet."
              },
              "description": "Returns all purchases made for this item.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity of the item."
              },
              "description": "Returns the quantity of the item.\n The quantity is the number of products or gift certificates\n that get shipped when purchasing this product list item.",
              "deprecated": false
            },
            "getQuantityValue": {
              "name": "getQuantityValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value part of the underlying quantity object, as distinct from the unit."
              },
              "description": "Returns the value part of the underlying quantity object, as distinct\n from the unit.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "Number",
                "description": "a code that specifies the type of item (i.e. product or gift certificate)."
              },
              "description": "Returns the type of this product list item.",
              "deprecated": false
            },
            "isPublic": {
              "name": "isPublic",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the item is public."
              },
              "description": "A flag, typically used to determine whether the item should display\n in a customer's view of the list (as opposed to the list owner's view).",
              "deprecated": false
            },
            "setPriority": {
              "name": "setPriority",
              "args": [
                {
                  "name": "priority",
                  "description": "The new priority level.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specify the priority level for the item.  Typically the lower the\n number, the higher the priority. This can be used by the owner of the product list\n to express which items he/she likes to get purchased first.",
              "deprecated": false
            },
            "setProduct": {
              "name": "setProduct",
              "args": [
                {
                  "name": "product",
                  "description": "The referenced product for this item.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the referenced product for this item by storing the product's id.\n If null is specified, then the id is set to null.",
              "deprecated": true
            },
            "setProductOptionModel": {
              "name": "setProductOptionModel",
              "args": [
                {
                  "name": "productOptionModel",
                  "description": "The object to store.",
                  "class": {
                    "name": "ProductOptionModel"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Store a product option model with this object.  This stores a copy\n of the specified model, rather than an assocation to the same instance.",
              "deprecated": false
            },
            "setPublic": {
              "name": "setPublic",
              "args": [
                {
                  "name": "flag",
                  "description": "If true, this product list becomes visible to other customers. If false, this product list can only be seen by the owner of the product list.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Typically used to determine if the item is visible to other customers.",
              "deprecated": false
            },
            "setQuantity": {
              "name": "setQuantity",
              "args": [
                {
                  "name": "value",
                  "description": "the new quantity of the item.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the quantity of the item.",
              "deprecated": true
            },
            "setQuantityValue": {
              "name": "setQuantityValue",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the value part of the underlying quantity object, as distinct from\n the unit.",
              "deprecated": false
            }
          }
        },
        "ProductListItemPurchase": {
          "fullClassName": "dw.customer.ProductListItemPurchase",
          "package": "dw.customer",
          "description": "A record of the purchase of an item contained in a product list.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "item": {
              "name": "item",
              "class": {
                "name": "ProductListItem"
              },
              "static": false,
              "readonly": true,
              "description": "The item that was purchased.",
              "deprecated": false,
              "type": "property"
            },
            "orderNo": {
              "name": "orderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The number of the order in which the\n product list item was purchased.",
              "deprecated": false,
              "type": "property"
            },
            "purchaseDate": {
              "name": "purchaseDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date on which the product list item was purchased.",
              "deprecated": false,
              "type": "property"
            },
            "purchaserName": {
              "name": "purchaserName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the purchaser of the product list item.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of the product list item that was purchased.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getItem": {
              "name": "getItem",
              "args": [],
              "class": {
                "name": "ProductListItem",
                "description": "the item that was purchased."
              },
              "description": "Returns the item that was purchased.",
              "deprecated": false
            },
            "getOrderNo": {
              "name": "getOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the number of the order in which the product list item was purchased."
              },
              "description": "Returns the number of the order in which the\n product list item was purchased.",
              "deprecated": false
            },
            "getPurchaseDate": {
              "name": "getPurchaseDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date on which the product list item was purchased."
              },
              "description": "Returns the date on which the product list item was purchased.",
              "deprecated": false
            },
            "getPurchaserName": {
              "name": "getPurchaserName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the purchaser of the product list item."
              },
              "description": "Returns the name of the purchaser of the product list item.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity of the product list item that was purchased."
              },
              "description": "Returns the quantity of the product list item that was purchased.",
              "deprecated": false
            }
          }
        },
        "ProductListMgr": {
          "fullClassName": "dw.customer.ProductListMgr",
          "package": "dw.customer",
          "description": "ProductListMgr provides methods for retrieving, creating, searching for, and\n removing product lists.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "createProductList": {
              "name": "createProductList",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer owning the product list, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "The type of list (e.g. wish list, gift registry). The types are defined as constants within ProductList.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ProductList",
                "description": "the new list instance."
              },
              "description": "Creates a new instance of a product list, of the specified type.",
              "deprecated": false
            },
            "getProductList": {
              "name": "getProductList",
              "args": [
                {
                  "name": "ID",
                  "description": "The product list ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ProductList",
                "description": "the ProductList instance, or null if a list with the specified UUID doesn't exist."
              },
              "description": "Gets the product list by its ID.",
              "deprecated": false
            },
            "getProductList0": {
              "name": "getProductList",
              "args": [
                {
                  "name": "profile",
                  "description": "The profile of the customer whose product list is to be retrieved.",
                  "class": {
                    "name": "Profile"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "The type of list (e.g. wish list, gift registry). The types are defined as constants within ProductList.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ProductList",
                "description": "the product list, or null if none exists."
              },
              "description": "Returns the first product list belonging to the customer with the\n specified profile.",
              "deprecated": true
            },
            "getProductLists": {
              "name": "getProductLists",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer used for the query, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "The type of list used for the query. The types are defined as constants within ProductList.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "the unsorted collection of ProductList instances of the specified type belonging to the specified customer."
              },
              "description": "Retrieve all product lists of the specified type owned by the\n specified customer.",
              "deprecated": false
            },
            "getProductLists0": {
              "name": "getProductLists",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer used for the query, must not be null.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "The type of list used for the query. The types are defined as constants within ProductList.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "eventType",
                  "description": "The event type used for the query, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "the unsorted collection of ProductList instances of the specified type and event type belonging to the specified customer."
              },
              "description": "Retrieve all the product lists of the specified type and event type\n belonging to the specified customer.",
              "deprecated": false
            },
            "getProductLists01": {
              "name": "getProductLists",
              "args": [
                {
                  "name": "customerAddress",
                  "description": "the address to test, must not be null.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "the unsorted collection of ProductList instances using this address."
              },
              "description": "Returns the collection of product lists that have the specified address\n as the shipping address.",
              "deprecated": false
            },
            "queryProductLists": {
              "name": "queryProductLists",
              "args": [
                {
                  "name": "queryAttributes",
                  "description": "key-value pairs, which define the query.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for product list instances.\n\n The search can be configured with a map, which key-value pairs are\n converted into a query expression. The key-value pairs are turned into a\n sequence of '=' or 'like' conditions, which are combined with AND\n statements.\n\n Example:\n A map with the key/value pairs: 'name'/'tom*', 'age'/66\n will be converted as follows: \"name like 'tom*' and age = 66\"\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n \n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.",
              "deprecated": false
            },
            "queryProductLists0": {
              "name": "queryProductLists",
              "args": [
                {
                  "name": "queryString",
                  "description": "the actual query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional parameters for the queryString.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for product list instances.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n \n\n The following operators are supported in a condition:\n = Equals - All types; supports NULL value (thumbnail = NULL)\n != Not equals - All types; supports NULL value (thumbnail != NULL)\n < Less than  - Integer, Number and Date types only\n > Greater than - Integer, Number and Date types only\n <= Less or equals than - Integer, Number and Date types only\n >= Greater or equals than  - Integer, Number and Date types only\n LIKE Like - String types and Email only; use if leading or trailing\n wildcards will be used to support substring search(custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only, use to support\n case insensitive query (custom.country ILIKE 'usa'), does also support wildcards for\n substring matching\n\n Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'\n and nested using parenthesis e.g.\n gender = {1} AND (age >= {2} OR (NOT profession LIKE {3})).\n \n\n The query language provides a placeholder syntax to pass objects as\n additional search parameters. Each passed object is related to a\n placeholder in the query string. The placeholder must be an Integer that\n is surrounded by braces. The first Integer value must be '0', the second\n '1' and so on, e.g.\n querySystemObjects(\"sample\", \"age = {0} or creationDate >= {1}\", 18, date)\n \n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n Sometimes it is desired to get all instances with a special sorting condition.\n This can be easily done by providing the 'sortString' in combination with\n an empty 'queryString', e.g. querySystemObjects(\"sample\", \"\", \"ID asc\")\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.",
              "deprecated": false
            },
            "removeProductList": {
              "name": "removeProductList",
              "args": [
                {
                  "name": "productList",
                  "description": "The list to remove, must not be null.",
                  "class": {
                    "name": "ProductList"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified product list from the system.",
              "deprecated": false
            }
          }
        },
        "ProductListRegistrant": {
          "fullClassName": "dw.customer.ProductListRegistrant",
          "package": "dw.customer",
          "description": "A ProductListRegistrant is typically associated with an event related product list\n such as a gift registry. It holds information about a person associated with the\n event such as a bride or groom.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "email": {
              "name": "email",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The email address of the registrant or null.",
              "deprecated": false,
              "type": "property"
            },
            "firstName": {
              "name": "firstName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The first name of the registrant or null.",
              "deprecated": false,
              "type": "property"
            },
            "lastName": {
              "name": "lastName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The last name of the registrant or null.",
              "deprecated": false,
              "type": "property"
            },
            "role": {
              "name": "role",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The role of the registrant or null. The role of a registrant\n can be for example the bride of a bridal couple.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getEmail": {
              "name": "getEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the email address of the registrant or null."
              },
              "description": "Returns the email address of the registrant or null.",
              "deprecated": false
            },
            "getFirstName": {
              "name": "getFirstName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the first name of the registrant or null."
              },
              "description": "Returns the first name of the registrant or null.",
              "deprecated": false
            },
            "getLastName": {
              "name": "getLastName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the last name of the registrant or null."
              },
              "description": "Returns the last name of the registrant or null.",
              "deprecated": false
            },
            "getRole": {
              "name": "getRole",
              "args": [],
              "class": {
                "name": "String",
                "description": "the role name of the registrant or null."
              },
              "description": "Returns the role of the registrant or null. The role of a registrant\n can be for example the bride of a bridal couple.",
              "deprecated": false
            },
            "setEmail": {
              "name": "setEmail",
              "args": [
                {
                  "name": "email",
                  "description": "the email address of the registrant.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the email address of the registrant.",
              "deprecated": false
            },
            "setFirstName": {
              "name": "setFirstName",
              "args": [
                {
                  "name": "firstName",
                  "description": "the first name of the registrant.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the first name of the registrant.",
              "deprecated": false
            },
            "setLastName": {
              "name": "setLastName",
              "args": [
                {
                  "name": "lastName",
                  "description": "the last name of the registrant.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the last name of the registrant.",
              "deprecated": false
            },
            "setRole": {
              "name": "setRole",
              "args": [
                {
                  "name": "role",
                  "description": "the role of the registrant.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the role of the registrant.",
              "deprecated": false
            }
          }
        },
        "oauth": {
          "OAuthFinalizedResponse": {
            "fullClassName": "dw.customer.oauth.OAuthFinalizedResponse",
            "package": "dw.customer.oauth",
            "description": "Contains the combined responses from the third-party OAuth server when\n finalizing the authentication.<br><br>\n Contains both the <a href=\"class_dw_customer_oauth_OAuthAccessTokenResponse.html\">OAuthAccessTokenResponse</a> <br>\n and the <a href=\"class_dw_customer_oauth_OAuthUserInfoResponse.html\">OAuthUserInfoResponse</a>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "accessTokenResponse": {
                "name": "accessTokenResponse",
                "class": {
                  "name": "OAuthAccessTokenResponse"
                },
                "static": false,
                "readonly": true,
                "description": "The access token response",
                "deprecated": false,
                "type": "property"
              },
              "userInfoResponse": {
                "name": "userInfoResponse",
                "class": {
                  "name": "OAuthUserInfoResponse"
                },
                "static": false,
                "readonly": true,
                "description": "The user info response",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAccessTokenResponse": {
                "name": "getAccessTokenResponse",
                "args": [],
                "class": {
                  "name": "OAuthAccessTokenResponse",
                  "description": "the access token response"
                },
                "description": "Returns the access token response",
                "deprecated": false
              },
              "getUserInfoResponse": {
                "name": "getUserInfoResponse",
                "args": [],
                "class": {
                  "name": "OAuthUserInfoResponse",
                  "description": "the user info response"
                },
                "description": "Returns the user info response",
                "deprecated": false
              }
            }
          }
        }
      },
      "experience": {
        "AspectAttributeValidationException": {
          "fullClassName": "dw.experience.AspectAttributeValidationException",
          "package": "dw.experience",
          "description": "This APIException is thrown by method <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderPage_String_Map_String_DetailAnchor\">PageMgr.renderPage(String, Map, String)</a>\n and <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_serializePage_String_Map_String_DetailAnchor\">PageMgr.serializePage(String, Map, String)</a>\n to indicate that the passed aspect attributes failed during validation against the\n definition provided through the aspect type of the page.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "TopLevel.Error"
            },
            {
              "name": "TopLevel.APIException"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "Component": {
          "fullClassName": "dw.experience.Component",
          "package": "dw.experience",
          "description": "This class represents a page designer managed component as part of a\n page. A component comprises of multiple regions that again hold components,\n thus spanning a hierarchical tree of components. Using the <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderRegion_Region_DetailAnchor\">PageMgr.renderRegion(Region)</a> or\n <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderRegion_Region_RegionRenderSettings_DetailAnchor\">PageMgr.renderRegion(Region, RegionRenderSettings)</a> a region can be rendered which\n implicitly includes rendering of all contained visible components. All\n content attributes (defined by the corresponding component type) can be\n accessed, reading the accordant persisted values as provided by the content editor\n who created this component.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The id of this component.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of this component",
              "deprecated": false,
              "type": "property"
            },
            "typeID": {
              "name": "typeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type id of this component.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttribute": {
              "name": "getAttribute",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the id of the desired attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the unprocessed raw value of the desired attribute, or null if not found"
              },
              "description": "Returns the raw attribute value identified by the specified attribute id.\n By raw attribute value we denote the unprocessed value as provided for the attribute\n driven by the type of the respective attribute definition:\n \n  boolean -> boolean\n  category -> string representing a catalog category ID\n  custom -> Map that originates from a stringified curly brackets {} JSON object\n  cms_record -> Map that originates from a stringified curly brackets {} JSON object whose entries must adhere to the cmsrecord.json schema\n  enum -> either string or integer\n  file -> string representing a file path within a library\n  image -> Map that originates from a stringified curly brackets {} JSON object whose entries must adhere to the content/schema/image.json schema\n  integer -> integer\n  markup -> string representing HTML markup\n  page -> string representing a page ID\n  product -> string representing a product SKU\n  string -> string\n  text -> string\n  url -> string representing a URL\n \n \n\n There is two places an attribute value can come from - either it was persisted at design time (e.g.\n by the merchant by editing a component in Page Designer) or it was injected in shape of an aspect attribute at rendering time\n through the execution of code. The persistent value, if existing, takes precedence over the injected aspect\n attribute one. Injection of a value through an aspect attribute will only occur if the component attribute's\n attribute definition was declared using the \"dynamic_lookup\" property and its aspect attribute alias matches\n the ID of the respective aspect attribute.\n\n Accessing the raw value can be helpful if render and serialization logic of the\n component needs to operate on these unprocessed values. An unprocessed value\n might be fundamentally different from its processed counterpart, the latter being\n provided through the content dictionary (see ComponentScriptContext.getContent())\n when the render/serialize function of the component is invoked.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the component id"
              },
              "description": "Returns the id of this component.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the component name"
              },
              "description": "Returns the name of this component",
              "deprecated": false
            },
            "getRegion": {
              "name": "getRegion",
              "args": [
                {
                  "name": "id",
                  "description": "the id of the desired component region",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Region",
                "description": "the region, or null if not found."
              },
              "description": "Returns the component region that matches the given id.",
              "deprecated": false
            },
            "getTypeID": {
              "name": "getTypeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the component type id"
              },
              "description": "Returns the type id of this component.",
              "deprecated": false
            }
          }
        },
        "ComponentRenderSettings": {
          "fullClassName": "dw.experience.ComponentRenderSettings",
          "package": "dw.experience",
          "description": "A config that drives how the component is rendered. One can basically decide which kind of tag is used as wrapper\n element (e.g. <code>&lt;div&gt;...&lt;/div&gt;</code>) and which attributes are to be placed into this wrapper\n element (e.g. <code>class=\"foo bar\"</code>). In case no attributes are provided then the system default settings will\n apply. In case no tag name is provided then the system default one will apply.\n <ul>\n <li>tag_name : div</li>\n <li>attributes : {\"class\":\"experience-component experience-[COMPONENT_TYPE_ID]\"}</li>\n </ul>\n As the [COMPONENT_TYPE_ID] can contain dots due to its package like naming scheme (e.g. assets.image)\n any occurrences of these dots will be replaced by dashes (e.g. assets-image) so that CSS selectors\n do not have to be escaped.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributes": {
              "name": "attributes",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": false,
              "description": "The configured attributes of the wrapper element as set by setAttributes(Object).",
              "deprecated": false,
              "type": "property"
            },
            "tagName": {
              "name": "tagName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The tag name of the component wrapper element. Defaults to 'div'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "ComponentRenderSettings": {
              "name": "ComponentRenderSettings",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Creates region render settings which can then be configured further. They are to be used for detailed\n configuration of a RegionRenderSettings which is subsequently used for\n PageMgr.renderRegion(Region, RegionRenderSettings) calls.",
              "deprecated": false
            }
          },
          "methods": {
            "getAttributes": {
              "name": "getAttributes",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the configured attributes of the wrapper element"
              },
              "description": "Returns the configured attributes of the wrapper element as set by setAttributes(Object).",
              "deprecated": false
            },
            "getTagName": {
              "name": "getTagName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tag name of the component wrapper element"
              },
              "description": "Returns the tag name of the component wrapper element. Defaults to 'div'.",
              "deprecated": false
            },
            "setAttributes": {
              "name": "setAttributes",
              "args": [
                {
                  "name": "attributes",
                  "description": "the to be configured attributes of the wrapper element",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ComponentRenderSettings",
                "description": "this"
              },
              "description": "Sets the to be configured <String,String> attributes of the wrapper element. Set it to null in case\n you want to system defaults to be applied.",
              "deprecated": false
            },
            "setTagName": {
              "name": "setTagName",
              "args": [
                {
                  "name": "tagName",
                  "description": "the tag name of the component wrapper element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ComponentRenderSettings",
                "description": "this"
              },
              "description": "Sets the tag name of the component wrapper element. Must not be empty.",
              "deprecated": false
            }
          }
        },
        "ComponentScriptContext": {
          "fullClassName": "dw.experience.ComponentScriptContext",
          "package": "dw.experience",
          "description": "This is the context that is handed over to the <code>render</code> and <code>serialize</code> function of the respective component type\n script.\n <pre>     <code>String : render( <a href=\"class_dw_experience_ComponentScriptContext.html\">ComponentScriptContext</a> context)</code>\n     <code>Object : serialize( <a href=\"class_dw_experience_ComponentScriptContext.html\">ComponentScriptContext</a> context)</code>\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "component": {
              "name": "component",
              "class": {
                "name": "Component"
              },
              "static": false,
              "readonly": true,
              "description": "The component for which the corresponding component type script is currently executed.",
              "deprecated": false,
              "type": "property"
            },
            "componentRenderSettings": {
              "name": "componentRenderSettings",
              "class": {
                "name": "ComponentRenderSettings"
              },
              "static": false,
              "readonly": true,
              "description": "As components are implicitly rendered as part of their hosting region via\n PageMgr.renderRegion(Region, RegionRenderSettings) there is the possibility\n to define render settings for the region itself but also for its contained components.\n The latter will be provided here so you further set or refine them for your component\n as part of the render function, i.e. to drive the shape of the\n component wrapper element.",
              "deprecated": false,
              "type": "property"
            },
            "content": {
              "name": "content",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The processed version of the underlying unprocessed raw values (also see Component.getAttribute(String))\n of this component's attributes which you can use in your respective component type render and serialize function\n implementing your business and rendering/serialization functionality. Processing the raw value is comprised of expansion\n and conversion, in this order.\n \n     expansion - dynamic placeholders are transformed into actual values, for example url/link placeholders in\n     markup text are resolved to real URLs\n     conversion - the raw value (see Component.getAttribute(String)) is resolved into an actual\n     DWScript object depending on the type of the attribute as specified in its respective attribute definition\n      \n          boolean -> boolean\n          category -> Category\n          custom -> Map\n          cms_record -> CMSRecord\n          enum -> either string or integer \n          file -> MediaFile\n          image -> Image\n          integer -> integer\n          markup -> string\n          page -> string\n          product -> Product\n          string -> string\n          text -> string\n          url -> string",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getComponent": {
              "name": "getComponent",
              "args": [],
              "class": {
                "name": "Component",
                "description": "the currently rendered component"
              },
              "description": "Returns the component for which the corresponding component type script is currently executed.",
              "deprecated": false
            },
            "getComponentRenderSettings": {
              "name": "getComponentRenderSettings",
              "args": [],
              "class": {
                "name": "ComponentRenderSettings",
                "description": "the component render settings"
              },
              "description": "As components are implicitly rendered as part of their hosting region via\n PageMgr.renderRegion(Region, RegionRenderSettings) there is the possibility\n to define render settings for the region itself but also for its contained components.\n The latter will be provided here so you further set or refine them for your component\n as part of the render function, i.e. to drive the shape of the\n component wrapper element.",
              "deprecated": false
            },
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Map",
                "description": "processed content attributes of the component"
              },
              "description": "Returns the processed version of the underlying unprocessed raw values (also see Component.getAttribute(String))\n of this component's attributes which you can use in your respective component type render and serialize function\n implementing your business and rendering/serialization functionality. Processing the raw value is comprised of expansion\n and conversion, in this order.\n \n     expansion - dynamic placeholders are transformed into actual values, for example url/link placeholders in\n     markup text are resolved to real URLs\n     conversion - the raw value (see Component.getAttribute(String)) is resolved into an actual\n     DWScript object depending on the type of the attribute as specified in its respective attribute definition\n      \n          boolean -> boolean\n          category -> Category\n          custom -> Map\n          cms_record -> CMSRecord\n          enum -> either string or integer \n          file -> MediaFile\n          image -> Image\n          integer -> integer\n          markup -> string\n          page -> string\n          product -> Product\n          string -> string\n          text -> string\n          url -> string",
              "deprecated": false
            }
          }
        },
        "CustomEditor": {
          "fullClassName": "dw.experience.CustomEditor",
          "package": "dw.experience",
          "description": "This class represents a custom editor for component attributes of type <code>custom</code>. It is instantiated\n by Page Designer and is subsequently used there for editing of such attributes by the merchant in a visual manner.\n It therefore serves the Page Designer with all information required by such UI. What exactly\n this information will be is up to the developer of the respective custom editor UI, i.e. depends on the respective\n json and js files written for both the attribute definition as well as the custom editor type. Currently a configuration can be\n served (basically values passed to Page Designer so that it can bootstrap the custom editor UI on the client side).\n Furthermore resources can be served, which are URLs to scripts and styles required by the same UI (you will\n likely require your own Javascript and CSS there).\n <p>\n You can access the aforementioned configuration as provided through the editor definition of the respective attribute\n definition, which you can also adjust in the <code>init</code> function (see corresponding js file of your custom editor\n type) that is called during initialization of the custom editor, i.e. right before it is passed to the Page Designer UI.\n The same applies for the script and style resources which you specified as part of your custom editor type and which you\n can refine with the <code>init</code> function as needed.\n </p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "configuration": {
              "name": "configuration",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The configuration of the custom editor. This is initialized with the values as provided\n through the editor definition of the respective attribute definition of type custom.\n Be aware that this configuration will have to be serializable to JSON itself as it will be passed\n to Page Designer for processing in the UI. So you must not add any values in this map that are not\n properly serializable. Do not use complex DWScript classes that do not support JSON serialization\n like for instance Product.",
              "deprecated": false,
              "type": "property"
            },
            "dependencies": {
              "name": "dependencies",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "Returns the dependencies to other custom editors, e.g. used as breakout elements. You can use\n this mapping to add more custom editor dependencies as needed. For this purpose you want to create\n a CustomEditor instance via PageMgr.getCustomEditor(String, Map)) and then add it\n to the dependencies mapping with an ID of your choice. In the client side logic of Page Designer\n you will then be able to access these dependencies again by using the corresponding ID.\n \n \n This is especially helpful if your custom editor for an attribute requires to open a breakout panel,\n e.g. for a separate picker required by your custom editor. This picker could be another custom editor,\n i.e. the one you declare as dependency here.",
              "deprecated": false,
              "type": "property"
            },
            "resources": {
              "name": "resources",
              "class": {
                "name": "CustomEditorResources"
              },
              "static": false,
              "readonly": true,
              "description": "The resources of the custom editor. This is initialized with the values as specified\n by the custom editor type json (see the respective styles and scripts section).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getConfiguration": {
              "name": "getConfiguration",
              "args": [],
              "class": {
                "name": "Map",
                "description": "the configuration of the custom editor"
              },
              "description": "Returns the configuration of the custom editor. This is initialized with the values as provided\n through the editor definition of the respective attribute definition of type custom.\n Be aware that this configuration will have to be serializable to JSON itself as it will be passed\n to Page Designer for processing in the UI. So you must not add any values in this map that are not\n properly serializable. Do not use complex DWScript classes that do not support JSON serialization\n like for instance Product.",
              "deprecated": false
            },
            "getDependencies": {
              "name": "getDependencies",
              "args": [],
              "class": {
                "name": "Map",
                "description": "an ID to CustomEditor mapping"
              },
              "description": "Returns the dependencies to other custom editors, e.g. used as breakout elements. You can use\n this mapping to add more custom editor dependencies as needed. For this purpose you want to create\n a CustomEditor instance via PageMgr.getCustomEditor(String, Map)) and then add it\n to the dependencies mapping with an ID of your choice. In the client side logic of Page Designer\n you will then be able to access these dependencies again by using the corresponding ID.\n \n \n This is especially helpful if your custom editor for an attribute requires to open a breakout panel,\n e.g. for a separate picker required by your custom editor. This picker could be another custom editor,\n i.e. the one you declare as dependency here.",
              "deprecated": false
            },
            "getResources": {
              "name": "getResources",
              "args": [],
              "class": {
                "name": "CustomEditorResources",
                "description": "the custom editor resources, will never be null"
              },
              "description": "Returns the resources of the custom editor. This is initialized with the values as specified\n by the custom editor type json (see the respective styles and scripts section).",
              "deprecated": false
            }
          }
        },
        "CustomEditorResources": {
          "fullClassName": "dw.experience.CustomEditorResources",
          "package": "dw.experience",
          "description": "This class represents the resources of a custom editor, i.e. URLs to scripts and styles which are required for\n client side functionality in Page Designer in context of the corresponding custom attribute UI. These resources\n are initially specified as part of your custom editor type (i.e. the respective json file). If needed you can\n revise and refine them as part of the <code>init</code> function that is called during initialization of the\n <a href=\"class_dw_experience_CustomEditor.html\">CustomEditor</a>, i.e. is subject to your implementation of the respective custom editor type js file.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "scripts": {
              "name": "scripts",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The specified script resource URLs. You can further modify this list\n at runtime of your init function to add more required scripts.\n Absolute URLs will be retained, relative paths will be resolved to absolute\n ones based on the cartridge path for static resources (e.g. similar to\n what URLUtils.httpStatic(String) or\n URLUtils.httpsStatic(String)) does.",
              "deprecated": false,
              "type": "property"
            },
            "styles": {
              "name": "styles",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The specified style URLs. You can further modify this list\n at runtime of your init function to add more required styles.\n Absolute URLs will be retained, relative paths will be resolved to absolute\n ones based on the cartridge path for static resources (e.g. similar to\n what URLUtils.httpStatic(String) or\n URLUtils.httpsStatic(String)) does.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getScripts": {
              "name": "getScripts",
              "args": [],
              "class": {
                "name": "List",
                "description": "the script resources, will never be null"
              },
              "description": "Returns the specified script resource URLs. You can further modify this list\n at runtime of your init function to add more required scripts.\n Absolute URLs will be retained, relative paths will be resolved to absolute\n ones based on the cartridge path for static resources (e.g. similar to\n what URLUtils.httpStatic(String) or\n URLUtils.httpsStatic(String)) does.",
              "deprecated": false
            },
            "getStyles": {
              "name": "getStyles",
              "args": [],
              "class": {
                "name": "List",
                "description": "the style resources, will never be null"
              },
              "description": "Returns the specified style URLs. You can further modify this list\n at runtime of your init function to add more required styles.\n Absolute URLs will be retained, relative paths will be resolved to absolute\n ones based on the cartridge path for static resources (e.g. similar to\n what URLUtils.httpStatic(String) or\n URLUtils.httpsStatic(String)) does.",
              "deprecated": false
            }
          }
        },
        "cms": {
          "CMSRecord": {
            "fullClassName": "dw.experience.cms.CMSRecord",
            "package": "dw.experience.cms",
            "description": "This class represents a Salesforce CMS record, exposing its:\n <ul>\n     <li><code>id</code>, see <a href=\"class_dw_experience_cms_CMSRecord.html#dw_experience_cms_CMSRecord_getID_DetailAnchor\">getID()</a></li>\n     <li><code>type</code>, see <a href=\"class_dw_experience_cms_CMSRecord.html#dw_experience_cms_CMSRecord_getType_DetailAnchor\">getType()</a></li>\n     <li><code>attributes</code>, see <a href=\"class_dw_experience_cms_CMSRecord.html#dw_experience_cms_CMSRecord_getAttributes_DetailAnchor\">getAttributes()</a></li>\n </ul>\n The <code>attributes</code> are key value pairs:\n <ul>\n     <li>the key being the attribute id as given in the <code>type.attribute_definitions</code> entries</li>\n     <li>the value being a DWScript API object resolved from the raw attribute value based on the attribute type as given in the <code>type.attribute_definitions</code> entries\n         (similar to how <a href=\"class_dw_experience_ComponentScriptContext.html#dw_experience_ComponentScriptContext_getContent_DetailAnchor\">ComponentScriptContext.getContent()</a> exposes the raw attribute value of a <a href=\"class_dw_experience_Component.html#dw_experience_Component_getAttribute_String_DetailAnchor\">Component.getAttribute(String)</a> in shape of a DWScript API object based on the attribute type)</li>\n </ul>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "attributes": {
                "name": "attributes",
                "class": {
                  "name": "Map"
                },
                "static": false,
                "readonly": true,
                "description": "Return the Salesforce CMS record attributes as key value pairs:\n \n     the key being the attribute id as given in the getType().attribute_definitions entries\n     the value being a DWScript API object resolved from the raw attribute value based on the attribute type as given in the getType().attribute_definitions entries\n         (similar to how ComponentScriptContext.getContent() exposes the raw attribute value of a Component.getAttribute(String) in shape of a DWScript API object based on the attribute type)\n \n\n The attributes are also conveniently accessible through named property support. That means if myCmsRecord.getAttributes().get('foo') yields value 'bar',\n then myCmsRecord.foo will give the same results.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "Return the id of the Salesforce CMS record.",
                "deprecated": false,
                "type": "property"
              },
              "type": {
                "name": "type",
                "class": {
                  "name": "Map"
                },
                "static": false,
                "readonly": true,
                "description": "Return the type of the Salesforce CMS record sufficing the content/schema/cmsrecord.json#/definitions/cms_content_type schema. Properties\n can be accessed accordingly:\n \n     getType().id : string\n     getType().name : string\n     getType().attribute_definitions : Map (see content/schema/attributedefinition.json)",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAttributes": {
                "name": "getAttributes",
                "args": [],
                "class": {
                  "name": "Map",
                  "description": "the cms record attributes"
                },
                "description": "Return the Salesforce CMS record attributes as key value pairs:\n \n     the key being the attribute id as given in the getType().attribute_definitions entries\n     the value being a DWScript API object resolved from the raw attribute value based on the attribute type as given in the getType().attribute_definitions entries\n         (similar to how ComponentScriptContext.getContent() exposes the raw attribute value of a Component.getAttribute(String) in shape of a DWScript API object based on the attribute type)\n \n\n The attributes are also conveniently accessible through named property support. That means if myCmsRecord.getAttributes().get('foo') yields value 'bar',\n then myCmsRecord.foo will give the same results.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the id of the Salesforce CMS record"
                },
                "description": "Return the id of the Salesforce CMS record.",
                "deprecated": false
              },
              "getType": {
                "name": "getType",
                "args": [],
                "class": {
                  "name": "Map",
                  "description": "the type of the cms record"
                },
                "description": "Return the type of the Salesforce CMS record sufficing the content/schema/cmsrecord.json#/definitions/cms_content_type schema. Properties\n can be accessed accordingly:\n \n     getType().id : string\n     getType().name : string\n     getType().attribute_definitions : Map (see content/schema/attributedefinition.json)",
                "deprecated": false
              }
            }
          }
        },
        "image": {
          "FocalPoint": {
            "fullClassName": "dw.experience.image.FocalPoint",
            "package": "dw.experience.image",
            "description": "This class represents an image focal point.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "x": {
                "name": "x",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": true,
                "description": "The focal point abscissa.",
                "deprecated": false,
                "type": "property"
              },
              "y": {
                "name": "y",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": true,
                "description": "The focal point ordinate.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getX": {
                "name": "getX",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the focal point abscissa"
                },
                "description": "Returns the focal point abscissa.",
                "deprecated": false
              },
              "getY": {
                "name": "getY",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the focal point ordinate"
                },
                "description": "Returns the focal point ordinate.",
                "deprecated": false
              }
            }
          },
          "Image": {
            "fullClassName": "dw.experience.image.Image",
            "package": "dw.experience.image",
            "description": "This class represents an image with additional configuration capabilities (e.g. optional focal point).\n Furthermore it provides access to meta data of the referenced image file.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "file": {
                "name": "file",
                "class": {
                  "name": "MediaFile"
                },
                "static": false,
                "readonly": true,
                "description": "The image media file from the current site's library.",
                "deprecated": false,
                "type": "property"
              },
              "focalPoint": {
                "name": "focalPoint",
                "class": {
                  "name": "FocalPoint"
                },
                "static": false,
                "readonly": true,
                "description": "The focal point of the image.",
                "deprecated": false,
                "type": "property"
              },
              "metaData": {
                "name": "metaData",
                "class": {
                  "name": "ImageMetaData"
                },
                "static": false,
                "readonly": true,
                "description": "The meta data of the physical image file. This meta data is obtained when\n the respective component attribute was saved from Page Designer, i.e. the underlying\n image is not queried for the meta data every time getMetaData() is called\n but only on store of the related component attribute.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getFile": {
                "name": "getFile",
                "args": [],
                "class": {
                  "name": "MediaFile",
                  "description": "the image media file, or null if not found"
                },
                "description": "Returns the image media file from the current site's library.",
                "deprecated": false
              },
              "getFocalPoint": {
                "name": "getFocalPoint",
                "args": [],
                "class": {
                  "name": "FocalPoint",
                  "description": "the focal point, or null if not found"
                },
                "description": "Returns the focal point of the image.",
                "deprecated": false
              },
              "getMetaData": {
                "name": "getMetaData",
                "args": [],
                "class": {
                  "name": "ImageMetaData",
                  "description": "the meta data of the image, or null if no meta data was provided with the respective component attribute"
                },
                "description": "Returns the meta data of the physical image file. This meta data is obtained when\n the respective component attribute was saved from Page Designer, i.e. the underlying\n image is not queried for the meta data every time getMetaData() is called\n but only on store of the related component attribute.",
                "deprecated": false
              }
            }
          },
          "ImageMetaData": {
            "fullClassName": "dw.experience.image.ImageMetaData",
            "package": "dw.experience.image",
            "description": "This class represents the image meta data, e.g. width and height.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "height": {
                "name": "height",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": true,
                "description": "The image height.",
                "deprecated": false,
                "type": "property"
              },
              "width": {
                "name": "width",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": true,
                "description": "The image width.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getHeight": {
                "name": "getHeight",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the image height in pixel"
                },
                "description": "Returns the image height.",
                "deprecated": false
              },
              "getWidth": {
                "name": "getWidth",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the image width in pixel"
                },
                "description": "Returns the image width.",
                "deprecated": false
              }
            }
          }
        }
      },
      "extensions": {
        "applepay": {
          "ApplePayHookResult": {
            "fullClassName": "dw.extensions.applepay.ApplePayHookResult",
            "package": "dw.extensions.applepay",
            "description": "<p>\n Result of a hook handling an Apple Pay request.\n </p>\n\n <p>\n Use the constants in this type to indicate specific error reasons to be provided\n to Apple Pay JS. For example, the following code creates a <a href=\"class_dw_system_Status.html\">Status</a>\n that indicates the shipping contact information provided by Apple Pay is invalid:\n </p>\n\n <pre> var ApplePayHookResult = require('dw/extensions/applepay/ApplePayHookResult');\n var Status = require('dw/system/Status');\n\n var error = new Status(Status.ERROR);\n error.addDetail(ApplePayHookResult.STATUS_REASON_DETAIL_KEY, ApplePayHookResult.REASON_SHIPPING_CONTACT);\n </pre>\n\n <p>\n If a specific error reason is not provided, the generic Apple Pay <code>STATUS_FAILURE</code>\n reason will be used when necessary.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "REASON_BILLING_ADDRESS": {
                "name": "REASON_BILLING_ADDRESS",
                "value": "\"InvalidBillingPostalAddress\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing an invalid billing address.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_FAILURE": {
                "name": "REASON_FAILURE",
                "value": "\"Failure\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing an error or failure not otherwise specified.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_PIN_INCORRECT": {
                "name": "REASON_PIN_INCORRECT",
                "value": "\"PINIncorrect\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing the PIN is incorrect.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_PIN_LOCKOUT": {
                "name": "REASON_PIN_LOCKOUT",
                "value": "\"PINLockout\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing a PIN lockout.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_PIN_REQUIRED": {
                "name": "REASON_PIN_REQUIRED",
                "value": "\"PINRequired\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing a PIN is required.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_SHIPPING_ADDRESS": {
                "name": "REASON_SHIPPING_ADDRESS",
                "value": "\"InvalidShippingPostalAddress\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing an invalid shipping address.",
                "deprecated": false,
                "type": "constant"
              },
              "REASON_SHIPPING_CONTACT": {
                "name": "REASON_SHIPPING_CONTACT",
                "value": "\"InvalidShippingContact\"",
                "class": {
                  "name": "String"
                },
                "description": "Error reason code representing invalid shipping contact information.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_REASON_DETAIL_KEY": {
                "name": "STATUS_REASON_DETAIL_KEY",
                "value": "\"reason\"",
                "class": {
                  "name": "String"
                },
                "description": "Key for the detail to be used in Status objects to indicate\n the reason to communicate to Apple Pay for errors.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "eventDetail": {
                "name": "eventDetail",
                "class": {
                  "name": "Object"
                },
                "static": false,
                "readonly": true,
                "description": "Detail to the JS custom event to dispatch in response to this result.",
                "deprecated": false,
                "type": "property"
              },
              "eventName": {
                "name": "eventName",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "Name of the JS custom event to dispatch in response to this result.",
                "deprecated": false,
                "type": "property"
              },
              "redirect": {
                "name": "redirect",
                "class": {
                  "name": "URL"
                },
                "static": false,
                "readonly": true,
                "description": "URL to navigate to in response to this result.",
                "deprecated": false,
                "type": "property"
              },
              "status": {
                "name": "status",
                "class": {
                  "name": "Status"
                },
                "static": false,
                "readonly": true,
                "description": "Status describing the outcome of this result.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {
              "ApplePayHookResult": {
                "name": "ApplePayHookResult",
                "args": [
                  {
                    "name": "status",
                    "description": "status of the result",
                    "class": {
                      "name": "Status"
                    },
                    "multiple": false
                  },
                  {
                    "name": "redirect",
                    "description": "optional URL to which to navigate to in response to this outcome",
                    "class": {
                      "name": "URL"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "description": ""
                },
                "description": "Constructs a result with the given outcome information.",
                "deprecated": false
              }
            },
            "methods": {
              "getEventDetail": {
                "name": "getEventDetail",
                "args": [],
                "class": {
                  "name": "Object",
                  "description": "event detail"
                },
                "description": "Detail to the JS custom event to dispatch in response to this result.",
                "deprecated": false
              },
              "getEventName": {
                "name": "getEventName",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "event name"
                },
                "description": "Name of the JS custom event to dispatch in response to this result.",
                "deprecated": false
              },
              "getRedirect": {
                "name": "getRedirect",
                "args": [],
                "class": {
                  "name": "URL",
                  "description": "redirect URL"
                },
                "description": "URL to navigate to in response to this result.",
                "deprecated": false
              },
              "getStatus": {
                "name": "getStatus",
                "args": [],
                "class": {
                  "name": "Status",
                  "description": "status of this result"
                },
                "description": "Status describing the outcome of this result.",
                "deprecated": false
              },
              "setEvent": {
                "name": "setEvent",
                "args": [
                  {
                    "name": "name",
                    "description": "JS custom event name",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the name of the JS custom event to dispatch in response to this result.",
                "deprecated": false
              },
              "setEvent0": {
                "name": "setEvent",
                "args": [
                  {
                    "name": "name",
                    "description": "JS custom event name",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  },
                  {
                    "name": "detail",
                    "description": "JS custom event detail",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the name and detail of the JS custom event to dispatch in response to this result.",
                "deprecated": false
              }
            }
          },
          "ApplePayHooks": {
            "fullClassName": "dw.extensions.applepay.ApplePayHooks",
            "package": "dw.extensions.applepay",
            "description": "ApplePayHooks interface containing extension points for customizing Apple Pay.\n <p>\n These hooks are executed in a transaction.\n </p><p>\n The extension points (hook names), and the functions that are called by each extension point. A function must be\n defined inside a JavaScript source and must be exported. The script with the exported hook function must be located\n inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n </p><p>\n\n </p><pre> \"hooks\": \"./hooks.json\"\n </pre>\n\n The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks\n inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.extensions.applepay.getRequest\", \"script\": \"./applepay.ds\"}\n      {\"name\": \"dw.extensions.applepay.shippingContactSelected\", \"script\": \"./applepay.ds\"}\n ]\n </pre>\n <p>\n A hook entry has a 'name' and a 'script' property.\n </p><ul>\n <li>The 'name' contains the extension point, the hook name.</li>\n <li>The 'script' contains the script relative to the hooks file, with the exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointCancel": {
                "name": "extensionPointCancel",
                "value": "\"dw.extensions.applepay.cancel\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.cancel.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointGetRequest": {
                "name": "extensionPointGetRequest",
                "value": "\"dw.extensions.applepay.getRequest\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.getRequest.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAuthorizedAuthorizeOrderPayment": {
                "name": "extensionPointPaymentAuthorizedAuthorizeOrderPayment",
                "value": "\"dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.paymentAuthorized.authorizeOrderPayment.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAuthorizedCreateOrder": {
                "name": "extensionPointPaymentAuthorizedCreateOrder",
                "value": "\"dw.extensions.applepay.paymentAuthorized.createOrder\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.paymentAuthorized.createOrder.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAuthorizedFailOrder": {
                "name": "extensionPointPaymentAuthorizedFailOrder",
                "value": "\"dw.extensions.applepay.paymentAuthorized.failOrder\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.paymentAuthorized.failOrder.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAuthorizedPlaceOrder": {
                "name": "extensionPointPaymentAuthorizedPlaceOrder",
                "value": "\"dw.extensions.applepay.paymentAuthorized.placeOrder\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.paymentAuthorized.placeOrder.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentMethodSelected": {
                "name": "extensionPointPaymentMethodSelected",
                "value": "\"dw.extensions.applepay.paymentMethodSelected\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.paymentMethodSelected.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPrepareBasket": {
                "name": "extensionPointPrepareBasket",
                "value": "\"dw.extensions.applepay.prepareBasket\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.prepareBasket.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingContactSelected": {
                "name": "extensionPointShippingContactSelected",
                "value": "\"dw.extensions.applepay.shippingContactSelected\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.shippingContactSelected.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingMethodSelected": {
                "name": "extensionPointShippingMethodSelected",
                "value": "\"dw.extensions.applepay.shippingMethodSelected\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.applepay.shippingMethodSelected.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "authorizeOrderPayment": {
                "name": "authorizeOrderPayment",
                "args": [
                  {
                    "name": "order",
                    "description": "the order paid using Apple Pay",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "event",
                    "description": "ApplePayPaymentAuthorizedEvent object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null status ends the hook execution"
                },
                "description": "Called to authorize the Apple Pay payment for the order. The given order will have been created by the\n extensionPointPaymentAuthorizedCreateOrder hook, after the basket was populated with data from\n the ApplePayPaymentAuthorizedEvent.\n \n \n Return a non-error status if you have successfully authorized the payment with your payment service provider.\n Your hook implementation must set the necessary payment status and transaction identifier data on the order as\n returned by the provider.\n \n \n Return an error status to indicate a problem, including unsuccessful authorization. See\n ApplePayHookResult for how to indicate error statuses with detail information to\n be provided to Apple Pay.\n \n \n See the Apple Pay JS API Reference for more information.",
                "deprecated": false
              },
              "cancel": {
                "name": "cancel",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket that was being checked out using Apple Pay",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after the Apple Pay payment sheet was canceled. There is no Apple Pay JS event object for this case. The\n given basket is the one that was passed to other hooks earlier in the Apple Pay checkout process.\n \n \n It is not guaranteed that this hook will be executed for all Apple Pay payment sheets canceled by shoppers or\n otherwise ended without a successful order. Calls to this hook are provided on a best-effort basis.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if possible. It\n is not guaranteed that the response with the hook result will be handled in the shopper browser in all cases.",
                "deprecated": false
              },
              "createOrder": {
                "name": "createOrder",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Apple Pay",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "event",
                    "description": "ApplePayPaymentAuthorizedEvent object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Order",
                  "description": "a non-null order ends the hook execution"
                },
                "description": "Called after handling the given ApplePayPaymentAuthorizedEvent for the given basket. Customer\n information, billing address, and/or shipping address for the default shipment will have already been updated to\n reflect the available contact information provided by Apple Pay based on the Apple Pay configuration for your\n site. Any preexisting payment instruments on the basket will have been removed, and a single\n DW_APPLE_PAY payment instrument added for the total amount.\n \n \n The purpose of this hook is to populate the created order with any necessary information from the basket\n or the Apple Pay event. Do not use this hook for address verification, or any other validation. Instead\n use the extensionPointPaymentAuthorizedAuthorizeOrderPayment hook which allows you to return\n an ApplePayHookResult with error status information.\n \n \n The default implementation of this hook simply calls OrderMgr.createOrder and returns the created\n order.\n \n \n Throw an error to indicate a problem creating the order.",
                "deprecated": false
              },
              "failOrder": {
                "name": "failOrder",
                "args": [
                  {
                    "name": "order",
                    "description": "the order created for a failed Apple Pay checkout",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "status",
                    "description": "status code returned by the {@value #extensionPointPaymentAuthorizedAuthorizeOrderPayment} hook",
                    "class": {
                      "name": "Status"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "ApplePayHookResult containing a status code to be provided to Apple Pay. A non-null result ends the hook execution"
                },
                "description": "Called after payment authorization is unsuccessful and the given Apple Pay order must be failed. The purpose\n of this hook is to fail the order, or return a redirect URL that results in the order being failed when the shopper\n browser is navigated to it. The given status object is the result of calling the\n extensionPointPaymentAuthorizedAuthorizeOrderPayment hook.\n \n \n The default implementation of this hook simply calls OrderMgr.failOrder, and returns a result\n with the given status and no redirect URL.\n \n \n Return a result with an error status to indicate a problem. See ApplePayHookResult\n for how to indicate error statuses with detail information to be provided to Apple Pay. If the returned result includes\n a redirect URL, the shopper browser will be navigated to that URL if the Apple Pay payment sheet is canceled.",
                "deprecated": false
              },
              "getRequest": {
                "name": "getRequest",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket for the Apple Pay request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "request",
                    "description": "the Apple Pay payment request object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called to get the Apple Pay JS PaymentRequest for the given basket. You can set properties in the\n given request object to extend or override default properties set automatically based on the Apple Pay\n configuration for your site.\n \n \n Return a result with an error status to indicate a problem. See ApplePayHookResult\n for how to indicate error statuses with detail information to be provided to Apple Pay.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple\n Pay payment sheet is canceled.\n \n \n See the Apple Pay JS API Reference for more information.",
                "deprecated": false
              },
              "paymentMethodSelected": {
                "name": "paymentMethodSelected",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Apple Pay",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "event",
                    "description": "ApplePayPaymentMethodSelectedEvent object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  },
                  {
                    "name": "response",
                    "description": "JS object containing Apple Pay event callback parameters",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after handling the given ApplePayPaymentMethodSelectedEvent for the given basket. This Apple\n Pay event does not contain payment card or device information.\n \n \n The given response object will contain properties whose values are to be passed as parameters to the\n ApplePaySession.completePaymentMethodSelection event callback:\n \n \n total - Updated total line item object\n lineItems - Array of updated line item objects\n \n \n Return a result with an error status to indicate a problem. See ApplePayHookResult\n for how to indicate error statuses with detail information to be provided to Apple Pay.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple\n Pay payment sheet is canceled.\n \n \n See the Apple Pay JS API Reference for more information.",
                "deprecated": false
              },
              "placeOrder": {
                "name": "placeOrder",
                "args": [
                  {
                    "name": "order",
                    "description": "the order paid using Apple Pay",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after payment has been authorized and the given Apple Pay order is ready to be placed. The purpose of this\n hook is to place the order, or return a redirect URL that results in the order being placed when the shopper\n browser is navigated to it.\n \n \n The default implementation of this hook returns a redirect to COPlaceOrder-Submit with URL\n parameters order_id set to Order.getOrderNo() and order_token set to\n Order.getOrderToken() which corresponds to SiteGenesis-based implementations. Your hook\n implementation should return a result with a different redirect URL as necessary to place the order and show an\n order confirmation.\n \n \n Alternatively, your hook implementation itself can place the order and return a result with a redirect URL to an\n order confirmation page that does not place the order. This is inconsistent with SiteGenesis-based\n implementations so is not the default.\n \n \n Return an error status to indicate a problem. See ApplePayHookResult for how to\n indicate error statuses with detail information to be provided to Apple Pay. If the returned result includes a\n redirect URL, the shopper browser will be navigated to that URL if the Apple Pay payment sheet is canceled.",
                "deprecated": false
              },
              "prepareBasket": {
                "name": "prepareBasket",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket for the Apple Pay request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "parameters",
                    "description": "parameters from the <isapplepay></isapplepay> tag",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called to prepare the given basket for an Apple Pay checkout. This hook will be executed after the user\n clicks the Apple Pay button.\n \n \n The default implementation of this hook calculates the basket. A custom hook implementation that returns a\n non-null result must calculate the basket.\n \n \n The given parameters object will contain properties whose values are passed from the\n <isapplepay></isapplepay> tag:\n \n \n sku - SKU of product to checkout exclusively\n \n \n Return a result with an error status to indicate a problem. For this hook there is no opportunity to provide user\n feedback, so if any error status is returned, the Apple Pay payment sheet will be aborted.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL after the Apple\n Pay payment sheet is aborted.",
                "deprecated": false
              },
              "shippingContactSelected": {
                "name": "shippingContactSelected",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Apple Pay",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "event",
                    "description": "ApplePayShippingContactSelectedEvent object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  },
                  {
                    "name": "response",
                    "description": "JS object containing Apple Pay event callback parameters",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after handling the given ApplePayShippingContactSelectedEvent for the given basket. Basket\n customer information and/or shipping address for the default shipment will have already been updated to reflect\n the available shipping contact information provided by Apple Pay based on the Apple Pay configuration for your\n site. The basket will have already been calculated before this hook is called.\n \n \n The given response object will contain properties whose values are to be passed as parameters to the\n ApplePaySession.completeShippingContactSelection event callback:\n \n \n shippingMethods - Array of applicable shipping method JS objects\n total - Updated total line item object\n lineItems - Array of updated line item objects\n \n \n Return a result with an error status to indicate a problem. See ApplePayHookResult\n for how to indicate error statuses with detail information to be provided to Apple Pay.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple\n Pay payment sheet is canceled.\n \n \n See the Apple Pay JS API Reference for more information.",
                "deprecated": false
              },
              "shippingMethodSelected": {
                "name": "shippingMethodSelected",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Apple Pay",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "shippingMethod",
                    "description": "the shipping method that was selected",
                    "class": {
                      "name": "ShippingMethod"
                    },
                    "multiple": false
                  },
                  {
                    "name": "event",
                    "description": "ApplePayShippingMethodSelectedEvent object",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  },
                  {
                    "name": "response",
                    "description": "JS object containing Apple Pay event callback parameters",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ApplePayHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after handling the given ApplePayShippingMethodSelectedEvent for the given basket. The given\n shipping method will have already been set on the basket.  The basket will have already been calculated before\n this hook is called.\n \n \n The given response object will contain properties whose values are to be passed as parameters to the\n ApplePaySession.completeShippingMethodSelection event callback:\n \n \n total - Updated total line item object\n lineItems - Array of updated line item objects\n \n \n Return a result with an error status to indicate a problem. See ApplePayHookResult\n for how to indicate error statuses with detail information to be provided to Apple Pay.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Apple\n Pay payment sheet is canceled.\n \n \n See the Apple Pay JS API Reference for more information.",
                "deprecated": false
              }
            }
          }
        },
        "facebook": {
          "FacebookFeedHooks": {
            "fullClassName": "dw.extensions.facebook.FacebookFeedHooks",
            "package": "dw.extensions.facebook",
            "description": "FacebookFeedHooks interface containing extension points for customizing Facebook export feeds.\n <p>\n These hooks are not executed in a transaction.\n </p><p>\n The extension points (hook names), and the functions that are called by each extension point. A function must be\n defined inside a JavaScript source and must be exported. The script with the exported hook function must be located\n inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n </p><p>\n\n </p><pre> \"hooks\": \"./hooks.json\"\n </pre>\n\n The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks\n inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.extensions.facebook.feed.transformProduct\", \"script\": \"./hooks.ds\"}\n ]\n </pre>\n <p>\n A hook entry has a 'name' and a 'script' property.\n </p><ul>\n <li>The 'name' contains the extension point, the hook name.</li>\n <li>The 'script' contains the script relative to the hooks file, with the exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointTransformProduct": {
                "name": "extensionPointTransformProduct",
                "value": "\"dw.extensions.facebook.feed.transformProduct\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.facebook.feed.transformProduct.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "transformProduct": {
                "name": "transformProduct",
                "args": [
                  {
                    "name": "product",
                    "description": "the Demandware product",
                    "class": {
                      "name": "Product"
                    },
                    "multiple": false
                  },
                  {
                    "name": "facebookProduct",
                    "description": "the Facebook representation of the product",
                    "class": {
                      "name": "FacebookProduct"
                    },
                    "multiple": false
                  },
                  {
                    "name": "feedId",
                    "description": "the merchant-selected ID for the feed being exported",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null Status ends the hook execution"
                },
                "description": "Called after default transformation of given Demandware product to Facebook product as part of the catalog feed\n export.\n \n \n To customize multiple feeds differently, for example if one is for Facebook Dynamic Ads and the other is for\n Instagram Commerce, use the feedId parameter to determine which feed is being exported. If the same\n customization should apply to all feeds, ignore the parameter.",
                "deprecated": false
              }
            }
          },
          "FacebookProduct": {
            "fullClassName": "dw.extensions.facebook.FacebookProduct",
            "package": "dw.extensions.facebook",
            "description": "Represents a row in the Facebook catalog feed export.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "AGE_GROUP_ADULT": {
                "name": "AGE_GROUP_ADULT",
                "value": "\"adult\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for adults.",
                "deprecated": false,
                "type": "constant"
              },
              "AGE_GROUP_INFANT": {
                "name": "AGE_GROUP_INFANT",
                "value": "\"infant\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for infant children.",
                "deprecated": false,
                "type": "constant"
              },
              "AGE_GROUP_KIDS": {
                "name": "AGE_GROUP_KIDS",
                "value": "\"kids\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for children.",
                "deprecated": false,
                "type": "constant"
              },
              "AGE_GROUP_NEWBORN": {
                "name": "AGE_GROUP_NEWBORN",
                "value": "\"newborn\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for newborn children.",
                "deprecated": false,
                "type": "constant"
              },
              "AGE_GROUP_TODDLER": {
                "name": "AGE_GROUP_TODDLER",
                "value": "\"toddler\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for toddler children.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_AVAILABLE_FOR_ORDER": {
                "name": "AVAILABILITY_AVAILABLE_FOR_ORDER",
                "value": "\"available for order\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product can be ordered for later shipment.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_IN_STOCK": {
                "name": "AVAILABILITY_IN_STOCK",
                "value": "\"in stock\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is available to ship immediately.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_OUT_OF_STOCK": {
                "name": "AVAILABILITY_OUT_OF_STOCK",
                "value": "\"out of stock\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is out of stock.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_PREORDER": {
                "name": "AVAILABILITY_PREORDER",
                "value": "\"preorder\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product will be available in the future.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_NEW": {
                "name": "CONDITION_NEW",
                "value": "\"new\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is new.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_REFURBISHED": {
                "name": "CONDITION_REFURBISHED",
                "value": "\"refurbished\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is used but has been refurbished.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_USED": {
                "name": "CONDITION_USED",
                "value": "\"used\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product has been used.",
                "deprecated": false,
                "type": "constant"
              },
              "GENDER_FEMALE": {
                "name": "GENDER_FEMALE",
                "value": "\"female\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for females.",
                "deprecated": false,
                "type": "constant"
              },
              "GENDER_MALE": {
                "name": "GENDER_MALE",
                "value": "\"male\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for males.",
                "deprecated": false,
                "type": "constant"
              },
              "GENDER_UNISEX": {
                "name": "GENDER_UNISEX",
                "value": "\"unisex\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is for both males and females.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_SIZE_UNIT_CM": {
                "name": "SHIPPING_SIZE_UNIT_CM",
                "value": "\"cm\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is measured in centimeters.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_SIZE_UNIT_FT": {
                "name": "SHIPPING_SIZE_UNIT_FT",
                "value": "\"ft\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is measured in feet.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_SIZE_UNIT_IN": {
                "name": "SHIPPING_SIZE_UNIT_IN",
                "value": "\"in\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is measured in inches.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_SIZE_UNIT_M": {
                "name": "SHIPPING_SIZE_UNIT_M",
                "value": "\"m\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is measured in meters.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_WEIGHT_UNIT_G": {
                "name": "SHIPPING_WEIGHT_UNIT_G",
                "value": "\"g\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is weighed in grams.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_WEIGHT_UNIT_KG": {
                "name": "SHIPPING_WEIGHT_UNIT_KG",
                "value": "\"kg\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is weighed in kilograms.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_WEIGHT_UNIT_LB": {
                "name": "SHIPPING_WEIGHT_UNIT_LB",
                "value": "\"lb\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is weighed in pounds.",
                "deprecated": false,
                "type": "constant"
              },
              "SHIPPING_WEIGHT_UNIT_OZ": {
                "name": "SHIPPING_WEIGHT_UNIT_OZ",
                "value": "\"oz\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is weighed in ounces.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "ageGroup": {
                "name": "ageGroup",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The age group for the Facebook product.",
                "deprecated": false,
                "type": "property"
              },
              "availability": {
                "name": "availability",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The availability of the Facebook product.",
                "deprecated": false,
                "type": "property"
              },
              "brand": {
                "name": "brand",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook brand of the product.",
                "deprecated": false,
                "type": "property"
              },
              "color": {
                "name": "color",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook color value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "condition": {
                "name": "condition",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The condition of the Facebook product.",
                "deprecated": false,
                "type": "property"
              },
              "customLabel0": {
                "name": "customLabel0",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook custom label 0 value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "customLabel1": {
                "name": "customLabel1",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook custom label 1 value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "customLabel2": {
                "name": "customLabel2",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook custom label 2 value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "customLabel3": {
                "name": "customLabel3",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook custom label 3 value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "customLabel4": {
                "name": "customLabel4",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook custom label 4 value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "description": {
                "name": "description",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The description of the Facebook product.",
                "deprecated": false,
                "type": "property"
              },
              "expirationDate": {
                "name": "expirationDate",
                "class": {
                  "name": "Date"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook expiration date of the product. If the product is expired it will not be shown.",
                "deprecated": false,
                "type": "property"
              },
              "gender": {
                "name": "gender",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The gender for the Facebook product.",
                "deprecated": false,
                "type": "property"
              },
              "googleProductCategory": {
                "name": "googleProductCategory",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The category of this product in the Google category taxonomy. If the value is longer than 250 characters\n it is truncated.",
                "deprecated": false,
                "type": "property"
              },
              "gtin": {
                "name": "gtin",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook GTIN of the product.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The ID of the Facebook product. This is the same as the ID of the Demandware product.",
                "deprecated": false,
                "type": "property"
              },
              "imageLinks": {
                "name": "imageLinks",
                "class": {
                  "name": "List"
                },
                "static": false,
                "readonly": false,
                "description": "A list containing the URLs of the images to show in Facebook for the product.",
                "deprecated": false,
                "type": "property"
              },
              "itemGroupID": {
                "name": "itemGroupID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The ID of the Facebook item group for the product, that is, its master product.",
                "deprecated": false,
                "type": "property"
              },
              "link": {
                "name": "link",
                "class": {
                  "name": "URL"
                },
                "static": false,
                "readonly": false,
                "description": "The URL of the Demandware storefront link to the product.",
                "deprecated": false,
                "type": "property"
              },
              "material": {
                "name": "material",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook material value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "mpn": {
                "name": "mpn",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook MPN of the product.",
                "deprecated": false,
                "type": "property"
              },
              "pattern": {
                "name": "pattern",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook pattern value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "price": {
                "name": "price",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": false,
                "description": "The price to show in Facebook for the product.",
                "deprecated": false,
                "type": "property"
              },
              "productType": {
                "name": "productType",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook product type. This is the retailer-defined category of the item.",
                "deprecated": false,
                "type": "property"
              },
              "salePrice": {
                "name": "salePrice",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": false,
                "description": "The sale price to show in Facebook for the product.",
                "deprecated": false,
                "type": "property"
              },
              "salePriceEffectiveDateEnd": {
                "name": "salePriceEffectiveDateEnd",
                "class": {
                  "name": "Date"
                },
                "static": false,
                "readonly": false,
                "description": "The end date of the Facebook sale price of the product.",
                "deprecated": false,
                "type": "property"
              },
              "salePriceEffectiveDateStart": {
                "name": "salePriceEffectiveDateStart",
                "class": {
                  "name": "Date"
                },
                "static": false,
                "readonly": false,
                "description": "The start date of the Facebook sale price of the product.",
                "deprecated": false,
                "type": "property"
              },
              "shippingHeight": {
                "name": "shippingHeight",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": false,
                "description": "The shipping height of the product.",
                "deprecated": false,
                "type": "property"
              },
              "shippingLength": {
                "name": "shippingLength",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": false,
                "description": "The shipping length of the product.",
                "deprecated": false,
                "type": "property"
              },
              "shippingSizeUnit": {
                "name": "shippingSizeUnit",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The shipping size unit of the product.",
                "deprecated": false,
                "type": "property"
              },
              "shippingWeight": {
                "name": "shippingWeight",
                "class": {
                  "name": "Quantity"
                },
                "static": false,
                "readonly": false,
                "description": "The shipping weight for the product.",
                "deprecated": false,
                "type": "property"
              },
              "shippingWidth": {
                "name": "shippingWidth",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": false,
                "description": "The shipping width of the product.",
                "deprecated": false,
                "type": "property"
              },
              "size": {
                "name": "size",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Facebook size value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "title": {
                "name": "title",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The title of the Facebook product.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAgeGroup": {
                "name": "getAgeGroup",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product age group"
                },
                "description": "Returns the age group for the Facebook product.",
                "deprecated": false
              },
              "getAvailability": {
                "name": "getAvailability",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product availability"
                },
                "description": "Returns the availability of the Facebook product.",
                "deprecated": false
              },
              "getBrand": {
                "name": "getBrand",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the brand"
                },
                "description": "Returns the Facebook brand of the product.",
                "deprecated": false
              },
              "getColor": {
                "name": "getColor",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the color value label"
                },
                "description": "Returns the Facebook color value label of the product.",
                "deprecated": false
              },
              "getCondition": {
                "name": "getCondition",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product condition"
                },
                "description": "Returns the condition of the Facebook product.",
                "deprecated": false
              },
              "getCustomLabel0": {
                "name": "getCustomLabel0",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the custom label 0 value"
                },
                "description": "Returns the Facebook custom label 0 value of the product.",
                "deprecated": false
              },
              "getCustomLabel1": {
                "name": "getCustomLabel1",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the custom label 1 value"
                },
                "description": "Returns the Facebook custom label 1 value of the product.",
                "deprecated": false
              },
              "getCustomLabel2": {
                "name": "getCustomLabel2",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the custom label 2 value"
                },
                "description": "Returns the Facebook custom label 2 value of the product.",
                "deprecated": false
              },
              "getCustomLabel3": {
                "name": "getCustomLabel3",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the custom label 3 value"
                },
                "description": "Returns the Facebook custom label 3 value of the product.",
                "deprecated": false
              },
              "getCustomLabel4": {
                "name": "getCustomLabel4",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the custom label 4 value"
                },
                "description": "Returns the Facebook custom label 4 value of the product.",
                "deprecated": false
              },
              "getDescription": {
                "name": "getDescription",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product description"
                },
                "description": "Returns the description of the Facebook product.",
                "deprecated": false
              },
              "getExpirationDate": {
                "name": "getExpirationDate",
                "args": [],
                "class": {
                  "name": "Date",
                  "description": "the expiration date"
                },
                "description": "Returns the Facebook expiration date of the product. If the product is expired it will not be shown.",
                "deprecated": false
              },
              "getGender": {
                "name": "getGender",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product gender"
                },
                "description": "Returns the gender for the Facebook product.",
                "deprecated": false
              },
              "getGoogleProductCategory": {
                "name": "getGoogleProductCategory",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the category of this product in the Google category taxonomy"
                },
                "description": "Returns the category of this product in the Google category taxonomy. If the value is longer than 250 characters\n it is truncated.",
                "deprecated": false
              },
              "getGtin": {
                "name": "getGtin",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the GTIN"
                },
                "description": "Returns the Facebook GTIN of the product.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product ID"
                },
                "description": "Returns the ID of the Facebook product. This is the same as the ID of the Demandware product.",
                "deprecated": false
              },
              "getImageLinks": {
                "name": "getImageLinks",
                "args": [],
                "class": {
                  "name": "List",
                  "description": "the URLs of the images"
                },
                "description": "Returns a list containing the URLs of the images to show in Facebook for the product.",
                "deprecated": false
              },
              "getItemGroupID": {
                "name": "getItemGroupID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the ID of the Facebook item group"
                },
                "description": "Returns the ID of the Facebook item group for the product, that is, its master product.",
                "deprecated": false
              },
              "getLink": {
                "name": "getLink",
                "args": [],
                "class": {
                  "name": "URL",
                  "description": "the URL of the storefront link"
                },
                "description": "Returns the URL of the Demandware storefront link to the product.",
                "deprecated": false
              },
              "getMaterial": {
                "name": "getMaterial",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the material value label"
                },
                "description": "Returns the Facebook material value label of the product.",
                "deprecated": false
              },
              "getMpn": {
                "name": "getMpn",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the MPN"
                },
                "description": "Returns the Facebook MPN of the product.",
                "deprecated": false
              },
              "getPattern": {
                "name": "getPattern",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the pattern value label"
                },
                "description": "Returns the Facebook pattern value label of the product.",
                "deprecated": false
              },
              "getPrice": {
                "name": "getPrice",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": "the price to show in Facebook"
                },
                "description": "Returns the price to show in Facebook for the product.",
                "deprecated": false
              },
              "getProductType": {
                "name": "getProductType",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the Facebook product type"
                },
                "description": "Returns the Facebook product type. This is the retailer-defined category of the item.",
                "deprecated": false
              },
              "getSalePrice": {
                "name": "getSalePrice",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": "the sale price to show in Facebook"
                },
                "description": "Returns the sale price to show in Facebook for the product.",
                "deprecated": false
              },
              "getSalePriceEffectiveDateEnd": {
                "name": "getSalePriceEffectiveDateEnd",
                "args": [],
                "class": {
                  "name": "Date",
                  "description": "the end date of the Facebook sale price"
                },
                "description": "Returns the end date of the Facebook sale price of the product.",
                "deprecated": false
              },
              "getSalePriceEffectiveDateStart": {
                "name": "getSalePriceEffectiveDateStart",
                "args": [],
                "class": {
                  "name": "Date",
                  "description": "the start date of the Facebook sale price"
                },
                "description": "Returns the start date of the Facebook sale price of the product.",
                "deprecated": false
              },
              "getShippingHeight": {
                "name": "getShippingHeight",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the shipping height"
                },
                "description": "Returns the shipping height of the product.",
                "deprecated": false
              },
              "getShippingLength": {
                "name": "getShippingLength",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the shipping length"
                },
                "description": "Returns the shipping length of the product.",
                "deprecated": false
              },
              "getShippingSizeUnit": {
                "name": "getShippingSizeUnit",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the shipping size unit"
                },
                "description": "Returns the shipping size unit of the product.",
                "deprecated": false
              },
              "getShippingWeight": {
                "name": "getShippingWeight",
                "args": [],
                "class": {
                  "name": "Quantity",
                  "description": "the shipping weight"
                },
                "description": "Returns the shipping weight for the product.",
                "deprecated": false
              },
              "getShippingWidth": {
                "name": "getShippingWidth",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the shipping width"
                },
                "description": "Returns the shipping width of the product.",
                "deprecated": false
              },
              "getSize": {
                "name": "getSize",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the size value label"
                },
                "description": "Returns the Facebook size value label of the product.",
                "deprecated": false
              },
              "getTitle": {
                "name": "getTitle",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product title"
                },
                "description": "Returns the title of the Facebook product.",
                "deprecated": false
              },
              "setAgeGroup": {
                "name": "setAgeGroup",
                "args": [
                  {
                    "name": "ageGroup",
                    "description": "the ageGroup to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the age group for the Facebook product. Possible values are\n AGE_GROUP_ADULT,\n AGE_GROUP_INFANT,\n AGE_GROUP_KIDS,\n AGE_GROUP_NEWBORN,\n AGE_GROUP_TODDLER, or null.",
                "deprecated": false
              },
              "setAvailability": {
                "name": "setAvailability",
                "args": [
                  {
                    "name": "availability",
                    "description": "the availability status to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the availability of the Facebook product. Possible values are\n AVAILABILITY_AVAILABLE_FOR_ORDER,\n AVAILABILITY_IN_STOCK,\n AVAILABILITY_OUT_OF_STOCK, or\n AVAILABILITY_PREORDER",
                "deprecated": false
              },
              "setBrand": {
                "name": "setBrand",
                "args": [
                  {
                    "name": "brand",
                    "description": "Facebook brand, up to 70 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook brand of the product. If the value is longer than 70 characters it is truncated.",
                "deprecated": false
              },
              "setColor": {
                "name": "setColor",
                "args": [
                  {
                    "name": "color",
                    "description": "Facebook color value label, up to 100 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook color value label of the product. If the value is longer than 100 characters it is truncated.",
                "deprecated": false
              },
              "setCondition": {
                "name": "setCondition",
                "args": [
                  {
                    "name": "condition",
                    "description": "the condition status to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the condition of the Facebook product. Possible values are\n CONDITION_NEW,\n CONDITION_REFURBISHED, or\n CONDITION_USED.",
                "deprecated": false
              },
              "setCustomLabel0": {
                "name": "setCustomLabel0",
                "args": [
                  {
                    "name": "customLabel0",
                    "description": "custom label 0 value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook custom label 0 value of the product.",
                "deprecated": false
              },
              "setCustomLabel1": {
                "name": "setCustomLabel1",
                "args": [
                  {
                    "name": "customLabel1",
                    "description": "custom label 1 value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook custom label 1 value of the product.",
                "deprecated": false
              },
              "setCustomLabel2": {
                "name": "setCustomLabel2",
                "args": [
                  {
                    "name": "customLabel2",
                    "description": "custom label 2 value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook custom label 2 value of the product.",
                "deprecated": false
              },
              "setCustomLabel3": {
                "name": "setCustomLabel3",
                "args": [
                  {
                    "name": "customLabel3",
                    "description": "custom label 3 value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook custom label 3 value of the product.",
                "deprecated": false
              },
              "setCustomLabel4": {
                "name": "setCustomLabel4",
                "args": [
                  {
                    "name": "customLabel4",
                    "description": "custom label 4 value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook custom label 4 value of the product.",
                "deprecated": false
              },
              "setDescription": {
                "name": "setDescription",
                "args": [
                  {
                    "name": "description",
                    "description": "product description, up to 5000 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the description of the Facebook product. If the value is longer than 5000 characters it is truncated.",
                "deprecated": false
              },
              "setExpirationDate": {
                "name": "setExpirationDate",
                "args": [
                  {
                    "name": "expirationDate",
                    "description": "Facebook expiration date",
                    "class": {
                      "name": "Date"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook expiration date of the product.",
                "deprecated": false
              },
              "setGender": {
                "name": "setGender",
                "args": [
                  {
                    "name": "gender",
                    "description": "the gender to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the gender for the Facebook product. Possible values are\n GENDER_MALE,\n GENDER_FEMALE,\n GENDER_UNISEX, or null.",
                "deprecated": false
              },
              "setGoogleProductCategory": {
                "name": "setGoogleProductCategory",
                "args": [
                  {
                    "name": "googleProductCategory",
                    "description": "Google product category",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the category of this product in the Google category taxonomy.",
                "deprecated": false
              },
              "setGtin": {
                "name": "setGtin",
                "args": [
                  {
                    "name": "gtin",
                    "description": "Facebook GTIN, up to 70 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook GTIN of the product. If the value is longer than 70 characters it is truncated.",
                "deprecated": false
              },
              "setImageLinks": {
                "name": "setImageLinks",
                "args": [
                  {
                    "name": "imageLinks",
                    "description": "links to the product images",
                    "class": {
                      "name": "List"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the list of URLs of images to show in Facebook for the product.",
                "deprecated": false
              },
              "setItemGroupID": {
                "name": "setItemGroupID",
                "args": [
                  {
                    "name": "itemGroupID",
                    "description": "ID of Facebook item group",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the ID of the Facebook item group for the product, that is, its master product.",
                "deprecated": false
              },
              "setLink": {
                "name": "setLink",
                "args": [
                  {
                    "name": "link",
                    "description": "Demandware storefront link to the product",
                    "class": {
                      "name": "URL"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the URL of the Demandware storefront link to the product.",
                "deprecated": false
              },
              "setMaterial": {
                "name": "setMaterial",
                "args": [
                  {
                    "name": "material",
                    "description": "Facebook material value label, up to 200 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook material value label of the product. If the value is longer than 200 characters it is\n truncated.",
                "deprecated": false
              },
              "setMpn": {
                "name": "setMpn",
                "args": [
                  {
                    "name": "mpn",
                    "description": "Facebook MPN, up to 70 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook MPN of the product. If the value is longer than 70 characters it is truncated.",
                "deprecated": false
              },
              "setPattern": {
                "name": "setPattern",
                "args": [
                  {
                    "name": "pattern",
                    "description": "Facebook pattern value label, up to 100 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook pattern value label of the product. If the value is longer than 100 characters it is truncated.",
                "deprecated": false
              },
              "setPrice": {
                "name": "setPrice",
                "args": [
                  {
                    "name": "price",
                    "description": "Facebook price",
                    "class": {
                      "name": "Money"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the price to show in Facebook for the product.",
                "deprecated": false
              },
              "setProductType": {
                "name": "setProductType",
                "args": [
                  {
                    "name": "productType",
                    "description": "Facebook product type, up to 750 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook product type. If the value is longer than 750 characters it is truncated.",
                "deprecated": false
              },
              "setSalePrice": {
                "name": "setSalePrice",
                "args": [
                  {
                    "name": "salePrice",
                    "description": "Facebook sale price",
                    "class": {
                      "name": "Money"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the sale price to show in Facebook for the product.",
                "deprecated": false
              },
              "setSalePriceEffectiveDateEnd": {
                "name": "setSalePriceEffectiveDateEnd",
                "args": [
                  {
                    "name": "salePriceEffectiveDateEnd",
                    "description": "end date of Facebook sale price",
                    "class": {
                      "name": "Date"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the end date of the Facebook sale price of the product.",
                "deprecated": false
              },
              "setSalePriceEffectiveDateStart": {
                "name": "setSalePriceEffectiveDateStart",
                "args": [
                  {
                    "name": "salePriceEffectiveDateStart",
                    "description": "start date of Facebook sale price",
                    "class": {
                      "name": "Date"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the start date of the Facebook sale price of the product.",
                "deprecated": false
              },
              "setShippingHeight": {
                "name": "setShippingHeight",
                "args": [
                  {
                    "name": "shippingHeight",
                    "description": "shipping height, may not be negative",
                    "class": {
                      "name": "Number"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the shipping height of the product. If the value is negative it is truncated to 0.",
                "deprecated": false
              },
              "setShippingLength": {
                "name": "setShippingLength",
                "args": [
                  {
                    "name": "shippingLength",
                    "description": "shipping length, may not be negative",
                    "class": {
                      "name": "Number"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the shipping length of the product. If the value is negative it is truncated to 0.",
                "deprecated": false
              },
              "setShippingSizeUnit": {
                "name": "setShippingSizeUnit",
                "args": [
                  {
                    "name": "shippingSizeUnit",
                    "description": "shipping size unit",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the shipping size unit of the product.",
                "deprecated": false
              },
              "setShippingWeight": {
                "name": "setShippingWeight",
                "args": [
                  {
                    "name": "shippingWeight",
                    "description": "product shipping weight",
                    "class": {
                      "name": "Quantity"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the shipping weight for the product. Possible unit values are\n SHIPPING_WEIGHT_UNIT_LB,\n SHIPPING_WEIGHT_UNIT_OZ,\n SHIPPING_WEIGHT_UNIT_G, or\n SHIPPING_WEIGHT_UNIT_KG.",
                "deprecated": false
              },
              "setShippingWidth": {
                "name": "setShippingWidth",
                "args": [
                  {
                    "name": "shippingWidth",
                    "description": "shipping width, may not be negative",
                    "class": {
                      "name": "Number"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the shipping width of the product. If the value is negative it is truncated to 0.",
                "deprecated": false
              },
              "setSize": {
                "name": "setSize",
                "args": [
                  {
                    "name": "size",
                    "description": "Facebook size value label, up to 100 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Facebook size value label of the product. If the value is longer than 100 characters it is truncated.",
                "deprecated": false
              },
              "setTitle": {
                "name": "setTitle",
                "args": [
                  {
                    "name": "title",
                    "description": "product title, up to 100 characters",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the title of the Facebook product. If the value is longer than 100 characters it is truncated.",
                "deprecated": false
              }
            }
          }
        },
        "pinterest": {
          "PinterestAvailability": {
            "fullClassName": "dw.extensions.pinterest.PinterestAvailability",
            "package": "dw.extensions.pinterest",
            "description": "Represents a row in the Pinterest availability feed export file.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "availability": {
                "name": "availability",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The availability of the Pinterest product. Possible values are\n PinterestProduct.AVAILABILITY_IN_STOCK or\n PinterestProduct.AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The ID of the Pinterest product. This is the same as the ID of the Demandware product.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAvailability": {
                "name": "getAvailability",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the availability of the Pinterest product. Possible values are\n PinterestProduct.AVAILABILITY_IN_STOCK or\n PinterestProduct.AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product ID"
                },
                "description": "Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.",
                "deprecated": false
              },
              "setAvailability": {
                "name": "setAvailability",
                "args": [
                  {
                    "name": "availability",
                    "description": "the availability status to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the availability of the Pinterest product. Possible values are\n PinterestProduct.AVAILABILITY_IN_STOCK or\n PinterestProduct.AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false
              }
            }
          },
          "PinterestFeedHooks": {
            "fullClassName": "dw.extensions.pinterest.PinterestFeedHooks",
            "package": "dw.extensions.pinterest",
            "description": "PinterestFeedHooks interface containing extension points for customizing Pinterest export feeds.\n <p>\n These hooks are not executed in a transaction.\n </p><p>\n The extension points (hook names), and the functions that are called by each extension point. A function must be\n defined inside a JavaScript source and must be exported. The script with the exported hook function must be located\n inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n </p><p>\n\n </p><pre> \"hooks\": \"./hooks.json\"\n </pre>\n\n The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks\n inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.extensions.pinterest.feed.transformProduct\", \"script\": \"./hooks.ds\"}\n ]\n </pre>\n <p>\n A hook entry has a 'name' and a 'script' property.\n </p><ul>\n <li>The 'name' contains the extension point, the hook name.</li>\n <li>The 'script' contains the script relative to the hooks file, with the exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointTransformAvailability": {
                "name": "extensionPointTransformAvailability",
                "value": "\"dw.extensions.pinterest.feed.transformAvailability\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.pinterest.feed.transformAvailability.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointTransformProduct": {
                "name": "extensionPointTransformProduct",
                "value": "\"dw.extensions.pinterest.feed.transformProduct\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.pinterest.feed.transformProduct.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "transformAvailability": {
                "name": "transformAvailability",
                "args": [
                  {
                    "name": "product",
                    "description": "the Demandware product",
                    "class": {
                      "name": "Product"
                    },
                    "multiple": false
                  },
                  {
                    "name": "pinterestAvailability",
                    "description": "the Pinterest representation of the product availability",
                    "class": {
                      "name": "PinterestAvailability"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null Status ends the hook execution"
                },
                "description": "Called after default transformation of given Demandware product to Pinterest availability as part of the\n availability feed export.",
                "deprecated": false
              },
              "transformProduct": {
                "name": "transformProduct",
                "args": [
                  {
                    "name": "product",
                    "description": "the Demandware product",
                    "class": {
                      "name": "Product"
                    },
                    "multiple": false
                  },
                  {
                    "name": "pinterestProduct",
                    "description": "the Pinterest representation of the product",
                    "class": {
                      "name": "PinterestProduct"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null Status ends the hook execution"
                },
                "description": "Called after default transformation of given Demandware product to Pinterest product as part of the catalog feed\n export.",
                "deprecated": false
              }
            }
          },
          "PinterestOrder": {
            "fullClassName": "dw.extensions.pinterest.PinterestOrder",
            "package": "dw.extensions.pinterest",
            "description": "An order that was placed through Pinterest.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "PAYMENT_STATUS_NOT_PAID": {
                "name": "PAYMENT_STATUS_NOT_PAID",
                "value": "\"NOT_PAID\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that payment has not been made.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYMENT_STATUS_PAID": {
                "name": "PAYMENT_STATUS_PAID",
                "value": "\"PAID\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that payment is complete.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYMENT_STATUS_PART_PAID": {
                "name": "PAYMENT_STATUS_PART_PAID",
                "value": "\"PART_PAID\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that payment is incomplete.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_BACKORDER": {
                "name": "STATUS_BACKORDER",
                "value": "\"BACKORDER\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order on backorder.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_CANCELLED": {
                "name": "STATUS_CANCELLED",
                "value": "\"CANCELLED\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order that has been canceled.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_DELIVERED": {
                "name": "STATUS_DELIVERED",
                "value": "\"DELIVERED\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order that has been delivered.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_IN_PROGRESS": {
                "name": "STATUS_IN_PROGRESS",
                "value": "\"IN_PROGRESS\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order in progress.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_NEW": {
                "name": "STATUS_NEW",
                "value": "\"NEW\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates a new order.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_RETURNED": {
                "name": "STATUS_RETURNED",
                "value": "\"RETURNED\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order that has been returned.",
                "deprecated": false,
                "type": "constant"
              },
              "STATUS_SHIPPED": {
                "name": "STATUS_SHIPPED",
                "value": "\"SHIPPED\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates an order that has shipped.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "itemId": {
                "name": "itemId",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The item ID for this Pinterest order.",
                "deprecated": false,
                "type": "property"
              },
              "orderNo": {
                "name": "orderNo",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The order number for this Pinterest order. This is the same as the order number of the Demandware order.",
                "deprecated": false,
                "type": "property"
              },
              "paymentStatus": {
                "name": "paymentStatus",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The status of this Pinterest order. Possible values are\n PAYMENT_STATUS_PAID,\n PAYMENT_STATUS_NOT_PAID,\n or PAYMENT_STATUS_PART_PAID.",
                "deprecated": false,
                "type": "property"
              },
              "status": {
                "name": "status",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The status of this Pinterest order. Possible values are\n STATUS_NEW,\n STATUS_IN_PROGRESS,\n STATUS_SHIPPED,\n STATUS_BACKORDER,\n STATUS_CANCELLED,\n STATUS_DELIVERED,\n or STATUS_RETURNED.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getItemId": {
                "name": "getItemId",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the item ID for this Pinterest order.",
                "deprecated": false
              },
              "getOrderNo": {
                "name": "getOrderNo",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "order number"
                },
                "description": "Returns the order number for this Pinterest order. This is the same as the order number of the Demandware order.",
                "deprecated": false
              },
              "getPaymentStatus": {
                "name": "getPaymentStatus",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the status of this Pinterest order. Possible values are\n PAYMENT_STATUS_PAID,\n PAYMENT_STATUS_NOT_PAID,\n or PAYMENT_STATUS_PART_PAID.",
                "deprecated": false
              },
              "getStatus": {
                "name": "getStatus",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the status of this Pinterest order. Possible values are\n STATUS_NEW,\n STATUS_IN_PROGRESS,\n STATUS_SHIPPED,\n STATUS_BACKORDER,\n STATUS_CANCELLED,\n STATUS_DELIVERED,\n or STATUS_RETURNED.",
                "deprecated": false
              },
              "setItemId": {
                "name": "setItemId",
                "args": [
                  {
                    "name": "itemId",
                    "description": "item ID",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the item ID for this Pinterest order.",
                "deprecated": false
              },
              "setPaymentStatus": {
                "name": "setPaymentStatus",
                "args": [
                  {
                    "name": "status",
                    "description": "the status to set for this order",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the status of this Pinterest order. Possible values are\n PAYMENT_STATUS_PAID,\n PAYMENT_STATUS_NOT_PAID,\n or PAYMENT_STATUS_PART_PAID.",
                "deprecated": false
              },
              "setStatus": {
                "name": "setStatus",
                "args": [
                  {
                    "name": "status",
                    "description": "the status to set for this order",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the status of this Pinterest order. Possible values are\n STATUS_NEW,\n STATUS_IN_PROGRESS,\n STATUS_SHIPPED,\n STATUS_BACKORDER,\n STATUS_CANCELLED,\n STATUS_DELIVERED,\n or STATUS_RETURNED.",
                "deprecated": false
              }
            }
          },
          "PinterestOrderHooks": {
            "fullClassName": "dw.extensions.pinterest.PinterestOrderHooks",
            "package": "dw.extensions.pinterest",
            "description": "PinterestOrderHooks interface containing extension points for customizing Pinterest order status.\n <p>\n These hooks are not executed in a transaction.\n </p><p>\n The extension points (hook names), and the functions that are called by each extension point. A function must be\n defined inside a JavaScript source and must be exported. The script with the exported hook function must be located\n inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n </p><p>\n\n </p><pre> \"hooks\": \"./hooks.json\"\n </pre>\n\n The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks\n inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.extensions.pinterest.order.getStatus\", \"script\": \"./hooks.ds\"}\n ]\n </pre>\n <p>\n A hook entry has a 'name' and a 'script' property.\n </p><ul>\n <li>The 'name' contains the extension point, the hook name.</li>\n <li>The 'script' contains the script relative to the hooks file, with the exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointGetStatus": {
                "name": "extensionPointGetStatus",
                "value": "\"dw.extensions.pinterest.order.getStatus\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.pinterest.order.getStatus.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "getStatus": {
                "name": "getStatus",
                "args": [
                  {
                    "name": "order",
                    "description": "the Pinterest order",
                    "class": {
                      "name": "PinterestOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null Status ends the hook execution"
                },
                "description": "Called to retrieve status for the given order. Return a null status for unknown orders.",
                "deprecated": false
              }
            }
          },
          "PinterestProduct": {
            "fullClassName": "dw.extensions.pinterest.PinterestProduct",
            "package": "dw.extensions.pinterest",
            "description": "Represents a row in the Pinterest catalog feed export.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "AVAILABILITY_IN_STOCK": {
                "name": "AVAILABILITY_IN_STOCK",
                "value": "\"in stock\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is in stock.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_OUT_OF_STOCK": {
                "name": "AVAILABILITY_OUT_OF_STOCK",
                "value": "\"out of stock\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is not in stock.",
                "deprecated": false,
                "type": "constant"
              },
              "AVAILABILITY_PREORDER": {
                "name": "AVAILABILITY_PREORDER",
                "value": "\"preorder\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product is availabile in preorder.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_NEW": {
                "name": "CONDITION_NEW",
                "value": "\"new\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product has never been used.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_REFURBISHED": {
                "name": "CONDITION_REFURBISHED",
                "value": "\"refurbished\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product has been used but refurbished.",
                "deprecated": false,
                "type": "constant"
              },
              "CONDITION_USED": {
                "name": "CONDITION_USED",
                "value": "\"used\"",
                "class": {
                  "name": "String"
                },
                "description": "Indicates that the product has been used.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "availability": {
                "name": "availability",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The availability of the Pinterest product. Possible values are\n AVAILABILITY_IN_STOCK or\n AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false,
                "type": "property"
              },
              "brand": {
                "name": "brand",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest brand of the product.",
                "deprecated": false,
                "type": "property"
              },
              "color": {
                "name": "color",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest color value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "colorHex": {
                "name": "colorHex",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest color hex value of the product.",
                "deprecated": false,
                "type": "property"
              },
              "colorImage": {
                "name": "colorImage",
                "class": {
                  "name": "URL"
                },
                "static": false,
                "readonly": false,
                "description": "The URL of the image to show in Pinterest for the product color (swatch).",
                "deprecated": false,
                "type": "property"
              },
              "condition": {
                "name": "condition",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The condition of the Pinterest product. Possible values are\n CONDITION_NEW,\n CONDITION_REFURBISHED, or\n CONDITION_USED.",
                "deprecated": false,
                "type": "property"
              },
              "description": {
                "name": "description",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest description of the product.",
                "deprecated": false,
                "type": "property"
              },
              "googleProductCategory": {
                "name": "googleProductCategory",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The category of this product in the Google category taxonomy.",
                "deprecated": false,
                "type": "property"
              },
              "gtin": {
                "name": "gtin",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest GTIN of the product.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The ID of the Pinterest product. This is the same as the ID of the Demandware product.",
                "deprecated": false,
                "type": "property"
              },
              "imageLinks": {
                "name": "imageLinks",
                "class": {
                  "name": "List"
                },
                "static": false,
                "readonly": false,
                "description": "A list containing the URLs of the image to show in Pinterest for the product.",
                "deprecated": false,
                "type": "property"
              },
              "itemGroupID": {
                "name": "itemGroupID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The ID of the Pinterest item group for the product, that is, its master product.",
                "deprecated": false,
                "type": "property"
              },
              "itemGroupLink": {
                "name": "itemGroupLink",
                "class": {
                  "name": "URL"
                },
                "static": false,
                "readonly": false,
                "description": "The URL of the Pinterest item group for the product, that is, the link to its master product in the\n Demandware storefront.",
                "deprecated": false,
                "type": "property"
              },
              "link": {
                "name": "link",
                "class": {
                  "name": "URL"
                },
                "static": false,
                "readonly": false,
                "description": "The URL of the Demandware storefront link to the product.",
                "deprecated": false,
                "type": "property"
              },
              "maxPrice": {
                "name": "maxPrice",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": false,
                "description": "The maximum price to show in Pinterest for the product.",
                "deprecated": false,
                "type": "property"
              },
              "minPrice": {
                "name": "minPrice",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": false,
                "description": "The minimum price to show in Pinterest for the product.",
                "deprecated": false,
                "type": "property"
              },
              "price": {
                "name": "price",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": false,
                "description": "The price to show in Pinterest for the product.",
                "deprecated": false,
                "type": "property"
              },
              "productCategory": {
                "name": "productCategory",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest category path of the product.",
                "deprecated": false,
                "type": "property"
              },
              "returnPolicy": {
                "name": "returnPolicy",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest return policy of the product.",
                "deprecated": false,
                "type": "property"
              },
              "size": {
                "name": "size",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest size value label of the product.",
                "deprecated": false,
                "type": "property"
              },
              "title": {
                "name": "title",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The Pinterest title of the product.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAvailability": {
                "name": "getAvailability",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the availability of the Pinterest product. Possible values are\n AVAILABILITY_IN_STOCK or\n AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false
              },
              "getBrand": {
                "name": "getBrand",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest brand of the product.",
                "deprecated": false
              },
              "getColor": {
                "name": "getColor",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest color value label of the product.",
                "deprecated": false
              },
              "getColorHex": {
                "name": "getColorHex",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest color hex value of the product.",
                "deprecated": false
              },
              "getColorImage": {
                "name": "getColorImage",
                "args": [],
                "class": {
                  "name": "URL",
                  "description": ""
                },
                "description": "Returns the URL of the image to show in Pinterest for the product color (swatch).",
                "deprecated": false
              },
              "getCondition": {
                "name": "getCondition",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the condition of the Pinterest product. Possible values are\n CONDITION_NEW,\n CONDITION_REFURBISHED, or\n CONDITION_USED.",
                "deprecated": false
              },
              "getDescription": {
                "name": "getDescription",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest description of the product.",
                "deprecated": false
              },
              "getGoogleProductCategory": {
                "name": "getGoogleProductCategory",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the category of this product in the Google category taxonomy.",
                "deprecated": false
              },
              "getGtin": {
                "name": "getGtin",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest GTIN of the product.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "product ID"
                },
                "description": "Returns the ID of the Pinterest product. This is the same as the ID of the Demandware product.",
                "deprecated": false
              },
              "getImageLinks": {
                "name": "getImageLinks",
                "args": [],
                "class": {
                  "name": "List",
                  "description": ""
                },
                "description": "Returns a list containing the URLs of the image to show in Pinterest for the product.",
                "deprecated": false
              },
              "getItemGroupID": {
                "name": "getItemGroupID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the ID of the Pinterest item group for the product, that is, its master product.",
                "deprecated": false
              },
              "getItemGroupLink": {
                "name": "getItemGroupLink",
                "args": [],
                "class": {
                  "name": "URL",
                  "description": ""
                },
                "description": "Returns the URL of the Pinterest item group for the product, that is, the link to its master product in the\n Demandware storefront.",
                "deprecated": false
              },
              "getLink": {
                "name": "getLink",
                "args": [],
                "class": {
                  "name": "URL",
                  "description": ""
                },
                "description": "Returns the URL of the Demandware storefront link to the product.",
                "deprecated": false
              },
              "getMaxPrice": {
                "name": "getMaxPrice",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": ""
                },
                "description": "Returns the maximum price to show in Pinterest for the product.",
                "deprecated": false
              },
              "getMinPrice": {
                "name": "getMinPrice",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": ""
                },
                "description": "Returns the minimum price to show in Pinterest for the product.",
                "deprecated": false
              },
              "getPrice": {
                "name": "getPrice",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": ""
                },
                "description": "Returns the price to show in Pinterest for the product.",
                "deprecated": false
              },
              "getProductCategory": {
                "name": "getProductCategory",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest category path of the product.",
                "deprecated": false
              },
              "getReturnPolicy": {
                "name": "getReturnPolicy",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest return policy of the product.",
                "deprecated": false
              },
              "getSize": {
                "name": "getSize",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest size value label of the product.",
                "deprecated": false
              },
              "getTitle": {
                "name": "getTitle",
                "args": [],
                "class": {
                  "name": "String",
                  "description": ""
                },
                "description": "Returns the Pinterest title of the product.",
                "deprecated": false
              },
              "setAvailability": {
                "name": "setAvailability",
                "args": [
                  {
                    "name": "availability",
                    "description": "the availability status to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the availability of the Pinterest product. Possible values are\n AVAILABILITY_IN_STOCK or\n AVAILABILITY_OUT_OF_STOCK.",
                "deprecated": false
              },
              "setBrand": {
                "name": "setBrand",
                "args": [
                  {
                    "name": "brand",
                    "description": "Pinterest brand",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest brand of the product.",
                "deprecated": false
              },
              "setColor": {
                "name": "setColor",
                "args": [
                  {
                    "name": "color",
                    "description": "Pinterest color value label",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest color value label of the product.",
                "deprecated": false
              },
              "setColorHex": {
                "name": "setColorHex",
                "args": [
                  {
                    "name": "colorHex",
                    "description": "Pinterest color hex value",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest color hex value of the product.",
                "deprecated": false
              },
              "setColorImage": {
                "name": "setColorImage",
                "args": [
                  {
                    "name": "colorImage",
                    "description": "link to Pinterest color image",
                    "class": {
                      "name": "URL"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the URL of the image to show in Pinterest for the product color (swatch).",
                "deprecated": false
              },
              "setCondition": {
                "name": "setCondition",
                "args": [
                  {
                    "name": "condition",
                    "description": "the condition status to set for this product",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the condition of the Pinterest product. Possible values are\n CONDITION_NEW,\n CONDITION_REFURBISHED, or\n CONDITION_USED.",
                "deprecated": false
              },
              "setDescription": {
                "name": "setDescription",
                "args": [
                  {
                    "name": "description",
                    "description": "Pinterest description",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest description of the product.",
                "deprecated": false
              },
              "setGoogleProductCategory": {
                "name": "setGoogleProductCategory",
                "args": [
                  {
                    "name": "googleProductCategory",
                    "description": "Google product category",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the category of this product in the Google category taxonomy.",
                "deprecated": false
              },
              "setGtin": {
                "name": "setGtin",
                "args": [
                  {
                    "name": "gtin",
                    "description": "Pinterest GTIN",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest GTIN of the product.",
                "deprecated": false
              },
              "setImageLinks": {
                "name": "setImageLinks",
                "args": [
                  {
                    "name": "imageLinks",
                    "description": "links to the product images",
                    "class": {
                      "name": "List"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the list of URLs of images to show in Pinterest for the product.",
                "deprecated": false
              },
              "setItemGroupID": {
                "name": "setItemGroupID",
                "args": [
                  {
                    "name": "itemGroupID",
                    "description": "ID of Pinterest item group",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the ID of the Pinterest item group for the product, that is, its master product.",
                "deprecated": false
              },
              "setItemGroupLink": {
                "name": "setItemGroupLink",
                "args": [
                  {
                    "name": "itemGroupLink",
                    "description": "link to the Pinterest item group",
                    "class": {
                      "name": "URL"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the URL of the Pinterest item group for the product, that is, the link to its master product in the\n Demandware storefront.",
                "deprecated": false
              },
              "setLink": {
                "name": "setLink",
                "args": [
                  {
                    "name": "link",
                    "description": "Demandware storefront link to the product",
                    "class": {
                      "name": "URL"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the URL of the Demandware storefront link to the product.",
                "deprecated": false
              },
              "setMaxPrice": {
                "name": "setMaxPrice",
                "args": [
                  {
                    "name": "maxPrice",
                    "description": "Pinterest maximum price",
                    "class": {
                      "name": "Money"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the maximum price to show in Pinterest for the product.",
                "deprecated": false
              },
              "setMinPrice": {
                "name": "setMinPrice",
                "args": [
                  {
                    "name": "minPrice",
                    "description": "Pinterest minimum price",
                    "class": {
                      "name": "Money"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the minimum price to show in Pinterest for the product.",
                "deprecated": false
              },
              "setPrice": {
                "name": "setPrice",
                "args": [
                  {
                    "name": "price",
                    "description": "Pinterest price",
                    "class": {
                      "name": "Money"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the price to show in Pinterest for the product.",
                "deprecated": false
              },
              "setProductCategory": {
                "name": "setProductCategory",
                "args": [
                  {
                    "name": "productCategory",
                    "description": "Pinterest category path",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest category path of the product.",
                "deprecated": false
              },
              "setReturnPolicy": {
                "name": "setReturnPolicy",
                "args": [
                  {
                    "name": "returnPolicy",
                    "description": "Pinterest return policy",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest return policy of the product.",
                "deprecated": false
              },
              "setSize": {
                "name": "setSize",
                "args": [
                  {
                    "name": "size",
                    "description": "Pinterest size value label",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest size value label of the product.",
                "deprecated": false
              },
              "setTitle": {
                "name": "setTitle",
                "args": [
                  {
                    "name": "title",
                    "description": "Pinterest title",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the Pinterest title of the product.",
                "deprecated": false
              }
            }
          }
        }
      },
      "io": {
        "CSVStreamReader": {
          "fullClassName": "dw.io.CSVStreamReader",
          "package": "dw.io",
          "description": "The class supports reading a CSV file. The reader supports handling CSV\n entries where the separator is contained in quotes and also CSV entries where\n a quoted entry contains newline characters.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "CSVStreamReader": {
              "name": "CSVStreamReader",
              "args": [
                {
                  "name": "ioreader",
                  "description": "the reader to use.",
                  "class": {
                    "name": "Reader"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new CSVReader with a ',' as separator character and a '\"' as\n quote character. The reader doesn't skip any header lines.",
              "deprecated": false
            },
            "CSVStreamReader0": {
              "name": "CSVStreamReader",
              "args": [
                {
                  "name": "ioreader",
                  "description": "the reader to use.",
                  "class": {
                    "name": "Reader"
                  },
                  "multiple": false
                },
                {
                  "name": "separator",
                  "description": "a string, which represents the separator character.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new CSVReader with the specified separator character and a '\"'\n as quote character. The reader doesn't skip any header lines.",
              "deprecated": false
            },
            "CSVStreamReader01": {
              "name": "CSVStreamReader",
              "args": [
                {
                  "name": "ioreader",
                  "description": "the reader to use.",
                  "class": {
                    "name": "Reader"
                  },
                  "multiple": false
                },
                {
                  "name": "separator",
                  "description": "a string, which represents the separator character.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quote",
                  "description": "a string, which represents the quote character.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new CSVReader with the specified separator character and the\n specified quote character. The reader doesn't skip any header lines.",
              "deprecated": false
            },
            "CSVStreamReader012": {
              "name": "CSVStreamReader",
              "args": [
                {
                  "name": "ioreader",
                  "description": "the reader to use.",
                  "class": {
                    "name": "Reader"
                  },
                  "multiple": false
                },
                {
                  "name": "separator",
                  "description": "a string, which represents the separator character.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quote",
                  "description": "a string, which represents the quote character.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "skip",
                  "description": "the number of lines to skip at the beginning of the file.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new CSVReader. The separator character, the quote character and\n the number of header lines can be specified in the call.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the underlying reader.",
              "deprecated": false
            },
            "readAll": {
              "name": "readAll",
              "args": [],
              "class": {
                "name": "List",
                "description": "a list of lines representing the entire CSV file."
              },
              "description": "Returns a list of lines representing the entire CSV file. Each line is a\n array of strings.\n \n Using this method on large feeds is inherently unsafe and may lead to an\n out-of-memory condition. Instead use method readNext() and\n process entries line by line.",
              "deprecated": false
            },
            "readNext": {
              "name": "readNext",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "the next line from the input stream as an array of strings."
              },
              "description": "Returns the next line from the input stream. The line is returned as an\n array of strings. The method returns null if the end of the stream is\n reached.",
              "deprecated": false
            }
          }
        },
        "CSVStreamWriter": {
          "fullClassName": "dw.io.CSVStreamWriter",
          "package": "dw.io",
          "description": "The class writes a CSV file.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "CSVStreamWriter": {
              "name": "CSVStreamWriter",
              "args": [
                {
                  "name": "writer",
                  "description": "the writer to use.",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a new CSVStreamWriter with a ',' as separator and '\"'\n as quote character.",
              "deprecated": false
            },
            "CSVStreamWriter0": {
              "name": "CSVStreamWriter",
              "args": [
                {
                  "name": "writer",
                  "description": "the writer to use.",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                },
                {
                  "name": "separator",
                  "description": "the separator to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a new CSVStreamWriter with the specified separator and '\"'\n as quote character.",
              "deprecated": false
            },
            "CSVStreamWriter01": {
              "name": "CSVStreamWriter",
              "args": [
                {
                  "name": "writer",
                  "description": "the writer to use.",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                },
                {
                  "name": "separator",
                  "description": "the separator to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quote",
                  "description": "the quote to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a new CSVStreamWriter with the specified separator and the\n specified quote character.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the underlying writer.",
              "deprecated": false
            },
            "writeNext": {
              "name": "writeNext",
              "args": [
                {
                  "name": "line",
                  "description": "an array of strings.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write a single line to the CSV file.",
              "deprecated": false
            }
          }
        },
        "File": {
          "fullClassName": "dw.io.File",
          "package": "dw.io",
          "description": "Represents a file resource accessible from scripting. As with\n <code>java.io.File</code>, a <code>File</code> is essentially an\n \"abstract pathname\" which may or may not denote an actual file on the file\n system.  Methods <code>createNewFile</code>,\n <code>mkdir</code>, <code>mkdirs</code>, and <code>remove</code> are provided\n to actually manipulate physical files.\n\n <p>File access is limited to certain virtual directories.  These directories are\n a subset of those accessible through WebDAV.  As a result of this\n restriction, pathnames must be one of the following forms:</p>\n\n <ul>\n <li><code>/TEMP(/...)</code></li>\n <li><code>/IMPEX(/...)</code></li>\n <li><code>/REALMDATA(/...)</code></li>\n <li><code>/CATALOGS/[Catalog Name](/...)</code></li>\n <li><code>/LIBRARIES/[Library Name](/...)</code></li>\n </ul>\n\n Note, that these paths are analogous to the WebDAV URIs used to access the\n same directories.\n\n <p>The files are stored in a shared file system where multiple processes could\n access the same file. The programmer has to make sure no more than one process\n writes to a file at a given time.</p>\n\n <p>This class provides other useful methods for listing the\n children of a directory and for working with zip files.\n </p><p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information.\n\n </p><p>For performance reasons no more than 100,000 files (regular files and directories) should be stored in a\n directory.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CATALOGS": {
              "name": "CATALOGS",
              "value": "\"CATALOGS\"",
              "class": {
                "name": "String"
              },
              "description": "Catalogs root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "CUSTOMER_SNAPSHOTS": {
              "name": "CUSTOMER_SNAPSHOTS",
              "value": "\"CUSTOMERSNAPSHOTS\"",
              "class": {
                "name": "String"
              },
              "description": "Customer snapshots root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "CUSTOMERPI": {
              "name": "CUSTOMERPI",
              "value": "\"CUSTOMERPI\"",
              "class": {
                "name": "String"
              },
              "description": "Customer Payment Instrument root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "DYNAMIC": {
              "name": "DYNAMIC",
              "value": "\"DYNAMIC\"",
              "class": {
                "name": "String"
              },
              "description": "Reserved for future use.",
              "deprecated": false,
              "type": "constant"
            },
            "IMPEX": {
              "name": "IMPEX",
              "value": "\"IMPEX\"",
              "class": {
                "name": "String"
              },
              "description": "Import/export root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "LIBRARIES": {
              "name": "LIBRARIES",
              "value": "\"LIBRARIES\"",
              "class": {
                "name": "String"
              },
              "description": "Libraries root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "REALMDATA": {
              "name": "REALMDATA",
              "value": "\"REALMDATA\"",
              "class": {
                "name": "String"
              },
              "description": "RealmData root directory.",
              "deprecated": true,
              "type": "constant"
            },
            "SEPARATOR": {
              "name": "SEPARATOR",
              "value": "\"/\"",
              "class": {
                "name": "String"
              },
              "description": "The UNIX style '/' path separator, which must be used for files paths.",
              "deprecated": false,
              "type": "constant"
            },
            "STATIC": {
              "name": "STATIC",
              "value": "\"STATIC\"",
              "class": {
                "name": "String"
              },
              "description": "Static content root directory.",
              "deprecated": false,
              "type": "constant"
            },
            "TEMP": {
              "name": "TEMP",
              "value": "\"TEMP\"",
              "class": {
                "name": "String"
              },
              "description": "Temp root directory.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "directory": {
              "name": "directory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates that this file is a directory.",
              "deprecated": false,
              "type": "property"
            },
            "file": {
              "name": "file",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates if this file is a file.",
              "deprecated": false,
              "type": "property"
            },
            "fullPath": {
              "name": "fullPath",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the full file path denoted by this File.\n This value will be the same regardless of which constructor was\n used to create this File.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the file or directory denoted by this object. This is\n just the last name in the pathname's name sequence. If the pathname's\n name sequence is empty, then the empty string is returned.",
              "deprecated": false,
              "type": "property"
            },
            "path": {
              "name": "path",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The portion of the path relative to the root directory.",
              "deprecated": true,
              "type": "property"
            },
            "rootDirectoryType": {
              "name": "rootDirectoryType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The root directory type, e.g. \"IMPEX\" represented by this\n File.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "File": {
              "name": "File",
              "args": [
                {
                  "name": "absPath",
                  "description": "the absolute file path throws IOException",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a File from the given absolute file path in the\n file namespace.  If the specified path is not a valid accessible path,\n an exception will be thrown.\n\n The passed path should use the forward slash '/' as the path\n separator and begin with a leading slash.  However, if a leading slash\n is not provided, or the backslash character is used as the separator,\n these problems will be fixed.  The normalized value will then be returned\n by getFullPath().",
              "deprecated": false
            },
            "File0": {
              "name": "File",
              "args": [
                {
                  "name": "rootDir",
                  "description": "File object representing root directory",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "relative file path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a File given a root directory and a relative path.",
              "deprecated": false
            }
          },
          "methods": {
            "copyTo": {
              "name": "copyTo",
              "args": [
                {
                  "name": "file",
                  "description": "the File object to copy to",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "File",
                "description": "a reference to the copied file."
              },
              "description": "Copy a file. Directories cannot be copied. This method cannot be used from storefront requests.",
              "deprecated": false
            },
            "createNewFile": {
              "name": "createNewFile",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "boolean, true - if file has been created, false - file already exists"
              },
              "description": "Create file.",
              "deprecated": false
            },
            "exists": {
              "name": "exists",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if file exists, false otherwise."
              },
              "description": "Indicates if the file exists.",
              "deprecated": false
            },
            "getFullPath": {
              "name": "getFullPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the full file path."
              },
              "description": "Return the full file path denoted by this File.\n This value will be the same regardless of which constructor was\n used to create this File.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the file or directory denoted by this object."
              },
              "description": "Returns the name of the file or directory denoted by this object. This is\n just the last name in the pathname's name sequence. If the pathname's\n name sequence is empty, then the empty string is returned.",
              "deprecated": false
            },
            "getPath": {
              "name": "getPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the relative file path, possibly blank but not null."
              },
              "description": "Returns the portion of the path relative to the root directory.",
              "deprecated": true
            },
            "getRootDirectory": {
              "name": "getRootDirectory",
              "args": [
                {
                  "name": "rootDir",
                  "description": "root directory type (see the constants defined in this class)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "root directory specific arguments",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "File",
                "description": "File object representing the directory"
              },
              "description": "Returns a File representing a directory for the specified\n root directory type. If the root directory\n type is CATALOGS or LIBRARIES, then an additional argument representing\n the specific catalog or library must be provided.  Otherwise, no\n additional arguments are needed.",
              "deprecated": false
            },
            "getRootDirectoryType": {
              "name": "getRootDirectoryType",
              "args": [],
              "class": {
                "name": "String",
                "description": "root directory type"
              },
              "description": "Returns the root directory type, e.g. \"IMPEX\" represented by this\n File.",
              "deprecated": false
            },
            "gunzip": {
              "name": "gunzip",
              "args": [
                {
                  "name": "root",
                  "description": "a File indicating root. root must be a directory.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Assumes this instance is a gzip file. Unzipping it will\n explode the contents in the directory passed in (root).",
              "deprecated": false
            },
            "gzip": {
              "name": "gzip",
              "args": [
                {
                  "name": "outputZipFile",
                  "description": "the zip file created.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "GZip this instance into a new gzip file. If you're zipping a file, then a single entry, the instance,\n is included in the output gzip file. Note that a new File is created. GZipping directories is not suppported.\n This file is never modified.",
              "deprecated": false
            },
            "isDirectory": {
              "name": "isDirectory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the file is a directory, false otherwise."
              },
              "description": "Indicates that this file is a directory.",
              "deprecated": false
            },
            "isFile": {
              "name": "isFile",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the file is a file, false otherwise."
              },
              "description": "Indicates if this file is a file.",
              "deprecated": false
            },
            "lastModified": {
              "name": "lastModified",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the time, in milliseconds, that this file was last modified."
              },
              "description": "Return the time, in milliseconds, that this file was last modified.",
              "deprecated": false
            },
            "length": {
              "name": "length",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the file length in bytes."
              },
              "description": "Return the length of the file in bytes.",
              "deprecated": false
            },
            "list": {
              "name": "list",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "An array of strings naming the files and directories in the directory denoted by this File. The array will be empty if the directory is empty. Returns null if this File does not denote a directory."
              },
              "description": "Returns an array of strings naming the files and directories in the\n directory denoted by this object.\n\n \n If this object does not denote a directory, then this method returns\n null. Otherwise an array of strings is returned, one for\n each file or directory in the directory. Names denoting the directory\n itself and the directory's parent directory are not included in the\n result. Each string is a file name rather than a complete path.\n\n \n There is no guarantee that the name strings in the resulting array will\n appear in any specific order; they are not, in particular, guaranteed to\n appear in alphabetical order.",
              "deprecated": false
            },
            "listFiles": {
              "name": "listFiles",
              "args": [],
              "class": {
                "name": "List",
                "description": "a list of File objects or null if this is not a directory."
              },
              "description": "Returns an array of File objects in the directory denoted\n by this File.\n\n \n If this File does not denote a directory, then this method\n returns null. Otherwise an array of File\n objects is returned, one for each file or directory in the directory.\n Files denoting the directory itself and the directory's parent directory\n are not included in the result.\n\n \n There is no guarantee that the files in the resulting array will appear\n in any specific order; they are not, in particular, guaranteed to appear\n in alphabetical order. Example usage:\n \n\n \n // Assume \"foo\" is an accessible directory.\n var this_directory : dw.io.File = new File(\"foo\");\n \n // Find all files in directory foo, one level \"down\".\n // listFiles() will not traverse subdirectories.\n var folder : dw.util.List = this_directory.listFiles();\n var first_element : dw.io.File = folder[0];\n \n function modification_comparison(lhs : File, rhs : File) \n {\n   return lhs.lastModified() < rhs.lastModified();\n }\n \n function lexigraphic_comparison(lhs: File, rhs : File)\n {\n   return lhs.getName() < rhs.getName();\n }\n \n var time_ordered_folder : dw.util.ArrayList = folder.sort(modification_comparison);\n var alphabetic_folder : dw.util.ArrayList = folder.sort(lexigraphic_comparison);",
              "deprecated": false
            },
            "listFiles0": {
              "name": "listFiles",
              "args": [
                {
                  "name": "filter",
                  "description": "a Javascript function which accepts a File argument and returns true or false.",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "list of File objects or null if this is not a directory"
              },
              "description": "Returns an array of File objects denoting the files and\n directories in the directory denoted by this object that satisfy the\n specified filter. The behavior of this method is the same as that of the\n listFiles() method, except that the files in the\n returned array must satisfy the filter. The filter is a Javascript\n function which accepts one argument, a File, and returns\n true or false depending on whether the file meets the filter conditions.\n If the given filter is null then all files\n are accepted. Otherwise, a file satisfies the filter if and only if the\n filter returns true. Example usage:\n \n\n \n // Assume \"foo\" is an accessible directory.\n var this_directory : dw.io.File = new File(\"foo\");\n \n function longer_than_3(candidate : dw.io.File)\n {\n   return candidate.getName().length > 3;\n }\n \n // Find all files in directory foo, one level \"down\",\n // such that the filename is longer than 3 characters.\n var folder_long_names : dw.util.List = this_directory.listFiles(longer_than_3);",
              "deprecated": false
            },
            "md5": {
              "name": "md5",
              "args": [],
              "class": {
                "name": "String",
                "description": "The MD5 hash of the file's content."
              },
              "description": "Returns an MD5 hash of the content of the file of this instance.",
              "deprecated": false
            },
            "mkdir": {
              "name": "mkdir",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if file creation succeeded, false otherwise."
              },
              "description": "Creates a directory.",
              "deprecated": false
            },
            "mkdirs": {
              "name": "mkdirs",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if file creation succeeded, false otherwise."
              },
              "description": "Creates a directory, including, its parent directories, as needed.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if file deletion succeeded, false otherwise"
              },
              "description": "Deletes the file or directory denoted by this object. If this File\n represents a directory, then the directory must be empty in order to be\n deleted.",
              "deprecated": false
            },
            "renameTo": {
              "name": "renameTo",
              "args": [
                {
                  "name": "file",
                  "description": "the File object to rename to",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "boolean, true - if file rename succeeded, false - failed"
              },
              "description": "Rename file.",
              "deprecated": false
            },
            "unzip": {
              "name": "unzip",
              "args": [
                {
                  "name": "root",
                  "description": "a File indicating root. root must be a directory.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Assumes this instance is a zip file. Unzipping it will\n explode the contents in the directory passed in (root).",
              "deprecated": false
            },
            "zip": {
              "name": "zip",
              "args": [
                {
                  "name": "outputZipFile",
                  "description": "the zip file created.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Zip this instance into a new zip file. If you're zipping a directory,\n the directory itself and all its children files to any level (any number of subdirectories)\n are included in the zip file. The directory will be the only entry in the archive (single root).\n If you're zipping a file, then a single entry, the instance,\n is included in the output zip file. Note that a new File is created.\n This file is never modified.",
              "deprecated": false
            }
          }
        },
        "FileReader": {
          "fullClassName": "dw.io.FileReader",
          "package": "dw.io",
          "description": "File reader class.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.io.Reader"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "FileReader": {
              "name": "FileReader",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to read.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the reader.\n \n To release system resources, close the reader by calling close().",
              "deprecated": false
            },
            "FileReader0": {
              "name": "FileReader",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to read.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the character encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the reader.\n \n To release system resources, close the reader by calling close().",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the reader.",
              "deprecated": false
            }
          }
        },
        "FileWriter": {
          "fullClassName": "dw.io.FileWriter",
          "package": "dw.io",
          "description": "Convenience class for writing character files.\n <p>\n Files are stored in a shared file system where multiple processes could\n access the same file. The client code is responsible for ensuring that no\n more than one process writes to a file at a given time.\n </p><p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.io.Writer"
            }
          ],
          "constants": {},
          "properties": {
            "lineSeparator": {
              "name": "lineSeparator",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Get the current line separator (e.g. '\\n' or '\\r\\n'), if no value is set the system default '\\n' will be used.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FileWriter": {
              "name": "FileWriter",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the writer for the specified file. Uses \"UTF-8\" as encoding.\n \n To release system resources, close the writer by calling close().",
              "deprecated": false
            },
            "FileWriter0": {
              "name": "FileWriter",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "append",
                  "description": "flag, whether the file should be written in append mode",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the writer for the specified file. Optional file append mode\n is supported. Uses \"UTF-8\" as encoding.\n \n To release system resources, close the writer by calling close().",
              "deprecated": false
            },
            "FileWriter01": {
              "name": "FileWriter",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the character encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the writer for the specified file with the specified encoding.\n \n To release system resources, close the writer by calling close().",
              "deprecated": false
            },
            "FileWriter012": {
              "name": "FileWriter",
              "args": [
                {
                  "name": "file",
                  "description": "the file object to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the character encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "append",
                  "description": "flag indicating whether the file should be written in append mode.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the writer for the specified file with the specified encoding.\n Optional file append mode is supported.\n \n To release system resources, close the writer by calling close().",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the writer.",
              "deprecated": false
            },
            "getLineSeparator": {
              "name": "getLineSeparator",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Get the current line separator (e.g. '\\n' or '\\r\\n'), if no value is set the system default '\\n' will be used.",
              "deprecated": false
            },
            "setLineSeparator": {
              "name": "setLineSeparator",
              "args": [
                {
                  "name": "lineSeparator",
                  "description": "that will be written at the end of each line",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the line separator (e.g. '\\n' or '\\r\\n'), if no value is set the system default '\\n' will be used.",
              "deprecated": false
            },
            "writeLine": {
              "name": "writeLine",
              "args": [
                {
                  "name": "str",
                  "description": "the line to write to the file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes the specified line and appends the line separator.",
              "deprecated": false
            }
          }
        },
        "InputStream": {
          "fullClassName": "dw.io.InputStream",
          "package": "dw.io",
          "description": "The class represent a stream of bytes that can be read from the\n application. The InputStream itself doesn't provide any methods\n to read the data. Instead the InputStream can be chained with\n other classes like a XMLStreamReader to read data.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the input stream.",
              "deprecated": false
            }
          }
        },
        "PrintWriter": {
          "fullClassName": "dw.io.PrintWriter",
          "package": "dw.io",
          "description": "Template output stream writer.\n\n Printwriter is available in the template scripting context and is used\n to write data into the template output stream. You cannot instantiate this class\n directly. Instead, the system assigns the object to variable named 'out' in the script context\n to be used by the template scripts.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.io.Writer"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "print": {
              "name": "print",
              "args": [
                {
                  "name": "str",
                  "description": "the String object",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Prints the given string into the output stream.",
              "deprecated": false
            },
            "println": {
              "name": "println",
              "args": [
                {
                  "name": "str",
                  "description": "the String object",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Print the given string followed by a line break into the output stream.",
              "deprecated": false
            },
            "println0": {
              "name": "println",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Prints a line break into the output stream.",
              "deprecated": false
            }
          }
        },
        "StringWriter": {
          "fullClassName": "dw.io.StringWriter",
          "package": "dw.io",
          "description": "A Writer that can be used to generate a String.\n <p>\n In most cases it is not necessary to use StringWriter. If the final\n destination of the output is a file, use <a href=\"class_dw_io_FileWriter.html\">FileWriter</a> directly.\n This will help to reduce memory usage. If you wish to transfer a feed to a\n remote FTP, SFTP or WebDAV server, first write the feed to the file system\n using FileWriter and optionally <a href=\"class_dw_io_CSVStreamWriter.html\">CSVStreamWriter</a> or\n <a href=\"class_dw_io_XMLStreamWriter.html\">XMLStreamWriter</a>, then upload the file with\n <a href=\"class_dw_net_FTPClient.html#dw_net_FTPClient_putBinary_String_File_DetailAnchor\">FTPClient.putBinary(String, File)</a>,\n <a href=\"class_dw_net_SFTPClient.html#dw_net_SFTPClient_putBinary_String_File_DetailAnchor\">SFTPClient.putBinary(String, File)</a>, or\n <a href=\"class_dw_net_WebDAVClient.html#dw_net_WebDAVClient_put_String_File_DetailAnchor\">WebDAVClient.put(String, File)</a>.\n </p><p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.io.Writer"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "StringWriter": {
              "name": "StringWriter",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Creates a new StringWriter.",
              "deprecated": false
            }
          },
          "methods": {
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this writer."
              },
              "description": "Returns a string representation of this writer.",
              "deprecated": false
            },
            "write": {
              "name": "write",
              "args": [
                {
                  "name": "str",
                  "description": "the string to write to the stream.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the given string to the stream.",
              "deprecated": false
            },
            "write0": {
              "name": "write",
              "args": [
                {
                  "name": "str",
                  "description": "the string to write to the stream.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "off",
                  "description": "the offset from which to start writing characters to the stream.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "len",
                  "description": "the number of characters to write from the stream.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the given string to the stream.",
              "deprecated": false
            }
          }
        },
        "Writer": {
          "fullClassName": "dw.io.Writer",
          "package": "dw.io",
          "description": "The class supports writing characters to a stream.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "Writer": {
              "name": "Writer",
              "args": [
                {
                  "name": "stream",
                  "description": "the output stream to use when creating the writer.",
                  "class": {
                    "name": "OutputStream"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a writer from a stream using UTF-8 character encoding.",
              "deprecated": false
            },
            "Writer0": {
              "name": "Writer",
              "args": [
                {
                  "name": "stream",
                  "description": "the output stream to use when creating the writer.",
                  "class": {
                    "name": "OutputStream"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use when creating the writer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a writer from a stream using the specified character encoding.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the writer.",
              "deprecated": false
            },
            "flush": {
              "name": "flush",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Flushes the buffer.",
              "deprecated": false
            },
            "write": {
              "name": "write",
              "args": [
                {
                  "name": "str",
                  "description": "the string to write to the stream.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the given string to the stream.",
              "deprecated": false
            },
            "write0": {
              "name": "write",
              "args": [
                {
                  "name": "str",
                  "description": "the string to write to the stream.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "off",
                  "description": "the offset from which to start writing characters to the stream.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "len",
                  "description": "the number of characters to write from the stream.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the given string to the stream.",
              "deprecated": false
            }
          }
        },
        "XMLStreamReader": {
          "fullClassName": "dw.io.XMLStreamReader",
          "package": "dw.io",
          "description": "The XMLStreamReader allows forward, read-only access to XML.  It is designed\n to be the lowest level and most efficient way to read XML data.\n\n <p> The XMLStreamReader is designed to iterate over XML using\n next() and hasNext().  The data can be accessed using methods such as getEventType(),\n getNamespaceURI(), getLocalName() and getText();</p>\n\n <p> The <a href=\"class_dw_io_XMLStreamReader.html#dw_io_XMLStreamReader_next_DetailAnchor\">next()</a> method causes the reader to read the next parse event.\n The next() method returns an integer which identifies the type of event just read.</p>\n <p> The event type can be determined using <a href=\"class_dw_io_XMLStreamReader.html#dw_io_XMLStreamReader_getEventType_DetailAnchor\">getEventType()</a>.</p>\n <p> Parsing events are defined as the XML Declaration, a DTD,\n start tag, character data, white space, end tag, comment,\n or processing instruction.  An attribute or namespace event may be encountered\n at the root level of a document as the result of a query operation.</p>\n\n <p>The following table describes which methods are valid in what state.\n If a method is called in an invalid state the method will throw a\n java.lang.IllegalStateException.</p>\n\n <table border=\"2\" rules=\"all\" cellpadding=\"4\">\n   <thead>\n     <tr>\n       <th align=\"center\" colspan=\"2\">\n         Valid methods for each state\n       </th>\n     </tr>\n   </thead>\n   <tbody>\n     <tr>\n       <th>Event Type</th>\n       <th>Valid Methods</th>\n     </tr>\n     <tr>\n       <td> All States  </td>\n       <td> getProperty(), hasNext(), require(), close(),\n            getNamespaceURI(), isStartElement(),\n            isEndElement(), isCharacters(), isWhiteSpace(),\n            getNamespaceContext(), getEventType(),getLocation(),\n            hasText(), hasName()\n       </td>\n     </tr>\n     <tr>\n       <td> START_ELEMENT  </td>\n       <td> next(), getName(), getLocalName(), hasName(), getPrefix(),\n            getAttributeXXX(), isAttributeSpecified(),\n            getNamespaceXXX(),\n            getElementText(), nextTag(), getXMLObject()\n       </td>\n     </tr>\n     <tr>\n       <td> ATTRIBUTE  </td>\n       <td> next(), nextTag()\n            getAttributeXXX(), isAttributeSpecified(),\n       </td>\n     </tr>\n     <tr>\n       <td> NAMESPACE  </td>\n       <td> next(), nextTag()\n            getNamespaceXXX()\n       </td>\n     </tr>\n     <tr>\n       <td> END_ELEMENT  </td>\n       <td> next(), getName(), getLocalName(), hasName(), getPrefix(),\n            getNamespaceXXX(), nextTag()\n      </td>\n     </tr>\n     <tr>\n       <td> CHARACTERS  </td>\n       <td> next(), getTextXXX(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> CDATA  </td>\n       <td> next(), getTextXXX(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> COMMENT  </td>\n       <td> next(), getTextXXX(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> SPACE  </td>\n       <td> next(), getTextXXX(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> START_DOCUMENT  </td>\n       <td> next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(),\n            getCharacterEncodingScheme(), nextTag()</td>\n     </tr>\n     <tr>\n       <td> END_DOCUMENT  </td>\n       <td> close()</td>\n     </tr>\n     <tr>\n       <td> PROCESSING_INSTRUCTION  </td>\n       <td> next(), getPITarget(), getPIData(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> ENTITY_REFERENCE  </td>\n       <td> next(), getLocalName(), getText(), nextTag() </td>\n     </tr>\n     <tr>\n       <td> DTD  </td>\n       <td> next(), getText(), nextTag() </td>\n     </tr>\n   </tbody>\n  </table>\n\n <p>\n\n The following is a code sample to read an XML file containing multiple\n \"myobject\" sub-elements.  Only one myObject instance is kept in memory at\n any given time to keep memory consumption low:\n\n </p><pre> var fileReader : FileReader = new FileReader(file, \"UTF-8\");\n var xmlStreamReader : XMLStreamReader = new XMLStreamReader(fileReader);\n\n while (xmlStreamReader.hasNext())\n {\n   if (xmlStreamReader.next() == XMLStreamConstants.START_ELEMENT)\n   {\n     var localElementName : String = xmlStreamReader.getLocalName();\n     if (localElementName == \"myobject\")\n     {\n       // read single \"myobject\" as XML\n       var myObject : XML = xmlStreamReader.getXMLObject();\n\n       // process myObject\n     }\n   }\n }\n\n xmlStreamReader.close();\n fileReader.close();\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeCount": {
              "name": "attributeCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The count of attributes on this START_ELEMENT,\n this method is only valid on a START_ELEMENT or ATTRIBUTE.  This\n count excludes namespace definitions.  Attribute indices are\n zero-based.",
              "deprecated": false,
              "type": "property"
            },
            "characterEncodingScheme": {
              "name": "characterEncodingScheme",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The character encoding declared on the XML declaration\n Returns null if none was declared.",
              "deprecated": false,
              "type": "property"
            },
            "characters": {
              "name": "characters",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the cursor points to a character data event.",
              "deprecated": false,
              "type": "property"
            },
            "columnNumber": {
              "name": "columnNumber",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The column number where the current event ends or -1 if none is\n available.",
              "deprecated": false,
              "type": "property"
            },
            "elementText": {
              "name": "elementText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Reads the content of a text-only element, an exception is thrown if this is not a text-only element. This method\n always returns coalesced content. \n Precondition: the current event is START_ELEMENT. \n Postcondition: the current event is the corresponding END_ELEMENT. \n The method does the following (implementations are free to be optimized but must do equivalent processing):\n\n  if ( getEventType() != XMLStreamConstants.START_ELEMENT )\n {\n     throw new XMLStreamException( \"parser must be on START_ELEMENT to read next text\", getLocation() );\n }\n int eventType = next();\n StringBuffer content = new StringBuffer();\n while ( eventType != XMLStreamConstants.END_ELEMENT )\n {\n     if ( eventType == XMLStreamConstants.CHARACTERS || eventType == XMLStreamConstants.CDATA\n         || eventType == XMLStreamConstants.SPACE || eventType == XMLStreamConstants.ENTITY_REFERENCE )\n     {\n         buf.append( getText() );\n     }\n     else if ( eventType == XMLStreamConstants.PROCESSING_INSTRUCTION || eventType == XMLStreamConstants.COMMENT )\n     {\n         // skipping\n     }\n     else if ( eventType == XMLStreamConstants.END_DOCUMENT )\n     {\n         throw new XMLStreamException( \"unexpected end of document when reading element text content\", this );\n     }\n     else if ( eventType == XMLStreamConstants.START_ELEMENT )\n     {\n         throw new XMLStreamException( \"element text content may not contain START_ELEMENT\", getLocation() );\n     }\n     else\n     {\n         throw new XMLStreamException( \"Unexpected event type \" + eventType, getLocation() );\n     }\n     eventType = next();\n }\n return buf.toString();",
              "deprecated": true,
              "type": "property"
            },
            "encoding": {
              "name": "encoding",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return input encoding if known or null if unknown.",
              "deprecated": false,
              "type": "property"
            },
            "endElement": {
              "name": "endElement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the cursor points to an end tag.",
              "deprecated": false,
              "type": "property"
            },
            "eventType": {
              "name": "eventType",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "An integer code that indicates the type\n of the event the cursor is pointing to.",
              "deprecated": false,
              "type": "property"
            },
            "lineNumber": {
              "name": "lineNumber",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The line number where the current event ends or -1 if none is\n available.",
              "deprecated": false,
              "type": "property"
            },
            "localName": {
              "name": "localName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The (local) name of the current event.\n For START_ELEMENT or END_ELEMENT returns the (local) name of the current element.\n For ENTITY_REFERENCE it returns entity name.\n The current event must be START_ELEMENT or END_ELEMENT,\n or ENTITY_REFERENCE.",
              "deprecated": false,
              "type": "property"
            },
            "namespaceCount": {
              "name": "namespaceCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The count of namespaces declared on this START_ELEMENT or END_ELEMENT,\n this method is only valid on a START_ELEMENT, END_ELEMENT or NAMESPACE. On\n an END_ELEMENT the count is of the namespaces that are about to go\n out of scope.  This is the equivalent of the information reported\n by SAX callback for an end element event.",
              "deprecated": false,
              "type": "property"
            },
            "namespaceURI": {
              "name": "namespaceURI",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "If the current event is a START_ELEMENT or END_ELEMENT  this method\n returns the URI of the prefix or the default namespace.\n Returns null if the event does not have a prefix.",
              "deprecated": false,
              "type": "property"
            },
            "PIData": {
              "name": "PIData",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the data section of a processing instruction.",
              "deprecated": false,
              "type": "property"
            },
            "PITarget": {
              "name": "PITarget",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the target of a processing instruction.",
              "deprecated": false,
              "type": "property"
            },
            "prefix": {
              "name": "prefix",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The prefix of the current event or null if the event does not have a prefix",
              "deprecated": false,
              "type": "property"
            },
            "standalone": {
              "name": "standalone",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Get the standalone declaration from the xml declaration.",
              "deprecated": false,
              "type": "property"
            },
            "startElement": {
              "name": "startElement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the cursor points to a start tag.",
              "deprecated": false,
              "type": "property"
            },
            "text": {
              "name": "text",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The current value of the parse event as a string,\n this returns the string value of a CHARACTERS event,\n returns the value of a COMMENT, the replacement value\n for an ENTITY_REFERENCE, the string value of a CDATA section,\n the string value for a SPACE event,\n or the String value of the internal subset of the DTD.\n If an ENTITY_REFERENCE has been resolved, any character data\n will be reported as CHARACTERS events.",
              "deprecated": false,
              "type": "property"
            },
            "textLength": {
              "name": "textLength",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The length of the sequence of characters for this\n Text event within the text character array.",
              "deprecated": false,
              "type": "property"
            },
            "textStart": {
              "name": "textStart",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The offset into the text character array where the first\n character (of this text event) is stored.",
              "deprecated": false,
              "type": "property"
            },
            "version": {
              "name": "version",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the xml version declared on the xml declaration.\n Returns null if none was declared.",
              "deprecated": false,
              "type": "property"
            },
            "whiteSpace": {
              "name": "whiteSpace",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the cursor points to a character data event\n that consists of all whitespace.",
              "deprecated": false,
              "type": "property"
            },
            "XMLObject": {
              "name": "XMLObject",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "Reads a sub-tree of the XML document and parses it as XML object.\n \n The stream must be positioned on a START_ELEMENT. Do not call the method\n when the stream is positioned at document's root element. This would\n cause the whole document to be parsed into a single XML what may lead to\n an out-of-memory condition. Instead use #next() to navigate to\n sub-elements and invoke getXMLObject() there. Do not keep references to\n more than the currently processed XML to keep memory consumption low. The\n method reads the stream up to the matching END_ELEMENT. When the method\n returns the current event is the END_ELEMENT event.",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {
            "XMLStreamReader": {
              "name": "XMLStreamReader",
              "args": [
                {
                  "name": "reader",
                  "description": "the reader to use.",
                  "class": {
                    "name": "Reader"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the stream readon on behalf of the reader.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Frees any resources associated with this Reader.  This method does not close the\n underlying reader.",
              "deprecated": false
            },
            "getAttributeCount": {
              "name": "getAttributeCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "returns the number of attributes."
              },
              "description": "Returns the count of attributes on this START_ELEMENT,\n this method is only valid on a START_ELEMENT or ATTRIBUTE.  This\n count excludes namespace definitions.  Attribute indices are\n zero-based.",
              "deprecated": false
            },
            "getAttributeLocalName": {
              "name": "getAttributeLocalName",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the local name of the attribute."
              },
              "description": "Returns the localName of the attribute at the provided\n index.",
              "deprecated": false
            },
            "getAttributeNamespace": {
              "name": "getAttributeNamespace",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the namespace URI (can be null)"
              },
              "description": "Returns the namespace of the attribute at the provided\n index.",
              "deprecated": false
            },
            "getAttributePrefix": {
              "name": "getAttributePrefix",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the prefix of the attribute."
              },
              "description": "Returns the prefix of this attribute at the\n provided index.",
              "deprecated": false
            },
            "getAttributeType": {
              "name": "getAttributeType",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the XML type of the attribute."
              },
              "description": "Returns the XML type of the attribute at the provided\n index.",
              "deprecated": false
            },
            "getAttributeValue": {
              "name": "getAttributeValue",
              "args": [
                {
                  "name": "namespaceURI",
                  "description": "the namespace of the attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "the local name of the attribute, cannot be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the value of the attribute or null if not found."
              },
              "description": "Returns the normalized attribute value of the\n attribute with the namespace and localName\n If the namespaceURI is null the namespace\n is not checked for equality",
              "deprecated": false
            },
            "getAttributeValue0": {
              "name": "getAttributeValue",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the attribute value."
              },
              "description": "Returns the value of the attribute at the\n index.",
              "deprecated": false
            },
            "getCharacterEncodingScheme": {
              "name": "getCharacterEncodingScheme",
              "args": [],
              "class": {
                "name": "String",
                "description": "the encoding declared in the document or null."
              },
              "description": "Returns the character encoding declared on the XML declaration\n Returns null if none was declared.",
              "deprecated": false
            },
            "getColumnNumber": {
              "name": "getColumnNumber",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the column number or -1."
              },
              "description": "Returns the column number where the current event ends or -1 if none is\n available.",
              "deprecated": false
            },
            "getElementText": {
              "name": "getElementText",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Reads the content of a text-only element, an exception is thrown if this is not a text-only element. This method\n always returns coalesced content. \n Precondition: the current event is START_ELEMENT. \n Postcondition: the current event is the corresponding END_ELEMENT. \n The method does the following (implementations are free to be optimized but must do equivalent processing):\n\n  if ( getEventType() != XMLStreamConstants.START_ELEMENT )\n {\n     throw new XMLStreamException( \"parser must be on START_ELEMENT to read next text\", getLocation() );\n }\n int eventType = next();\n StringBuffer content = new StringBuffer();\n while ( eventType != XMLStreamConstants.END_ELEMENT )\n {\n     if ( eventType == XMLStreamConstants.CHARACTERS || eventType == XMLStreamConstants.CDATA\n         || eventType == XMLStreamConstants.SPACE || eventType == XMLStreamConstants.ENTITY_REFERENCE )\n     {\n         buf.append( getText() );\n     }\n     else if ( eventType == XMLStreamConstants.PROCESSING_INSTRUCTION || eventType == XMLStreamConstants.COMMENT )\n     {\n         // skipping\n     }\n     else if ( eventType == XMLStreamConstants.END_DOCUMENT )\n     {\n         throw new XMLStreamException( \"unexpected end of document when reading element text content\", this );\n     }\n     else if ( eventType == XMLStreamConstants.START_ELEMENT )\n     {\n         throw new XMLStreamException( \"element text content may not contain START_ELEMENT\", getLocation() );\n     }\n     else\n     {\n         throw new XMLStreamException( \"Unexpected event type \" + eventType, getLocation() );\n     }\n     eventType = next();\n }\n return buf.toString();",
              "deprecated": true
            },
            "getEncoding": {
              "name": "getEncoding",
              "args": [],
              "class": {
                "name": "String",
                "description": "the encoding of this instance or null"
              },
              "description": "Return input encoding if known or null if unknown.",
              "deprecated": false
            },
            "getEventType": {
              "name": "getEventType",
              "args": [],
              "class": {
                "name": "Number",
                "description": "an integer code that indicates the type of the event the cursor is pointing to."
              },
              "description": "Returns an integer code that indicates the type\n of the event the cursor is pointing to.",
              "deprecated": false
            },
            "getLineNumber": {
              "name": "getLineNumber",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the line number or -1."
              },
              "description": "Returns the line number where the current event ends or -1 if none is\n available.",
              "deprecated": false
            },
            "getLocalName": {
              "name": "getLocalName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the local name."
              },
              "description": "Returns the (local) name of the current event.\n For START_ELEMENT or END_ELEMENT returns the (local) name of the current element.\n For ENTITY_REFERENCE it returns entity name.\n The current event must be START_ELEMENT or END_ELEMENT,\n or ENTITY_REFERENCE.",
              "deprecated": false
            },
            "getNamespaceCount": {
              "name": "getNamespaceCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "returns the number of namespace declarations on this specific element."
              },
              "description": "Returns the count of namespaces declared on this START_ELEMENT or END_ELEMENT,\n this method is only valid on a START_ELEMENT, END_ELEMENT or NAMESPACE. On\n an END_ELEMENT the count is of the namespaces that are about to go\n out of scope.  This is the equivalent of the information reported\n by SAX callback for an end element event.",
              "deprecated": false
            },
            "getNamespacePrefix": {
              "name": "getNamespacePrefix",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the namespace declaration.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the namespace prefix."
              },
              "description": "Returns the prefix for the namespace declared at the\n index.  Returns null if this is the default namespace\n declaration.",
              "deprecated": false
            },
            "getNamespaceURI": {
              "name": "getNamespaceURI",
              "args": [
                {
                  "name": "prefix",
                  "description": "The prefix to lookup, may not be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the uri bound to the given prefix or null if it is not bound"
              },
              "description": "Return the uri for the given prefix.\n The uri returned depends on the current state of the processor.\n\n NOTE:The 'xml' prefix is bound as defined in\n Namespaces in XML\n specification to \"http://www.w3.org/XML/1998/namespace\".\n\n NOTE: The 'xmlns' prefix must be resolved to following namespace\n http://www.w3.org/2000/xmlns/",
              "deprecated": false
            },
            "getNamespaceURI0": {
              "name": "getNamespaceURI",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the namespace declaration.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the namespace uri."
              },
              "description": "Returns the uri for the namespace declared at the\n index.",
              "deprecated": false
            },
            "getNamespaceURI01": {
              "name": "getNamespaceURI",
              "args": [],
              "class": {
                "name": "String",
                "description": "the URI bound to this elements prefix, the default namespace, or null."
              },
              "description": "If the current event is a START_ELEMENT or END_ELEMENT  this method\n returns the URI of the prefix or the default namespace.\n Returns null if the event does not have a prefix.",
              "deprecated": false
            },
            "getPIData": {
              "name": "getPIData",
              "args": [],
              "class": {
                "name": "String",
                "description": "the data or null."
              },
              "description": "Get the data section of a processing instruction.",
              "deprecated": false
            },
            "getPITarget": {
              "name": "getPITarget",
              "args": [],
              "class": {
                "name": "String",
                "description": "the target or null."
              },
              "description": "Get the target of a processing instruction.",
              "deprecated": false
            },
            "getPrefix": {
              "name": "getPrefix",
              "args": [],
              "class": {
                "name": "String",
                "description": "the prefix or null."
              },
              "description": "Returns the prefix of the current event or null if the event does not have a prefix",
              "deprecated": false
            },
            "getText": {
              "name": "getText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the current text or null."
              },
              "description": "Returns the current value of the parse event as a string,\n this returns the string value of a CHARACTERS event,\n returns the value of a COMMENT, the replacement value\n for an ENTITY_REFERENCE, the string value of a CDATA section,\n the string value for a SPACE event,\n or the String value of the internal subset of the DTD.\n If an ENTITY_REFERENCE has been resolved, any character data\n will be reported as CHARACTERS events.",
              "deprecated": false
            },
            "getTextLength": {
              "name": "getTextLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the length of the sequence of characters for this Text event within the text character array."
              },
              "description": "Returns the length of the sequence of characters for this\n Text event within the text character array.",
              "deprecated": false
            },
            "getTextStart": {
              "name": "getTextStart",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the offset into the text character array where the first character (of this text event) is stored."
              },
              "description": "Returns the offset into the text character array where the first\n character (of this text event) is stored.",
              "deprecated": false
            },
            "getVersion": {
              "name": "getVersion",
              "args": [],
              "class": {
                "name": "String",
                "description": "the XML version or null."
              },
              "description": "Get the xml version declared on the xml declaration.\n Returns null if none was declared.",
              "deprecated": false
            },
            "getXMLObject": {
              "name": "getXMLObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "Reads a sub-tree of the XML document and parses it as XML object.\n \n The stream must be positioned on a START_ELEMENT. Do not call the method\n when the stream is positioned at document's root element. This would\n cause the whole document to be parsed into a single XML what may lead to\n an out-of-memory condition. Instead use #next() to navigate to\n sub-elements and invoke getXMLObject() there. Do not keep references to\n more than the currently processed XML to keep memory consumption low. The\n method reads the stream up to the matching END_ELEMENT. When the method\n returns the current event is the END_ELEMENT event.",
              "deprecated": true
            },
            "hasName": {
              "name": "hasName",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the current event has a name, false otherwise."
              },
              "description": "Identifies if the current event has a name (is a START_ELEMENT or END_ELEMENT)",
              "deprecated": false
            },
            "hasNext": {
              "name": "hasNext",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if there are more events, false otherwise"
              },
              "description": "Returns true if there are more parsing events and false\n if there are no more events.  This method will return\n false if the current state of the XMLStreamReader is\n END_DOCUMENT",
              "deprecated": false
            },
            "hasText": {
              "name": "hasText",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the current event has text, false otherwise."
              },
              "description": "Indicates if the current event has text.\n The following events have text:\n CHARACTERS,DTD ,ENTITY_REFERENCE, COMMENT, SPACE.",
              "deprecated": false
            },
            "isAttributeSpecified": {
              "name": "isAttributeSpecified",
              "args": [
                {
                  "name": "index",
                  "description": "the position of the attribute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this is a default attribute, false otherwise."
              },
              "description": "Identifies if this\n attribute was created by default.",
              "deprecated": false
            },
            "isCharacters": {
              "name": "isCharacters",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cursor points to character data, false otherwise."
              },
              "description": "Identifies if the cursor points to a character data event.",
              "deprecated": false
            },
            "isEndElement": {
              "name": "isEndElement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cursor points to an end tag, false otherwise."
              },
              "description": "Identifies if the cursor points to an end tag.",
              "deprecated": false
            },
            "isStandalone": {
              "name": "isStandalone",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is standalone, or false otherwise."
              },
              "description": "Get the standalone declaration from the xml declaration.",
              "deprecated": false
            },
            "isStartElement": {
              "name": "isStartElement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cursor points to a start tag, false otherwise."
              },
              "description": "Identifies if the cursor points to a start tag.",
              "deprecated": false
            },
            "isWhiteSpace": {
              "name": "isWhiteSpace",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cursor points to all whitespace, false otherwise."
              },
              "description": "Identifies if the cursor points to a character data event\n that consists of all whitespace.",
              "deprecated": false
            },
            "next": {
              "name": "next",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the integer code corresponding to the current parse event"
              },
              "description": "Get next parsing event - a processor may return all contiguous\n character data in a single chunk, or it may split it into several chunks.\n If the property javax.xml.stream.isCoalescing is set to true\n element content must be coalesced and only one CHARACTERS event\n must be returned for contiguous element content or\n CDATA Sections.\n\n By default entity references must be\n expanded and reported transparently to the application.\n An exception will be thrown if an entity reference cannot be expanded.\n If element content is empty (i.e. content is \"\") then no CHARACTERS event will be reported.\n\n Given the following XML:\n <foo><!--description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo>\n The behavior of calling next() when being on foo will be:\n 1- the comment (COMMENT)\n 2- then the characters section (CHARACTERS)\n 3- then the CDATA section (another CHARACTERS)\n 4- then the next characters section (another CHARACTERS)\n 5- then the END_ELEMENT\n\n NOTE: empty element (such as <tag/>) will be reported\n  with  two separate events: START_ELEMENT, END_ELEMENT - This preserves\n   parsing equivalency of empty element to <tag></tag>.\n\n This method will throw an IllegalStateException if it is called after hasNext() returns false.",
              "deprecated": false
            },
            "nextTag": {
              "name": "nextTag",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the event type of the element read (START_ELEMENT or END_ELEMENT)"
              },
              "description": "Skips any white space (isWhiteSpace() returns true), COMMENT,\n or PROCESSING_INSTRUCTION,\n until a START_ELEMENT or END_ELEMENT is reached.\n If other than white space characters, COMMENT, PROCESSING_INSTRUCTION, START_ELEMENT, END_ELEMENT\n are encountered, an exception is thrown. This method should\n be used when processing element-only content separated by white space.\n\n  Precondition: none\n  Postcondition: the current event is START_ELEMENT or END_ELEMENT\n and cursor may have moved over any whitespace event.\n\n Essentially it does the following (implementations are free to optimized\n but must do equivalent processing):\n\n  int eventType = next();\n while ( (eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace() )\n       || (eventType == XMLStreamConstants.CDATA && isWhiteSpace())\n       || eventType == XMLStreamConstants.SPACE\n       || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION\n       || eventType == XMLStreamConstants.COMMENT )\n {\n     eventType = next();\n }\n if ( eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT )\n {\n     throw new String XMLStreamException( \"expected start or end tag\", getLocation() );\n }\n return eventType;",
              "deprecated": false
            },
            "readElementText": {
              "name": "readElementText",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Reads the content of a text-only element, an exception is thrown if this is not a text-only element. This method\n always returns coalesced content. \n Precondition: the current event is START_ELEMENT. \n Postcondition: the current event is the corresponding END_ELEMENT. \n The method does the following (implementations are free to be optimized but must do equivalent processing):\n\n  if ( getEventType() != XMLStreamConstants.START_ELEMENT )\n {\n     throw new XMLStreamException( \"parser must be on START_ELEMENT to read next text\", getLocation() );\n }\n int eventType = next();\n StringBuffer content = new StringBuffer();\n while ( eventType != XMLStreamConstants.END_ELEMENT )\n {\n     if ( eventType == XMLStreamConstants.CHARACTERS || eventType == XMLStreamConstants.CDATA\n         || eventType == XMLStreamConstants.SPACE || eventType == XMLStreamConstants.ENTITY_REFERENCE )\n     {\n         buf.append( getText() );\n     }\n     else if ( eventType == XMLStreamConstants.PROCESSING_INSTRUCTION || eventType == XMLStreamConstants.COMMENT )\n     {\n         // skipping\n     }\n     else if ( eventType == XMLStreamConstants.END_DOCUMENT )\n     {\n         throw new XMLStreamException( \"unexpected end of document when reading element text content\", this );\n     }\n     else if ( eventType == XMLStreamConstants.START_ELEMENT )\n     {\n         throw new XMLStreamException( \"element text content may not contain START_ELEMENT\", getLocation() );\n     }\n     else\n     {\n         throw new XMLStreamException( \"Unexpected event type \" + eventType, getLocation() );\n     }\n     eventType = next();\n }\n return buf.toString();",
              "deprecated": false
            },
            "readXMLObject": {
              "name": "readXMLObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "Reads a sub-tree of the XML document and parses it as XML object.\n \n The stream must be positioned on a START_ELEMENT. Do not call the method\n when the stream is positioned at document's root element. This would\n cause the whole document to be parsed into a single XML what may lead to\n an out-of-memory condition. Instead use #next() to navigate to\n sub-elements and invoke getXMLObject() there. Do not keep references to\n more than the currently processed XML to keep memory consumption low. The\n method reads the stream up to the matching END_ELEMENT. When the method\n returns the current event is the END_ELEMENT event.",
              "deprecated": false
            },
            "require": {
              "name": "require",
              "args": [
                {
                  "name": "type",
                  "description": "the event type",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "namespaceURI",
                  "description": "the uri of the event, may be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "the localName of the event, may be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Test if the current event is of the given type and if the namespace and name match the current\n namespace and name of the current event.  If the namespaceURI is null it is not checked for equality,\n if the localName is null it is not checked for equality.",
              "deprecated": false
            },
            "standaloneSet": {
              "name": "standaloneSet",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if standalone was set in the document, false otherwise."
              },
              "description": "Identifies if standalone was set in the document.",
              "deprecated": false
            }
          }
        },
        "XMLStreamWriter": {
          "fullClassName": "dw.io.XMLStreamWriter",
          "package": "dw.io",
          "description": "The XMLStreamWriter can be used to write small and large XML feeds.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.\n </p><p>\n\n The XMLStreamWriter does not perform well-formedness checking on its input.\n However the writeCharacters method escapes '&amp;' , '&lt;' and '&gt;'. For attribute\n values the writeAttribute method escapes the above characters plus '\"' to\n ensure that all character content and attribute values are well formed.\n </p><p>\n The following example illustrates how to use this class:\n\n </p><pre> var fileWriter : FileWriter = new FileWriter(file, \"UTF-8\");\n var xsw : XMLStreamWriter = new XMLStreamWriter(fileWriter);\n\n xsw.writeStartDocument();\n xsw.writeStartElement(\"products\");\n   xsw.writeStartElement(\"product\");\n   xsw.writeAttribute(\"id\", \"p42\");\n     xsw.writeStartElement(\"name\");\n       xsw.writeCharacters(\"blue t-shirt\");\n     xsw.writeEndElement();\n     xsw.writeStartElement(\"rating\");\n       xsw.writeCharacters(\"2.0\");\n     xsw.writeEndElement();\n   xsw.writeEndElement();\n xsw.writeEndElement();\n xsw.writeEndDocument();\n\n xsw.close();\n fileWriter.close();\n </pre>\n\n <p>\n\n The code above will write the following to file:\n\n </p><pre> &lt;?xml version=\"1.0\" ?&gt;\n &lt;products&gt;\n   &lt;product id=\"p42\"&gt;\n     &lt;name&gt;a blue t-shirt&lt;/name&gt;\n     &lt;rating&gt;2.0&lt;/rating&gt;\n   &lt;/product&gt;\n &lt;/products&gt;\n </pre>\n\n Note:  This output has been formatted for readability. See\n <a href=\"class_dw_io_XMLIndentingStreamWriter.html\">XMLIndentingStreamWriter</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "defaultNamespace": {
              "name": "defaultNamespace",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The current default name space.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "XMLStreamWriter": {
              "name": "XMLStreamWriter",
              "args": [
                {
                  "name": "writer",
                  "description": "the writer for which the XMLStreamWriter is constructed.",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the XMLStreamWriter for a writer.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Close this writer and free any resources associated with the\n writer.  This method does not close the underlying writer.",
              "deprecated": false
            },
            "flush": {
              "name": "flush",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write any cached data to the underlying output mechanism.",
              "deprecated": false
            },
            "getDefaultNamespace": {
              "name": "getDefaultNamespace",
              "args": [],
              "class": {
                "name": "String",
                "description": "the current default name space."
              },
              "description": "Returns the current default name space.",
              "deprecated": false
            },
            "getPrefix": {
              "name": "getPrefix",
              "args": [
                {
                  "name": "uri",
                  "description": "the URI to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the prefix or null."
              },
              "description": "Gets the prefix the URI is bound to.",
              "deprecated": false
            },
            "setDefaultNamespace": {
              "name": "setDefaultNamespace",
              "args": [
                {
                  "name": "uri",
                  "description": "the uri to bind to the default namespace, may be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Binds a URI to the default namespace.\n This URI is bound\n in the scope of the current START_ELEMENT / END_ELEMENT pair.\n If this method is called before a START_ELEMENT has been written\n the uri is bound in the root scope.",
              "deprecated": false
            },
            "setPrefix": {
              "name": "setPrefix",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix to bind to the uri, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "uri",
                  "description": "the uri to bind to the prefix, may be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the prefix the uri is bound to.  This prefix is bound\n in the scope of the current START_ELEMENT / END_ELEMENT pair.\n If this method is called before a START_ELEMENT has been written\n the prefix is bound in the root scope.",
              "deprecated": false
            },
            "writeAttribute": {
              "name": "writeAttribute",
              "args": [
                {
                  "name": "localName",
                  "description": "the local name of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an attribute to the output stream without\n a prefix.",
              "deprecated": false
            },
            "writeAttribute0": {
              "name": "writeAttribute",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix for this attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namespaceURI",
                  "description": "the uri of the prefix for this attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "the local name of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an attribute to the output stream.",
              "deprecated": false
            },
            "writeAttribute01": {
              "name": "writeAttribute",
              "args": [
                {
                  "name": "namespaceURI",
                  "description": "the uri of the prefix for this attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "the local name of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value of the attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an attribute to the output stream.",
              "deprecated": false
            },
            "writeCData": {
              "name": "writeCData",
              "args": [
                {
                  "name": "data",
                  "description": "the data contained in the CData Section, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a CData section.",
              "deprecated": false
            },
            "writeCharacters": {
              "name": "writeCharacters",
              "args": [
                {
                  "name": "text",
                  "description": "the value to write.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write text to the output.",
              "deprecated": false
            },
            "writeComment": {
              "name": "writeComment",
              "args": [
                {
                  "name": "data",
                  "description": "the data contained in the comment, may be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an XML comment with the data enclosed.",
              "deprecated": false
            },
            "writeDefaultNamespace": {
              "name": "writeDefaultNamespace",
              "args": [
                {
                  "name": "namespaceURI",
                  "description": "the uri to bind the default namespace to.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes the default namespace to the stream.",
              "deprecated": false
            },
            "writeDTD": {
              "name": "writeDTD",
              "args": [
                {
                  "name": "dtd",
                  "description": "the DTD to be written.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write a DTD section.  This string represents the entire doctypedecl production\n from the XML 1.0 specification.",
              "deprecated": false
            },
            "writeEmptyElement": {
              "name": "writeEmptyElement",
              "args": [
                {
                  "name": "namespaceURI",
                  "description": "the uri to bind the tag to, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an empty element tag to the output.",
              "deprecated": false
            },
            "writeEmptyElement0": {
              "name": "writeEmptyElement",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namespaceURI",
                  "description": "the uri to bind the tag to, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an empty element tag to the output.",
              "deprecated": false
            },
            "writeEmptyElement01": {
              "name": "writeEmptyElement",
              "args": [
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an empty element tag to the output.",
              "deprecated": false
            },
            "writeEndDocument": {
              "name": "writeEndDocument",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes any start tags and writes corresponding end tags.",
              "deprecated": false
            },
            "writeEndElement": {
              "name": "writeEndElement",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an end tag to the output relying on the internal\n state of the writer to determine the prefix and local name\n of the event.",
              "deprecated": false
            },
            "writeEntityRef": {
              "name": "writeEntityRef",
              "args": [
                {
                  "name": "name",
                  "description": "the name of the entity.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes an entity reference.",
              "deprecated": false
            },
            "writeNamespace": {
              "name": "writeNamespace",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix to bind this namespace to.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namespaceURI",
                  "description": "the uri to bind the prefix to.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a namespace to the output stream.\n If the prefix argument to this method is the empty string,\n \"xmlns\", or null this method will delegate to writeDefaultNamespace.",
              "deprecated": false
            },
            "writeProcessingInstruction": {
              "name": "writeProcessingInstruction",
              "args": [
                {
                  "name": "target",
                  "description": "the target of the processing instruction, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a processing instruction.",
              "deprecated": false
            },
            "writeProcessingInstruction0": {
              "name": "writeProcessingInstruction",
              "args": [
                {
                  "name": "target",
                  "description": "the target of the processing instruction, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "data",
                  "description": "the data contained in the processing instruction, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a processing instruction.",
              "deprecated": false
            },
            "writeRaw": {
              "name": "writeRaw",
              "args": [
                {
                  "name": "raw",
                  "description": "the string to write to the output stream.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes the given string directly into the output stream. No checks\n regarding the correctness of the XML are done. The caller must ensure\n that the final result is a correct XML.",
              "deprecated": false
            },
            "writeStartDocument": {
              "name": "writeStartDocument",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the XML Declaration. Defaults the XML version to 1.0, and the encoding to utf-8",
              "deprecated": false
            },
            "writeStartDocument0": {
              "name": "writeStartDocument",
              "args": [
                {
                  "name": "version",
                  "description": "version of the xml document.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the XML Declaration. Defaults the XML version to 1.0",
              "deprecated": false
            },
            "writeStartDocument01": {
              "name": "writeStartDocument",
              "args": [
                {
                  "name": "encoding",
                  "description": "encoding of the xml declaration.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "version",
                  "description": "version of the xml document.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Write the XML Declaration.  Note that the encoding parameter does\n not set the actual encoding of the underlying output.  That must\n be set when the instance of the XMLStreamWriter is created using the\n XMLOutputFactory.",
              "deprecated": false
            },
            "writeStartElement": {
              "name": "writeStartElement",
              "args": [
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a start tag to the output.  All writeStartElement methods\n open a new scope in the internal namespace context.  Writing the\n corresponding EndElement causes the scope to be closed.",
              "deprecated": false
            },
            "writeStartElement0": {
              "name": "writeStartElement",
              "args": [
                {
                  "name": "namespaceURI",
                  "description": "the namespaceURI of the prefix to use, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a start tag to the output.",
              "deprecated": false
            },
            "writeStartElement01": {
              "name": "writeStartElement",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localName",
                  "description": "local name of the tag, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namespaceURI",
                  "description": "the uri to bind the prefix to, may not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Writes a start tag to the output.",
              "deprecated": false
            }
          }
        }
      },
      "job": {
        "JobExecution": {
          "fullClassName": "dw.job.JobExecution",
          "package": "dw.job",
          "description": "Represents an execution of a job. The job execution can be accessed from a <a href=\"class_dw_job_JobStepExecution.html\">JobStepExecution</a> via\n <a href=\"class_dw_job_JobStepExecution.html#dw_job_JobStepExecution_getJobExecution_DetailAnchor\">JobStepExecution.getJobExecution()</a>. If a pipeline is used to implement a step the step execution is available\n in the pipeline dictionary under the key 'JobStepExecution'. If a script module is used to implement a step the step\n execution is available as the second parameter of the module's function that is used to execute the step, e.g.:\n\n <pre> ...\n exports.execute( parameters, stepExecution)\n {\n      ...\n      var jobExecution = stepExecution.getJobExecution();\n      ...\n }\n ...\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "context": {
              "name": "context",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The job context which can be used to share data between steps. NOTE: Steps should be self-contained, the\n job context should only be used when necessary and with caution. If two steps which are running in parallel in\n the same job store data in the job context using the same key the result is undefined. Don't add any complex data\n to the job context since only simple data types are supported (for example, String and Integer).",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this job execution.",
              "deprecated": false,
              "type": "property"
            },
            "jobID": {
              "name": "jobID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the job this job execution belongs to.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContext": {
              "name": "getContext",
              "args": [],
              "class": {
                "name": "Map",
                "description": "the map that represents the job context."
              },
              "description": "Returns the job context which can be used to share data between steps. NOTE: Steps should be self-contained, the\n job context should only be used when necessary and with caution. If two steps which are running in parallel in\n the same job store data in the job context using the same key the result is undefined. Don't add any complex data\n to the job context since only simple data types are supported (for example, String and Integer).",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of this job execution."
              },
              "description": "Returns the ID of this job execution.",
              "deprecated": false
            },
            "getJobID": {
              "name": "getJobID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the job this job execution belongs to."
              },
              "description": "Returns the ID of the job this job execution belongs to.",
              "deprecated": false
            }
          }
        },
        "JobStepExecution": {
          "fullClassName": "dw.job.JobStepExecution",
          "package": "dw.job",
          "description": "Represents an execution of a step that belongs to a job. The job execution this step execution belongs to can be\n accessed via <a href=\"class_dw_job_JobStepExecution.html#dw_job_JobStepExecution_getJobExecution_DetailAnchor\">getJobExecution()</a>. If a pipeline is used to implement a step this step execution is available\n in the pipeline dictionary under the key 'JobStepExecution'. If a script module is used to implement a step this step\n execution is available as the second parameter of the module's function that is used to execute the step, e.g.:\n\n <pre> ...\n exports.execute( parameters, stepExecution)\n {\n      ...\n      var jobExecution = stepExecution.getJobExecution();\n      ...\n }\n ...\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this step execution.",
              "deprecated": false,
              "type": "property"
            },
            "jobExecution": {
              "name": "jobExecution",
              "class": {
                "name": "JobExecution"
              },
              "static": false,
              "readonly": true,
              "description": "The job execution this step execution belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "stepID": {
              "name": "stepID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the step this step execution belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "stepTypeID": {
              "name": "stepTypeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the step type of the step this step execution belongs to.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of this step execution."
              },
              "description": "Returns the ID of this step execution.",
              "deprecated": false
            },
            "getJobExecution": {
              "name": "getJobExecution",
              "args": [],
              "class": {
                "name": "JobExecution",
                "description": "the job execution this step execution belongs to."
              },
              "description": "Returns the job execution this step execution belongs to.",
              "deprecated": false
            },
            "getParameterValue": {
              "name": "getParameterValue",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the parameter.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the value of the parameter of the step this step execution belongs to."
              },
              "description": "Returns the value of the parameter of the step this step execution belongs to.",
              "deprecated": false
            },
            "getStepID": {
              "name": "getStepID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the step this step execution belongs to."
              },
              "description": "Returns the ID of the step this step execution belongs to.",
              "deprecated": false
            },
            "getStepTypeID": {
              "name": "getStepTypeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the step type of the step this step execution belongs to."
              },
              "description": "Returns the ID of the step type of the step this step execution belongs to.",
              "deprecated": false
            }
          }
        }
      },
      "net": {
        "FTPClient": {
          "fullClassName": "dw.net.FTPClient",
          "package": "dw.net",
          "description": "The FTPClient class supports the FTP commands CD, GET, PUT, DEL, MKDIR, RENAME, and LIST. The FTP connection is\n established using passive transfer mode (PASV). The transfer of files can be text or binary.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.\n </p><p>\n An example usage is as follows:\n </p><p>\n\n </p><pre> <code>\n  var ftp : FTPClient = new dw.net.FTPClient();\n  ftp.connect(\"my.ftp-server.com\", \"username\", \"password\");\n  var data : String = ftp.get(\"simple.txt\");\n  ftp.disconnect();\n </code>\n </pre>\n <p>\n The default connection timeout depends on the script context timeout and will be set to a maximum of 30 seconds\n (default script context timeout is 10 seconds within storefront requests and 15 minutes within jobs).\n </p><p>\n <b>IMPORTANT NOTE:</b> Before you can make an outbound FTP connection, the FTP server IP address must be enabled for\n outbound traffic at the Commerce Cloud Digital firewall for your POD. Please file a support request to request a new firewall\n rule.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DEFAULT_GET_FILE_SIZE": {
              "name": "DEFAULT_GET_FILE_SIZE",
              "value": "5242880",
              "class": {
                "name": "Number"
              },
              "description": "The default size for get() returning a File is 5MB",
              "deprecated": true,
              "type": "constant"
            },
            "DEFAULT_GET_STRING_SIZE": {
              "name": "DEFAULT_GET_STRING_SIZE",
              "value": "2097152",
              "class": {
                "name": "Number"
              },
              "description": "The default size for get() returning a String is 2MB",
              "deprecated": true,
              "type": "constant"
            },
            "MAX_GET_FILE_SIZE": {
              "name": "MAX_GET_FILE_SIZE",
              "value": "209715200",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() returning a File is forty times the default size for getting a file. The\n largest file allowed is 200MB.",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_GET_STRING_SIZE": {
              "name": "MAX_GET_STRING_SIZE",
              "value": "10485760",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() returning a String is five times the default size for getting a String.\n The largest String allowed is 10MB.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "connected": {
              "name": "connected",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the FTP client is currently connected to the FTP server.",
              "deprecated": false,
              "type": "property"
            },
            "replyCode": {
              "name": "replyCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The reply code from the last FTP action.",
              "deprecated": false,
              "type": "property"
            },
            "replyMessage": {
              "name": "replyMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The string message from the last FTP action.",
              "deprecated": false,
              "type": "property"
            },
            "timeout": {
              "name": "timeout",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The timeout for this client, in milliseconds.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FTPClient": {
              "name": "FTPClient",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs the FTPClient instance.",
              "deprecated": false
            }
          },
          "methods": {
            "cd": {
              "name": "cd",
              "args": [
                {
                  "name": "path",
                  "description": "the new current directory",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the directory change was okay"
              },
              "description": "Changes the current directory on the remote server to the given path.",
              "deprecated": false
            },
            "connect": {
              "name": "connect",
              "args": [
                {
                  "name": "host",
                  "description": "Name of the FTP sever",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true when connection is successful, false otherwise."
              },
              "description": "Connects and logs on to an FTP Server as \"anonymous\" and returns a boolean indicating success or failure.",
              "deprecated": false
            },
            "connect0": {
              "name": "connect",
              "args": [
                {
                  "name": "host",
                  "description": "Name of the FTP sever",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "user",
                  "description": "User name for the login",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Password for the login",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true when connection is successful, false otherwise."
              },
              "description": "Connects and logs on to an FTP server and returns a boolean indicating success or failure.",
              "deprecated": false
            },
            "connect01": {
              "name": "connect",
              "args": [
                {
                  "name": "host",
                  "description": "Name of the FTP sever",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "Port for FTP server",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true when connection is successful, false otherwise."
              },
              "description": "Connects and logs on to an FTP Server as \"anonymous\" and returns a boolean indicating success or failure.",
              "deprecated": false
            },
            "connect012": {
              "name": "connect",
              "args": [
                {
                  "name": "host",
                  "description": "Name of the FTP sever",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "Port for FTP server",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "user",
                  "description": "User name for the login",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "Password for the login",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true when connection is successful, false otherwise."
              },
              "description": "Connects and logs on to an FTP server and returns a boolean indicating success or failure.",
              "deprecated": false
            },
            "del": {
              "name": "del",
              "args": [
                {
                  "name": "path",
                  "description": "the path to the file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the file was successfully deleted, false otherwise."
              },
              "description": "Deletes the remote file on the server identified by the path parameter.",
              "deprecated": false
            },
            "disconnect": {
              "name": "disconnect",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method first logs the current user out from the server and then disconnects from the server.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the contents of the file or null if an error occured while reading the file."
              },
              "description": "Reads the content of a remote file and returns it as a string using \"ISO-8859-1\" encoding to read it. Read at\n most MAX_GET_STRING_SIZE bytes.",
              "deprecated": false
            },
            "get0": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "an ISO 8859 character encoding labeled as a string, e.g. \"ISO-8859-1\"",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the contents of the file or null if an error occurred while reading the file."
              },
              "description": "Reads the content of a remote file and returns it as string using the passed encoding. Read at most\n MAX_GET_STRING_SIZE characters.",
              "deprecated": false
            },
            "get01": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxGetSize",
                  "description": "the maximum bytes fetched from the remote file.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the contents of the file or null if an error occurred while reading the file."
              },
              "description": "Reads the content of a remote file and returns it as a string using \"ISO-8859-1\" encoding to read it. Read at\n most maxGetSize characters.",
              "deprecated": true
            },
            "get012": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxGetSize",
                  "description": "the maximum bytes fetched from the remote file.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the contents of the file or null if an error occurred while reading the file."
              },
              "description": "Reads the content of a remote file and returns it as a string using the specified encoding. Returns at most\n maxGetSize characters.",
              "deprecated": true
            },
            "get0123": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "the local file name",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if remote file is fetched and copied into local file."
              },
              "description": "Reads the content of a remote file and creates a local copy in the given file using the passed string encoding to\n read the file content and using the system standard encoding \"UTF-8\" to write the file. Copies at most\n MAX_GET_FILE_SIZE bytes.",
              "deprecated": false
            },
            "get01234": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "the local file name",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "maxGetSize",
                  "description": "the maximum number of bytes to fetch",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if remote file is fetched and copied into local file."
              },
              "description": "Reads the content of a remote file and creates a local copy in the given file using the passed string encoding to\n read the file content and using the system standard encoding \"UTF-8\" to write the file. Copies at most maxGetSize\n bytes.",
              "deprecated": true
            },
            "getBinary": {
              "name": "getBinary",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "the local file name",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if remote file is fetched and copied into local file."
              },
              "description": "Reads the content of a remote file and creates a local copy in the given file. Copies at most MAX_GET_FILE_SIZE\n bytes. The FTP transfer is done in Binary mode.",
              "deprecated": false
            },
            "getBinary0": {
              "name": "getBinary",
              "args": [
                {
                  "name": "path",
                  "description": "remote path of the file to be read.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "the local file name",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "maxGetSize",
                  "description": "the maximum number of bytes to fetch",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if remote file is fetched and copied into local file."
              },
              "description": "Reads the content of a remote file and creates a local copy in the given file. Copies at most maxGetSize bytes.\n The FTP transfer is done in Binary mode.",
              "deprecated": true
            },
            "getConnected": {
              "name": "getConnected",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the client is currently connected."
              },
              "description": "Identifies if the FTP client is currently connected to the FTP server.",
              "deprecated": false
            },
            "getReplyCode": {
              "name": "getReplyCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the reply code from the last FTP action."
              },
              "description": "Returns the reply code from the last FTP action.",
              "deprecated": false
            },
            "getReplyMessage": {
              "name": "getReplyMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the string message from the last FTP action."
              },
              "description": "Returns the string message from the last FTP action.",
              "deprecated": false
            },
            "getTimeout": {
              "name": "getTimeout",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the timeout in milliseconds"
              },
              "description": "Returns the timeout for this client, in milliseconds.",
              "deprecated": false
            },
            "list": {
              "name": "list",
              "args": [],
              "class": {
                "name": "FTPFileInfo[]",
                "description": "list of objects with remote file information."
              },
              "description": "Returns a list of FTPFileInfo objects containing information about the files in the current directory.",
              "deprecated": false
            },
            "list0": {
              "name": "list",
              "args": [
                {
                  "name": "path",
                  "description": "the remote path from which the file info is listed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "FTPFileInfo[]",
                "description": "list of objects with remote file information."
              },
              "description": "Returns a list of FTPFileInfo objects containing information about the files in the remote directory defined by\n the given path.",
              "deprecated": false
            },
            "mkdir": {
              "name": "mkdir",
              "args": [
                {
                  "name": "path",
                  "description": "the path to the directory to create.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the directory was successfully created, false otherwise."
              },
              "description": "Creates a directory",
              "deprecated": false
            },
            "put": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "full path on the remote FTP server where the file will be stored.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "content",
                  "description": "the content to put.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true or false indicating success or failure."
              },
              "description": "Puts the specified content to the specified full path using \"ISO-8859-1\" encoding. The full path must include the\n path and the file name. If the content of a local file is to be uploaded, please use method\n putBinary(String, File) instead.",
              "deprecated": false
            },
            "put0": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "the full path on the remote FTP server where the file will be stored.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "content",
                  "description": "the content to put.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true or false indicating success or failure."
              },
              "description": "Put the given content to a file on the given full path on the FTP server. The full path must include the path and\n the file name. The transformation from String into binary data is done via the encoding provided with the method\n call. If the content of a local file is to be uploaded, please use method putBinary(String, File)\n instead.",
              "deprecated": false
            },
            "putBinary": {
              "name": "putBinary",
              "args": [
                {
                  "name": "path",
                  "description": "the full path on the remote FTP server where the file will be stored.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "the file on the local system, which content is send to the remote FTP server.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true or false indicating success or failure."
              },
              "description": "Put the content of the given file into a file on the remote FTP server with the given full path. The full path\n must include the path and the file name.",
              "deprecated": false
            },
            "removeDirectory": {
              "name": "removeDirectory",
              "args": [
                {
                  "name": "path",
                  "description": "the path to the directory.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the directory was successfully deleted, false otherwise."
              },
              "description": "Deletes the remote directory on the server identified by the path parameter. In order to delete the directory\n successfully the directory needs to be empty, otherwise the removeDirectory() method will return false.",
              "deprecated": false
            },
            "rename": {
              "name": "rename",
              "args": [
                {
                  "name": "from",
                  "description": "the file that will be renamed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "the name of the new file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the file was successfully renamed, false otherwise."
              },
              "description": "Renames an existing file.",
              "deprecated": false
            },
            "setTimeout": {
              "name": "setTimeout",
              "args": [
                {
                  "name": "timeoutMillis",
                  "description": "timeout, in milliseconds, up to a maximum of 2 minutes.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the timeout for connections made with the FTP client to the given number of milliseconds. If the given\n timeout is less than or equal to zero, the timeout is set to the same value as the script context timeout but\n will only be set to a maximum of 30 seconds.\n \n The maximum and default timeout depend on the script context timeout. The maximum timeout is set to a maximum of\n 2 minutes. The default timeout for a new client is set to a maximum of 30 seconds.\n \n This method can be called at any time, and will affect the next connection made with this client. It is not\n possible to set the timeout for an open connection.",
              "deprecated": false
            }
          }
        },
        "FTPFileInfo": {
          "fullClassName": "dw.net.FTPFileInfo",
          "package": "dw.net",
          "description": "The class is used to store information about a remote file.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "directory": {
              "name": "directory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the file is a directory.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the file.",
              "deprecated": false,
              "type": "property"
            },
            "size": {
              "name": "size",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The size of the file.",
              "deprecated": false,
              "type": "property"
            },
            "timestamp": {
              "name": "timestamp",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The timestamp of the file.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FTPFileInfo": {
              "name": "FTPFileInfo",
              "args": [
                {
                  "name": "name",
                  "description": "the name of the file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "size",
                  "description": "the size of the file.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "directory",
                  "description": "controls if the file is a directory.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "timestamp",
                  "description": "the timestamp of the file.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the FTPFileInfo instance.",
              "deprecated": false
            }
          },
          "methods": {
            "getDirectory": {
              "name": "getDirectory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the file is a directory, false otherwise."
              },
              "description": "Identifies if the file is a directory.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the file."
              },
              "description": "Returns the name of the file.",
              "deprecated": false
            },
            "getSize": {
              "name": "getSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size of the file."
              },
              "description": "Returns the size of the file.",
              "deprecated": false
            },
            "getTimestamp": {
              "name": "getTimestamp",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the timestamp of the file."
              },
              "description": "Returns the timestamp of the file.",
              "deprecated": false
            }
          }
        },
        "HTTPClient": {
          "fullClassName": "dw.net.HTTPClient",
          "package": "dw.net",
          "description": "The HTTPClient class supports the HTTP methods GET, POST, HEAD, PUT, PATCH, OPTIONS, and DELETE.\n If a secure connection via HTTPS is\n established the used server certificate or the signing CAs certificate needs to be imported into the customer key\n store via Business Manager. <b>Note:</b> when this class is used with sensitive data, be careful in persisting\n sensitive information.\n\n <pre> <code>\n var httpClient : HTTPClient = new HTTPClient();\n var message : String;\n httpClient.open('GET', 'http://www.myinstance.com/feed.xml');\n httpClient.setTimeout(3000);\n httpClient.send();\n if (httpClient.statusCode == 200)\n {\n      message = httpClient.text;\n }\n else\n {\n     // error handling\n     message=\"An error occurred with status code \"+httpClient.statusCode;\n }\n </code>\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DEFAULT_GET_FILE_SIZE": {
              "name": "DEFAULT_GET_FILE_SIZE",
              "value": "5242880",
              "class": {
                "name": "Number"
              },
              "description": "The default size for sendAndReceiveToFile() returning a File is 5MB deprecated in favor of\n MAX_GET_FILE_SIZE",
              "deprecated": true,
              "type": "constant"
            },
            "MAX_GET_FILE_SIZE": {
              "name": "MAX_GET_FILE_SIZE",
              "value": "209715200",
              "class": {
                "name": "Number"
              },
              "description": "The maximum permitted size (in bytes) of an HTTP response when calling operations which write the response to\n file. (200MB)",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_GET_MEM_SIZE": {
              "name": "MAX_GET_MEM_SIZE",
              "value": "10485760",
              "class": {
                "name": "Number"
              },
              "description": "The maximum permitted size (in bytes) of an HTTP response when calling operations which store the response in\n memory. (10MB)",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allowRedirect": {
              "name": "allowRedirect",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Determines whether redirect handling is enabled.",
              "deprecated": false,
              "type": "property"
            },
            "allResponseHeaders": {
              "name": "allResponseHeaders",
              "class": {
                "name": "HashMap"
              },
              "static": false,
              "readonly": true,
              "description": "All response headers as a map containing the name and value of the response header.",
              "deprecated": true,
              "type": "property"
            },
            "bytes": {
              "name": "bytes",
              "class": {
                "name": "Bytes"
              },
              "static": false,
              "readonly": true,
              "description": "The bytes in the message body for HTTP status codes between 200 and 299.",
              "deprecated": false,
              "type": "property"
            },
            "errorBytes": {
              "name": "errorBytes",
              "class": {
                "name": "Bytes"
              },
              "static": false,
              "readonly": true,
              "description": "The returned message body as bytes for HTTP status code greater or equal to 400. Error messages are not\n written to the response file.",
              "deprecated": false,
              "type": "property"
            },
            "errorText": {
              "name": "errorText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The returned message body as text for HTTP status code greater or equal to 400. Error messages are not\n written to the response file.",
              "deprecated": false,
              "type": "property"
            },
            "identity": {
              "name": "identity",
              "class": {
                "name": "KeyRef"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the identity used for mutual TLS (mTLS).",
              "deprecated": false,
              "type": "property"
            },
            "responseHeaders": {
              "name": "responseHeaders",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "All response headers as a map in which each entry represents an individual header. The key of the entry\n holds the header name and the entry value holds a list of all header values.",
              "deprecated": false,
              "type": "property"
            },
            "statusCode": {
              "name": "statusCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status code of the last HTTP operation.",
              "deprecated": false,
              "type": "property"
            },
            "statusMessage": {
              "name": "statusMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The message text of the last HTTP operation.",
              "deprecated": false,
              "type": "property"
            },
            "text": {
              "name": "text",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The returned message body as text for HTTP status codes between 200 and 299.",
              "deprecated": false,
              "type": "property"
            },
            "timeout": {
              "name": "timeout",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The timeout for this client, in milliseconds.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "HTTPClient": {
              "name": "HTTPClient",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "enableCaching": {
              "name": "enableCaching",
              "args": [
                {
                  "name": "ttl",
                  "description": "the TTL for the cached content in secs",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Calling this method enables caching for GET requests.\n \n It basically means that a response is cached, and before making a request the HTTP client looks into the cache to\n determine whether the response is already available. Only responses with a status code of 2xx, with a content\n length, with a size less then 50k, and which are not intended to be immediately written to a file are cached.\n \n The provided parameter defines the TTL (time to live) for the cached content. A value of 0 disables caching. The\n URL and the user name are used as cache keys. The total size of the cacheable content and the number of cached\n items is limited and automatically managed by the system. Cache control information send by the remote server is\n ignored. Caching HTTP responses should be done very carefully. It is important to ensure that the response really\n depends only on the URL and doesn't contain any remote state information or time information which is independent\n of the URL. It is also important to verify that the application sends exactly the same URL multiple times.",
              "deprecated": false
            },
            "getAllowRedirect": {
              "name": "getAllowRedirect",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if redirect handling is enabled, false otherwise."
              },
              "description": "Determines whether redirect handling is enabled.",
              "deprecated": false
            },
            "getAllResponseHeaders": {
              "name": "getAllResponseHeaders",
              "args": [],
              "class": {
                "name": "HashMap",
                "description": "a map containing the names and corresponding values of the response headers."
              },
              "description": "Returns all response headers as a map containing the name and value of the response header.",
              "deprecated": true
            },
            "getBytes": {
              "name": "getBytes",
              "args": [],
              "class": {
                "name": "Bytes",
                "description": "the returned message body as bytes."
              },
              "description": "Returns the bytes in the message body for HTTP status codes between 200 and 299.",
              "deprecated": false
            },
            "getErrorBytes": {
              "name": "getErrorBytes",
              "args": [],
              "class": {
                "name": "Bytes",
                "description": "the returned message body as bytes."
              },
              "description": "Returns the returned message body as bytes for HTTP status code greater or equal to 400. Error messages are not\n written to the response file.",
              "deprecated": false
            },
            "getErrorText": {
              "name": "getErrorText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the returned message body as text."
              },
              "description": "Returns the returned message body as text for HTTP status code greater or equal to 400. Error messages are not\n written to the response file.",
              "deprecated": false
            },
            "getIdentity": {
              "name": "getIdentity",
              "args": [],
              "class": {
                "name": "KeyRef",
                "description": "Reference to the private key, or null if not configured"
              },
              "description": "Gets the identity used for mutual TLS (mTLS).",
              "deprecated": false
            },
            "getResponseHeader": {
              "name": "getResponseHeader",
              "args": [
                {
                  "name": "header",
                  "description": "the name of the response header to locate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the value of the specified header or null if the header cannot be found."
              },
              "description": "Returns a specific response header from the last HTTP operation. The method returns null if the specific header\n was not returned.",
              "deprecated": false
            },
            "getResponseHeaders": {
              "name": "getResponseHeaders",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the response header to locate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "The values of the specified header as a list of strings or an empty list if the header cannot be found."
              },
              "description": "Returns all the values of a response header from the last HTTP operation as a list of strings. This reflects the\n fact that a specific header, e.g. \"Set-Cookie\", may be set multiple times. In case there is no such\n header, the method returns an empty list.",
              "deprecated": false
            },
            "getResponseHeaders0": {
              "name": "getResponseHeaders",
              "args": [],
              "class": {
                "name": "Map",
                "description": "A map containing the names and corresponding values of the response headers."
              },
              "description": "Returns all response headers as a map in which each entry represents an individual header. The key of the entry\n holds the header name and the entry value holds a list of all header values.",
              "deprecated": false
            },
            "getStatusCode": {
              "name": "getStatusCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the status code of the last HTTP operation."
              },
              "description": "Returns the status code of the last HTTP operation.",
              "deprecated": false
            },
            "getStatusMessage": {
              "name": "getStatusMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the message text of the last HTTP operation."
              },
              "description": "Returns the message text of the last HTTP operation.",
              "deprecated": false
            },
            "getText": {
              "name": "getText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the returned message body as text."
              },
              "description": "Returns the returned message body as text for HTTP status codes between 200 and 299.",
              "deprecated": false
            },
            "getText0": {
              "name": "getText",
              "args": [
                {
                  "name": "encoding",
                  "description": "the character encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "String the encoded String."
              },
              "description": "Returns the returned message body as text for HTTP status codes between 200 and 299.",
              "deprecated": false
            },
            "getTimeout": {
              "name": "getTimeout",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the timeout in milliseconds"
              },
              "description": "Returns the timeout for this client, in milliseconds.",
              "deprecated": false
            },
            "open": {
              "name": "open",
              "args": [
                {
                  "name": "method",
                  "description": "the method to use for opening the URL.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "url",
                  "description": "the url to open.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Opens the specified URL using the specified method. The following methods are supported: GET, POST, HEAD, PUT,\n PATCH, OPTIONS, and DELETE",
              "deprecated": false
            },
            "open0": {
              "name": "open",
              "args": [
                {
                  "name": "method",
                  "description": "the method to use for opening the URL.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "url",
                  "description": "the url to open.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "async",
                  "description": "true if asynchronous.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "user",
                  "description": "name of the user.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "password.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Deprecated method.",
              "deprecated": true
            },
            "open01": {
              "name": "open",
              "args": [
                {
                  "name": "method",
                  "description": "HTTP method",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "url",
                  "description": "the url",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "user",
                  "description": "name of the user",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "password",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Opens the specified URL with the in parameter method specified Http method with given credentials [user,\n password] using HTTP basic authentication. The following methods are supported: GET, POST, HEAD, PUT,\n PATCH, OPTIONS, and DELETE",
              "deprecated": false
            },
            "send": {
              "name": "send",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends an HTTP request.",
              "deprecated": false
            },
            "send0": {
              "name": "send",
              "args": [
                {
                  "name": "text",
                  "description": "text String to be sent as request body.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method performs the actual HTTP communication. The text is sent as a request body. If the text is null no\n data will be send to the HTTP server.",
              "deprecated": false
            },
            "send01": {
              "name": "send",
              "args": [
                {
                  "name": "text",
                  "description": "text String to be sent as request body.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "character encoding name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method performs the actual HTTP communication. The text is sent as a request body. If the text is null no\n data will be send to the HTTP server.",
              "deprecated": false
            },
            "send012": {
              "name": "send",
              "args": [
                {
                  "name": "file",
                  "description": "File to be sent.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method performs the actual HTTP communication. Sends the file to the HTTP server. The file content is sent\n as a request body and is sent \"as-is\" (text or binary).",
              "deprecated": false
            },
            "sendAndReceiveToFile": {
              "name": "sendAndReceiveToFile",
              "args": [
                {
                  "name": "file",
                  "description": "local file used to read from or write to, depending on the method used.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the returned code was a positive status code"
              },
              "description": "This method performs the actual HTTP communication. If the file is null no data will be send to the HTTP server.\n If this method is used with a GET then the file parameter will contain the contents retrieved. When using this\n method with a PUT/POST then the contents of the file parameter will be sent to the server.",
              "deprecated": false
            },
            "sendAndReceiveToFile0": {
              "name": "sendAndReceiveToFile",
              "args": [
                {
                  "name": "text",
                  "description": "text String to be sent.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "outFile",
                  "description": "local file to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the returned code was a positive status code"
              },
              "description": "This method performs the actual HTTP communication. If the text is null no data will be send to the HTTP server.",
              "deprecated": false
            },
            "sendAndReceiveToFile01": {
              "name": "sendAndReceiveToFile",
              "args": [
                {
                  "name": "text",
                  "description": "text String to be sent.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "character encoding name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "outFile",
                  "description": "local file to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the returned code was a positive status code"
              },
              "description": "This method performs the actual HTTP communication. If the text is null no data will be send to the HTTP server.",
              "deprecated": false
            },
            "sendBytes": {
              "name": "sendBytes",
              "args": [
                {
                  "name": "body",
                  "description": "Bytes to be sent as request body.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method performs the actual HTTP communication. The bytes are sent as a request body. If the bytes are null no\n data will be sent to the HTTP server.",
              "deprecated": false
            },
            "sendBytesAndReceiveToFile": {
              "name": "sendBytesAndReceiveToFile",
              "args": [
                {
                  "name": "body",
                  "description": "Bytes to be sent.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "outFile",
                  "description": "local file to write to.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the returned code was a positive status code"
              },
              "description": "This method performs the actual HTTP communication. If the body is null no data will be sent to the HTTP server.",
              "deprecated": false
            },
            "sendMultiPart": {
              "name": "sendMultiPart",
              "args": [
                {
                  "name": "parts",
                  "description": "List of part objects representing either string or file parts.",
                  "class": {
                    "name": "HTTPRequestPart"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the returned code was a positive status code."
              },
              "description": "Sends a multipart HTTP request. This method should only be called if the connection to the remote URL was opened\n with a POST or PATCH method. All other methods will result in an exception being thrown. The request is constructed\n from the passed array of parts.",
              "deprecated": false
            },
            "setAllowRedirect": {
              "name": "setAllowRedirect",
              "args": [
                {
                  "name": "allowRedirect",
                  "description": "true or false for enabling or disabling automatic HTTP redirect",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets whether automatic HTTP redirect handling is enabled.\n The default value is true. Set it to false to disable all redirects.",
              "deprecated": false
            },
            "setIdentity": {
              "name": "setIdentity",
              "args": [
                {
                  "name": "keyRef",
                  "description": "Reference to the private key",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the identity (private key) to use when mutual TLS (mTLS) is configured.\n \n If this is not set and mTLS is used then the private key will be chosen from the key store based on the host\n name.\n If this is set to a reference named \"__NONE__\" then no private key will be used even if one is requested by the remote server.",
              "deprecated": false
            },
            "setRequestHeader": {
              "name": "setRequestHeader",
              "args": [
                {
                  "name": "key",
                  "description": "the request header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the request headers' value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a request header for the next HTTP operation.",
              "deprecated": false
            },
            "setTimeout": {
              "name": "setTimeout",
              "args": [
                {
                  "name": "timeoutMillis",
                  "description": "timeout, in milliseconds, up to a maximum of 2 or 15 minutes, depending on the context.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the timeout for connections made with this client to the given number of milliseconds. If the given timeout\n is less than or equal to zero, the timeout is set to a maximum value of 2 or 15 minutes, depending on the\n context.\n \n This timeout value controls both the \"connection timeout\" (how long it takes to connect to the remote host) and\n the \"socket timeout\" (how long, after connecting, it will wait without any data being read). Therefore, in the\n worst case scenario, the total time of inactivity could be twice as long as the specified value.\n \n The maximum timeout is 15 minutes when the client is used in a job, and 2 minutes otherwise. The default timeout\n for a new client is the maximum timeout value.\n \n This method can be called at any time, and will affect the next connection made with this client. It is not\n possible to set the timeout for an open connection.\n \n You should always set a reasonable timeout (e.g., a few seconds). Allowing connections to run long can result\n in thread exhaustion.",
              "deprecated": false
            }
          }
        },
        "HTTPRequestPart": {
          "fullClassName": "dw.net.HTTPRequestPart",
          "package": "dw.net",
          "description": "This represents a part in a multi-part HTTP POST request.\n <p>\n A part always has a name and value. The value may be a String, Bytes, or the contents of a File.\n </p><p>\n A character encoding may be specified for any of these, and the content type and a file name may additionally be\n specified for the Bytes and File types.\n </p><p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "bytesValue": {
              "name": "bytesValue",
              "class": {
                "name": "Bytes"
              },
              "static": false,
              "readonly": true,
              "description": "Get the Bytes value of the part.",
              "deprecated": false,
              "type": "property"
            },
            "contentType": {
              "name": "contentType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The content type of this part.",
              "deprecated": false,
              "type": "property"
            },
            "encoding": {
              "name": "encoding",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the charset to be used to encode the string.",
              "deprecated": false,
              "type": "property"
            },
            "fileName": {
              "name": "fileName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the file name to use when sending a file part.",
              "deprecated": false,
              "type": "property"
            },
            "fileValue": {
              "name": "fileValue",
              "class": {
                "name": "File"
              },
              "static": false,
              "readonly": true,
              "description": "Get the file value of the part.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the name of the part.",
              "deprecated": false,
              "type": "property"
            },
            "stringValue": {
              "name": "stringValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the string value of the part.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "HTTPRequestPart": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the part.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The string to post.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a simple string name/value pair. The HTTP\n message uses \"US-ASCII\" as the default character set for the part.",
              "deprecated": false
            },
            "HTTPRequestPart0": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the part.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The string to post.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The charset to be used to encode the string, if null the default is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a simple string name/value pair. The HTTP\n message uses the specified encoding or \"US-ASCII\" if null is passed\n for the part.",
              "deprecated": false
            },
            "HTTPRequestPart01": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the file part",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to post",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a name/File pair. The HTTP message will use\n \"application/octet-stream\" as the content type and \"ISO-8859-1\" as the character\n set for the part.",
              "deprecated": false
            },
            "HTTPRequestPart012": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the file part",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "data",
                  "description": "The bytes to post",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a name/bytes pair. The HTTP message will use\n \"application/octet-stream\" as the content type without a character set.",
              "deprecated": false
            },
            "HTTPRequestPart0123": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the file part",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "data",
                  "description": "The bytes to post",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "contentType",
                  "description": "The content type for this part, if null or blank the default is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the charset encoding for this part, if null or blank the default is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "fileName",
                  "description": "The file name to use in the Mime header, or null to not use one.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a name/File pair.\n \n \n If both contentType and encoding are null, then the part will be defaulted to use \"application/octet-stream\"\n as the content-type without an encoding.\n If only the encoding is null, then the contentType will be used without an encoding.\n If only the contentType is null, then it will be defaulted to \"text/plain\".",
              "deprecated": false
            },
            "HTTPRequestPart01234": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the file part",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to post",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "contentType",
                  "description": "The content type for this part, if null or blank the default is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the charset encoding for this part, if null or blank the default is used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a name/File pair.\n \n \n If both contentType and encoding are null, then the part will be defaulted to use \"application/octet-stream\"\n as the content-type and \"ISO-8859-1\" as the encoding.\n If only the encoding is null, then the contentType will be used without an encoding.\n If only the contentType is null, then it will be defaulted to \"text/plain\".",
              "deprecated": false
            },
            "HTTPRequestPart012345": {
              "name": "HTTPRequestPart",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the file part",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to post",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "contentType",
                  "description": "The content type for this part, if null or blank the default is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the charset encoding for this part, if null or blank the default is used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "fileName",
                  "description": "The file name to use in the Mime header, or null to use the name of the given file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a part representing a name/File pair.\n \n \n If both contentType and encoding are null, then the part will be defaulted to use \"application/octet-stream\"\n as the content-type and \"ISO-8859-1\" as the encoding.\n If only the encoding is null, then the contentType will be used without an encoding.\n If only the contentType is null, then it will be defaulted to \"text/plain\".",
              "deprecated": false
            }
          },
          "methods": {
            "getBytesValue": {
              "name": "getBytesValue",
              "args": [],
              "class": {
                "name": "Bytes",
                "description": "The Bytes value, or null if this part is not a Bytes part."
              },
              "description": "Get the Bytes value of the part.",
              "deprecated": false
            },
            "getContentType": {
              "name": "getContentType",
              "args": [],
              "class": {
                "name": "String",
                "description": "The content type, or null if content type was not specified."
              },
              "description": "Returns the content type of this part.",
              "deprecated": false
            },
            "getEncoding": {
              "name": "getEncoding",
              "args": [],
              "class": {
                "name": "String",
                "description": "The charset, or null if charset was not specified."
              },
              "description": "Get the charset to be used to encode the string.",
              "deprecated": false
            },
            "getFileName": {
              "name": "getFileName",
              "args": [],
              "class": {
                "name": "String",
                "description": "File name to use in the Mime header, or null for default behavior."
              },
              "description": "Get the file name to use when sending a file part.",
              "deprecated": false
            },
            "getFileValue": {
              "name": "getFileValue",
              "args": [],
              "class": {
                "name": "File",
                "description": "The file value, or null if this part is not a file part."
              },
              "description": "Get the file value of the part.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The part name, never null."
              },
              "description": "Get the name of the part.",
              "deprecated": false
            },
            "getStringValue": {
              "name": "getStringValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "The string value, or null if this part is not a string part."
              },
              "description": "Get the string value of the part.",
              "deprecated": false
            }
          }
        },
        "Mail": {
          "fullClassName": "dw.net.Mail",
          "package": "dw.net",
          "description": "This class is used to send an email with either plain text or MimeEncodedText content.\n Recipient data (from, to, cc, bcc) and subject are specified\n using setter methods. When the <a href=\"class_dw_net_Mail.html#dw_net_Mail_send_DetailAnchor\">send()</a> method is invoked,\n the email is put into an internal queue and sent asynchronously.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.\n </p><p>\n The following example script sends an email with MimeEncodedText content:\n\n </p><pre> <code>\n function sendMail() {\n  var template: Template = new dw.util.Template(\"myTemplate.isml\");\n\n  var o: Map = new dw.util.HashMap();\n  o.put(\"customer\",\"customer\");\n  o.put(\"product\",\"product\");\n\n  var content: MimeEncodedText = template.render(o);\n  var mail: Mail = new dw.net.Mail();\n  mail.addTo(\"<a href=\"/cdn-cgi/l/email-protection\" class=\"__cf_email__\" data-cfemail=\"9febf0dffae7fef2eff3fab1f0edf8\">[email&nbsp;protected]</a>\");\n  mail.setFrom(\"<a href=\"/cdn-cgi/l/email-protection\" class=\"__cf_email__\" data-cfemail=\"9dfbeff2f0ddf8e5fcf0edf1f8b3f2effa\">[email&nbsp;protected]</a>\");\n  mail.setSubject(\"Example Email\");\n  mail.setContent(content);\n\n  mail.send();//returns either Status.ERROR or Status.OK, mail might not be sent yet, when this method returns\n  }\n </code>\n </pre>\n <p>\n  See <b>Sending email via scripts or hooks</b> in the documentation for additional examples.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "bcc": {
              "name": "bcc",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the bcc address List.",
              "deprecated": false,
              "type": "property"
            },
            "cc": {
              "name": "cc",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the cc address List.",
              "deprecated": false,
              "type": "property"
            },
            "from": {
              "name": "from",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the email address to use as the from address for the\n email.",
              "deprecated": false,
              "type": "property"
            },
            "subject": {
              "name": "subject",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the subject of the email.",
              "deprecated": false,
              "type": "property"
            },
            "to": {
              "name": "to",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the to address List where the email is sent.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Mail": {
              "name": "Mail",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "addBcc": {
              "name": "addBcc",
              "args": [
                {
                  "name": "bcc",
                  "description": "new bcc address to add to bcc address List.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Adds an address to the bcc List. Address must conform to the RFC822 standard.",
              "deprecated": false
            },
            "addCc": {
              "name": "addCc",
              "args": [
                {
                  "name": "cc",
                  "description": "new cc address to be added to cc address List.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Adds an address to the cc List. The address must conform to RFC822 standard.",
              "deprecated": false
            },
            "addTo": {
              "name": "addTo",
              "args": [
                {
                  "name": "to",
                  "description": "email address to add to the to address List.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Adds an address to the to address List. The address must conform to the RFC822 standard.",
              "deprecated": false
            },
            "getBcc": {
              "name": "getBcc",
              "args": [],
              "class": {
                "name": "List",
                "description": "bcc address List or empty List if no bcc addresses are set."
              },
              "description": "Gets the bcc address List.",
              "deprecated": false
            },
            "getCc": {
              "name": "getCc",
              "args": [],
              "class": {
                "name": "List",
                "description": "cc address List or empty List if no cc addresses are set."
              },
              "description": "Gets the cc address List.",
              "deprecated": false
            },
            "getFrom": {
              "name": "getFrom",
              "args": [],
              "class": {
                "name": "String",
                "description": "the from address for this mail or null if no from address is set yet."
              },
              "description": "Gets the email address to use as the from address for the\n email.",
              "deprecated": false
            },
            "getSubject": {
              "name": "getSubject",
              "args": [],
              "class": {
                "name": "String",
                "description": "subject or null if no subject is set yet."
              },
              "description": "Gets the subject of the email.",
              "deprecated": false
            },
            "getTo": {
              "name": "getTo",
              "args": [],
              "class": {
                "name": "List",
                "description": "to address List or empty List if no to addresses are set."
              },
              "description": "Gets the to address List where the email is sent.",
              "deprecated": false
            },
            "send": {
              "name": "send",
              "args": [],
              "class": {
                "name": "Status",
                "description": "Status which tells if the mail could be successfully queued ( Status.OK) or not ( Status.ERROR). If an error is raised, more information about the reason for the failure can be found within the log files. If the mandatory fields from, content, and subject are empty an IllegalArgumentException is raised. An IllegalArgumentException is raised if neither to, cc nor bcc are set."
              },
              "description": "prepares an email that is queued to the internal mail system for\n delivery.",
              "deprecated": false
            },
            "setBcc": {
              "name": "setBcc",
              "args": [
                {
                  "name": "bcc",
                  "description": "list of Strings representing RFC822 compliant email addresses. List replaces any previously set list of addresses. Throws an exception if the given list is null.",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Sets the bcc address List. If there\n are already bcc addresses they are overwritten.",
              "deprecated": false
            },
            "setCc": {
              "name": "setCc",
              "args": [
                {
                  "name": "cc",
                  "description": "List of Strings representing RFC822 compliant email addresses. This List replaces any previously set List of addresses. Throws an exception if the given List is null.",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object"
              },
              "description": "Sets the cc address List where the email is sent. If there are\n already cc addresses set, they are overwritten. The address(es) must\n conform to the RFC822 standard.",
              "deprecated": false
            },
            "setContent": {
              "name": "setContent",
              "args": [
                {
                  "name": "content",
                  "description": "String containing the content of the email.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Mandatory Sets the email content. The MIME type is set to\n \"text/plain;charset=UTF-8\" and encoding set to \"UTF-8\".",
              "deprecated": false
            },
            "setContent0": {
              "name": "setContent",
              "args": [
                {
                  "name": "content",
                  "description": "String containing the content of the mail",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mimeType",
                  "description": "mime type of the content. For example \"text/plain;charset=UTF-8\" or \"text/html\"",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "character encoding of the email content. For example UTF-8-8",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Mandatory Sets the email content, MIME type, and encoding. No\n validation of MIME type and encoding is done. It is the responsibility of\n the caller to specify a valid MIME type and encoding.",
              "deprecated": false
            },
            "setContent01": {
              "name": "setContent",
              "args": [
                {
                  "name": "mimeEncodedText",
                  "description": "MimeEncodedText from which the content, MIME type, and encoding information is extracted.",
                  "class": {
                    "name": "MimeEncodedText"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Mandatory Uses MimeEncodedText to set the\n content, MIME type and encoding.",
              "deprecated": false
            },
            "setFrom": {
              "name": "setFrom",
              "args": [
                {
                  "name": "from",
                  "description": "String containing a RFC822 compliant email address",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Mandatory Sets the sender address for this email. The address must\n conform to the RFC822 standard.",
              "deprecated": false
            },
            "setSubject": {
              "name": "setSubject",
              "args": [
                {
                  "name": "subject",
                  "description": "subject of the mail to send.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object."
              },
              "description": "Mandatory sets the subject for the email. If the subject is not set\n or set to null at the time send() is invoked and\n IllegalArgumentException is thrown.",
              "deprecated": false
            },
            "setTo": {
              "name": "setTo",
              "args": [
                {
                  "name": "to",
                  "description": "list of Strings representing RFC822 compliant email addresses. List replaces any previously set List of addresses. Throws an exception if the given List is null.",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Mail",
                "description": "this Mail object"
              },
              "description": "Sets the to address List where the email is sent. If there are\n already to addresses, they are overwritten.",
              "deprecated": false
            }
          }
        },
        "WebDAVClient": {
          "fullClassName": "dw.net.WebDAVClient",
          "package": "dw.net",
          "description": "The WebDAVClient class supports the WebDAV methods GET, PUT, MKCOL, MOVE,\n COPY, PROPFIND,OPTIONS and DELETE.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.\n  The client can be used as shown in the following example:\n </p><p>\n </p><pre> var webdavClient : WebDAVClient = new WebDAVClient(\"http://mywebdav.server.com\",\"myusername\", \"mypassword\");\n var getString : String = webdavClient.get(\"myData.xml\",\"UTF-8\");\n var message : String;\n\n if (webdavClient.succeeded())\n {\n      message = webDavClient.statusText;\n }\n else\n {\n     // error handling\n     message=\"An error occured with status code \"+webdavClient.statusCode;\n }\n\n var data : XML = new XML(getString);\n </pre>\n <p>\n The WebDAV client supports the following authentication schemes:\n </p><ul>\n <li>Basic authentication</li>\n <li>Digest authentication</li>\n </ul>\n\n The methods of this class do not generally throw exceptions if the underlying\n WebDAV operation do not succeed.The result of a WebDAV operation can be\n checked using the methods succeeded(), getStatusCode(), and getStatusText().\n <p>\n Important note: This WebDAV client cannot be used to access the Commerce Cloud Digital\n server via WebDAV protocol.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DEFAULT_ENCODING": {
              "name": "DEFAULT_ENCODING",
              "value": "\"UTF-8\"",
              "class": {
                "name": "String"
              },
              "description": "The default encoding character set.",
              "deprecated": false,
              "type": "constant"
            },
            "DEFAULT_GET_FILE_SIZE": {
              "name": "DEFAULT_GET_FILE_SIZE",
              "value": "5242880",
              "class": {
                "name": "Number"
              },
              "description": "The default size for get() returning a File is 5MB.",
              "deprecated": false,
              "type": "constant"
            },
            "DEFAULT_GET_STRING_SIZE": {
              "name": "DEFAULT_GET_STRING_SIZE",
              "value": "2097152",
              "class": {
                "name": "Number"
              },
              "description": "The default size for get() returning a String is 2MB.",
              "deprecated": false,
              "type": "constant"
            },
            "DEPTH_0": {
              "name": "DEPTH_0",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "The depth of searching a WebDAV destination using the PROPFIND method -\n if that depth is given to the PROPFIND method as an input parameter the\n destination will be searched only on the level of the given path and a\n list of all containing files on that level will be returned [is not\n supported by every server].",
              "deprecated": false,
              "type": "constant"
            },
            "DEPTH_1": {
              "name": "DEPTH_1",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "The depth of searching a WebDAV destination using the PROPFIND method -\n if that depth is given to the PROPFIND method as an input parameter the\n destination will be searched until one level under the given path and a\n list of all containing files in that two levels [/path and one level\n underneath] will be returned [is not supported by every server].",
              "deprecated": false,
              "type": "constant"
            },
            "DEPTH_INIFINITY": {
              "name": "DEPTH_INIFINITY",
              "value": "2147483647",
              "class": {
                "name": "Number"
              },
              "description": "The depth of searching a WebDAV destination using the PROPFIND method -\n if that depth is given to the PROPFIND method as an input parameter the\n destination will be fully searched and a list of all containing files\n will be returned [is not supported by every server].",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_GET_FILE_SIZE": {
              "name": "MAX_GET_FILE_SIZE",
              "value": "209715200",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() returning a File is forty times\n the default size for getting a file. The largest file allowed is 200MB.",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_GET_STRING_SIZE": {
              "name": "MAX_GET_STRING_SIZE",
              "value": "10485760",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() returning a String is five\n times the default size for getting a String. The largest String allowed\n is 10MB.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allResponseHeaders": {
              "name": "allResponseHeaders",
              "class": {
                "name": "HashMap"
              },
              "static": false,
              "readonly": true,
              "description": "A HashMap of all response headers.",
              "deprecated": false,
              "type": "property"
            },
            "statusCode": {
              "name": "statusCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status code after the execution of a method.",
              "deprecated": false,
              "type": "property"
            },
            "statusText": {
              "name": "statusText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The status text after the execution of a method.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "WebDAVClient": {
              "name": "WebDAVClient",
              "args": [
                {
                  "name": "rootUrl",
                  "description": "the url of the server one wants to connect to. All commands will be executed by the client relative to that url.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "username",
                  "description": "username of the user for server authentication.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "password of the user for server authentication.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new client for the use at a server which requires\n authentication.\n The client supports the following authentication schemes:\n      - Basic authentication scheme\n      - Digest authentication scheme",
              "deprecated": false
            },
            "WebDAVClient0": {
              "name": "WebDAVClient",
              "args": [
                {
                  "name": "rootUrl",
                  "description": "the url of the server one wants to connect to. All commands will be executed by the client relative to that url.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new client for the use at a server which does not require\n authentication.",
              "deprecated": false
            }
          },
          "methods": {
            "addRequestHeader": {
              "name": "addRequestHeader",
              "args": [
                {
                  "name": "headerName",
                  "description": "name of the header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "headerValue",
                  "description": "value of the header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a request header to the next WebDAV call.",
              "deprecated": false
            },
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the current connection to the server.",
              "deprecated": false
            },
            "copy": {
              "name": "copy",
              "args": [
                {
                  "name": "origin",
                  "description": "The origin where a file is located, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "destination",
                  "description": "The destination where the file should be copied to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Copies a file on the server from one place rootUrl/origin\n to the other rootUrl/destination. If\n destination already exists it gets overwritten. Returns\n true if succeeded, otherwise false.",
              "deprecated": false
            },
            "copy0": {
              "name": "copy",
              "args": [
                {
                  "name": "origin",
                  "description": "The origin where a file is located, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "destination",
                  "description": "The destination where the file should be copied to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "overwrite",
                  "description": "A flag which determines whether the destination gets overwritten if it exists before copying.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Copies a file on the server from one place rootUrl/origin\n to the other rootUrl/destination. If\n the passed parameter overwrite is true and\n destination already exists it gets overwritten. Returns\n true if succeeded, otherwise false.",
              "deprecated": false
            },
            "copy01": {
              "name": "copy",
              "args": [
                {
                  "name": "origin",
                  "description": "The origin where a file is located, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "destination",
                  "description": "The destination where the file should be copied to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "overwrite",
                  "description": "A flag which determines whether the destination gets overwritten if it exits before copying",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "shallow",
                  "description": "A flag which determines how to copy the given data.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Copies a file on the server from one place rootUrl/origin\n to the other rootUrl/destination. If\n the passed parameter overwrite is true and\n destination already exists it gets overwritten. If the\n passed parameter shallow is true a flat copy mechanism is\n used.\n\n Returns true if succeeded, otherwise false.",
              "deprecated": false
            },
            "del": {
              "name": "del",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the file or collection to delete, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Deletes a file or directory from the remote server that can be found\n under rootUrl/path. Returns true if\n succeeded, otherwise false.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the String representation of the data found on the given path."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path and returns a string\n representation of the data found in the DEFAULT_ENCODING encoding. If the\n remote location is a directory the result depends on the server\n configuration, some return an HTML formatted directory listing. Returns\n at most DEFAULT_GET_STRING_SIZE bytes.",
              "deprecated": false
            },
            "get0": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get - relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The encoding of the resulting String.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the String representation of the data found on the given path in the given encoding."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path and returns a string\n representation of the data found in the given encoding. If\n the remote location is a directory the result depends on the server\n configuration, some return an HTML formatted directory listing. Returns\n at most DEFAULT_GET_STRING_SIZE bytes.",
              "deprecated": false
            },
            "get01": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get - relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The encoding of the resulting String.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxGetSize",
                  "description": "The maximum size of data in bytes. Not to exceed MAX_GET_STRING_SIZE.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "returns the String representation of the data found on the given path in the given encoding."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path and returns a string\n representation of the data found in the given encoding. If\n the remote location is a directory the result depends on the server\n configuration, some return an HTML formatted directory listing. Returns\n at most maxGetSize bytes.",
              "deprecated": false
            },
            "get012": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get - relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to save the received data in.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "returns true if succeeded, otherwise false."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path in DEFAULT_ENCODING\n encoding and writes a File in the system's standard\n encoding, which is \"UTF-8\". If the remote location is a directory the\n result depends on the server configuration, some return an HTML formatted\n directory listing. Receives at most DEFAULT_GET_FILE_SIZE bytes which\n determines the file size of the local file. Returns true if succeeded\n otherwise false.",
              "deprecated": false
            },
            "get0123": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get - relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to save the received data in.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "maxFileSize",
                  "description": "The maximum size of bytes to stream into the file. Not to exceed MAX_GET_FILE_SIZE.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "returns true if succeeded, otherwise false."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path in DEFAULT_ENCODING\n encoding and writes a File in the system's standard\n encoding, which is \"UTF-8\". If the remote location is a directory the\n result depends on the server configuration, some return an HTML formatted\n directory listing. Receives at most maxFileSize bytes which determines\n the file size of the local file. Returns true if succeeded, otherwise\n false.",
              "deprecated": false
            },
            "get01234": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "The path of the collection or file one wants to get - relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to save the received data in.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The encoding to use when reading the remote file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxFileSize",
                  "description": "The maximum number of bytes to stream into the file. Not to exceed MAX_GET_FILE_SIZE.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "returns true if succeeded, otherwise false."
              },
              "description": "Reads the content of a remote file or directory that can be found under\n rootUrl/path in the passed encoding and\n writes a File in the system standard encoding, which is\n \"UTF-8\". If the remote location is a directory the result depends on the\n server configuration, some return an HTML formatted directory listing.\n Receives at most maxFileSize bytes which determines the file size of the\n local file. Returns true if succeeded, otherwise false.",
              "deprecated": false
            },
            "getAllResponseHeaders": {
              "name": "getAllResponseHeaders",
              "args": [],
              "class": {
                "name": "HashMap",
                "description": "all headers in a HashMap."
              },
              "description": "Returns a HashMap of all response headers.",
              "deprecated": false
            },
            "getBinary": {
              "name": "getBinary",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to rootUrl on the remote server including the file name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The local file where the received binary data should be stored.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Reads the content of a remote binary file that can be found under\n rootUrl/path and creates a local copy\n in File. If the remote location is a directory the result\n depends on the server configuration, some return an HTML formatted\n directory listing. Copies at most DEFAULT_GET_FILE_SIZE bytes. Returns\n true if succeeded, otherwise false.",
              "deprecated": false
            },
            "getBinary0": {
              "name": "getBinary",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to rootUrl on the remote server including the file name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file local file where the received binary data should be stored.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "maxFileSize",
                  "description": "The maximum number of bytes to stream into the file. Not to exceed MAX_GET_FILE_SIZE.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Reads the content of a remote binary file that can be found under\n rootUrl/path and creates a local copy\n in File. If the remote location is a directory the result\n depends on the server configuration, some return an HTML formatted\n directory listing. Copies at most maxFileSize bytes. Returns true if\n succeeded, otherwise false.",
              "deprecated": false
            },
            "getResponseHeader": {
              "name": "getResponseHeader",
              "args": [
                {
                  "name": "header",
                  "description": "The name of the header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "The header - in case of multiple headers separated by CRLF."
              },
              "description": "Returns a specified response header - multiple headers are separated by\n CRLF.",
              "deprecated": false
            },
            "getStatusCode": {
              "name": "getStatusCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the statusCode."
              },
              "description": "Returns the status code after the execution of a method.",
              "deprecated": false
            },
            "getStatusText": {
              "name": "getStatusText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the statusText."
              },
              "description": "Returns the status text after the execution of a method.",
              "deprecated": false
            },
            "mkcol": {
              "name": "mkcol",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to the rootUrl stated when instantiating the client where the new collection should be created.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Creates a directory on the remote server on the location\n rootUrl/path.",
              "deprecated": false
            },
            "move": {
              "name": "move",
              "args": [
                {
                  "name": "origin",
                  "description": "The origin where a file is located, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "destination",
                  "description": "The destination where the file should be moved to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Moves a file on the server from one place rootUrl + \"/\" +origin\n to the other rootUrl/destination. If\n destination already exists it gets overwritten. Can also\n be used to rename a remote file. Returns true if succeeded, otherwise\n false.",
              "deprecated": false
            },
            "move0": {
              "name": "move",
              "args": [
                {
                  "name": "origin",
                  "description": "The origin where a file is located, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "destination",
                  "description": "The destination where the file should be moved to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "overwrite",
                  "description": "A flag which determines whether the destination gets overwritten if it exists before moving.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Moves a file on the server from one place rootUrl/origin\n to the other rootUrl/destination Can\n also be used to rename a remote file. If overwrite is true\n and destination already exists it gets overwritten.\n Returns true if succeeded, otherwise false.",
              "deprecated": false
            },
            "options": {
              "name": "options",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to the rootUrl stated when instantiating the client one wants to get the options for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String[]",
                "description": "list of WebDav methods which can be executed on the given path."
              },
              "description": "Returns a list of methods which can be executed on the server location\n rootUrl/path.",
              "deprecated": false
            },
            "propfind": {
              "name": "propfind",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to the rootUrl stated when instantiating the client where to get information about the containing files from.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "WebDAVFileInfo[]",
                "description": "an Array of WebDAVFileInfo objects which hold information about the files located on the server at the location."
              },
              "description": "Get file listing of a remote location.\n\n Returns a list of WebDAVFileInfo objects which contain\n information about the files and directories located on\n rootUrl/path and DEPTH_1 (1) level\n underneath.",
              "deprecated": false
            },
            "propfind0": {
              "name": "propfind",
              "args": [
                {
                  "name": "path",
                  "description": "The path relative to the rootUrl stated when instantiating the client where to get information about the containing files from.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "depth",
                  "description": "The level starting from rootUrl down to which the file information gets collected.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "WebDAVFileInfo[]",
                "description": "an Array of WebDAVFileInfo objects which hold information about the files located on the server at the location."
              },
              "description": "Get file listing of a remote location.\n\n Returns a list of WebDAVFileInfo objects which contain\n information about the files and directories located on\n rootUrl/path and the passed depth\n underneath.",
              "deprecated": false
            },
            "put": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "The path to put given content up to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "content",
                  "description": "The content that has to be pushed on to the server.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Puts content encoded with DEFAULT_ENCODING into a remote located file at\n rootUrl/path. Returns true if\n succeeded, otherwise false.\n \n If the content of a local file is to be uploaded, please use method\n put(String, File) instead.",
              "deprecated": false
            },
            "put0": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "The path to put a given content up to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "content",
                  "description": "The content that has to be pushed on to a remote location.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The encoding in which the data should be stored on the server.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Puts content encoded with the passed encoding into a remote located file\n at rootUrl/path. Returns true if\n succeeded, otherwise false.\n \n If the content of a local file is to be uploaded, please use method\n put(String, File) instead.",
              "deprecated": false
            },
            "put01": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "The path to put given content up to, relative to the rootUrl stated when instantiating the client.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The file to push up to the server.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if succeeded, otherwise false."
              },
              "description": "Puts content out of a passed local file into a remote located file\n at rootUrl/path. This method performs\n a binary file transfer. Returns true if succeeded, otherwise false.",
              "deprecated": false
            },
            "succeeded": {
              "name": "succeeded",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the last executed WebDAV method was successful - otherwise false."
              },
              "description": "Returns true if the last executed WebDAV method was executed successfully - otherwise false.\n See the code snippet above for an example how to use the succeed() method.",
              "deprecated": false
            }
          }
        },
        "WebDAVFileInfo": {
          "fullClassName": "dw.net.WebDAVFileInfo",
          "package": "dw.net",
          "description": "Simple class representing a file on a remote WebDAV location.  The class\n possesses only read-only attributes of the file and does not permit any\n manipulation of the file itself.  Instances of this class are returned\n by <a href=\"class_dw_net_WebDAVClient.html#dw_net_WebDAVClient_propfind_String_DetailAnchor\">WebDAVClient.propfind(String)</a> which is used to get a\n listing of files in a WebDAV directory.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "contentType": {
              "name": "contentType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The content type of the file.",
              "deprecated": false,
              "type": "property"
            },
            "creationDate": {
              "name": "creationDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The creationDate of the file.",
              "deprecated": false,
              "type": "property"
            },
            "directory": {
              "name": "directory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the file is a directory.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the file.",
              "deprecated": false,
              "type": "property"
            },
            "path": {
              "name": "path",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The path of the file.",
              "deprecated": false,
              "type": "property"
            },
            "size": {
              "name": "size",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The size of the file.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContentType": {
              "name": "getContentType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the content type of the file."
              },
              "description": "Returns the content type of the file.",
              "deprecated": false
            },
            "getCreationDate": {
              "name": "getCreationDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the creationDate of the file."
              },
              "description": "Returns the creationDate of the file.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the file."
              },
              "description": "Returns the name of the file.",
              "deprecated": false
            },
            "getPath": {
              "name": "getPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the path of the file."
              },
              "description": "Returns the path of the file.",
              "deprecated": false
            },
            "getSize": {
              "name": "getSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size of the file."
              },
              "description": "Returns the size of the file.",
              "deprecated": false
            },
            "isDirectory": {
              "name": "isDirectory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the file is a directory, false otherwise."
              },
              "description": "Identifies if the file is a directory.",
              "deprecated": false
            },
            "lastModified": {
              "name": "lastModified",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the lastModified date of the file."
              },
              "description": "Returns the lastModified date of the file.",
              "deprecated": false
            }
          }
        }
      },
      "object": {
        "ActiveData": {
          "fullClassName": "dw.object.ActiveData",
          "package": "dw.object",
          "description": "Represents the active data for an object in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for this object. The returned object can\n only be used for retrieving attribute values, not storing them. See\n CustomAttributes for a detailed example of the syntax for\n working with custom attributes.",
              "deprecated": false,
              "type": "property"
            },
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Return true if the ActiveData doesn't exist for the object",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes for this object."
              },
              "description": "Returns the custom attributes for this object. The returned object can\n only be used for retrieving attribute values, not storing them. See\n CustomAttributes for a detailed example of the syntax for\n working with custom attributes.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if ActiveData is empty, false otherwise"
              },
              "description": "Return true if the ActiveData doesn't exist for the object",
              "deprecated": false
            }
          }
        },
        "CustomAttributes": {
          "fullClassName": "dw.object.CustomAttributes",
          "package": "dw.object",
          "description": "This class is used together with other classes that contain custom attributes\n and is used to read and write these attributes. The actual attributes are\n accessible as ECMA properties. The syntax for setting and retrieving the\n value of a custom attribute depends upon the type of the attribute. If the\n wrong syntax is used to set an individual attribute than an exception will be\n thrown.\n\n <p>\n\n The following script examples demonstrate how to work with custom attributes.\n Suppose we have an ExtensibleObject named \"eo\" possessing attributes of all\n the different types supported by the Commerce Cloud Digital metadata system. The\n following script snippet shows that setting single-valued attributes is\n simply a matter of using the assignment operator and standard ECMA primitives\n and built-in types:\n\n </p><p>\n\n </p><pre> // attribute of value type 'Boolean'\n eo.custom.bvalue = true;\n var b : Boolean = eo.custom.bvalue;\n\n // attribute of value type 'Integer'\n eo.custom.ivalue = 10;\n var i : Number = eo.custom.ivalue;\n\n // attribute of value type 'Number'\n eo.custom.dvalue = 99.99;\n var d : Number = eo.custom.dvalue;\n\n // attribute of value type 'String'\n eo.custom.svalue = \"String1\";\n var s : String = eo.custom.svalue;\n\n // attribute of value type 'Email'\n eo.custom.emailvalue = \"<a href=\"/cdn-cgi/l/email-protection\" class=\"__cf_email__\" data-cfemail=\"3b5e565a52577b5f5e565a555f4c5a495e15585456\">[email&nbsp;protected]</a>\";\n var e : String = eo.custom.emailvalue;\n\n // attribute of value type 'Text'\n eo.custom.tvalue = \"laaaaaaaaaaaarge text\";\n var t : String = eo.custom.tvalue;\n\n // attribute of value type 'Date'\n eo.custom.dtvalue = new Date;\n var date : Date = eo.custom.dtvalue;\n </pre>\n\n <p>\n\n Setting and retrieving the values for multi-value attributes is also\n straightforward and uses ECMA arrays to represent the multiple values. Set-of\n attributes and enum-of attributes are handled in a very similar manner. The\n chief difference is that enum-of attributes are limited to a prescribed set\n of value definitions whereas set-of attributes are open-ended. Furthermore,\n each value in an enum-of attribute has a value and a display name which\n affects the retrieval logic.\n\n Multi-value attributes are returned as an array. This array is read-only and\n can't be used to update the multi-value attribute. To update the multi-value\n attribute an array with new values must be assigned to the attribute.\n\n </p><p>\n\n </p><pre> // attribute of value type 'Set of String'\n // set the attribute value only if it hasn't been already set\n if( !('setofstringvalue' in eo.custom) )\n {\n     eo.custom.setofstringvalue = new Array(\"abc\",\"def\",\"ghi\");\n }\n\n // returns an Array of String instances\n var setofstring : Array = eo.custom.setofstringvalue;\n var s1 : String = setofstring[0];\n var s2 : String = setofstring[1];\n var s3 : String = setofstring[2];\n\n // attribute of value type 'Enum of Integer' with multi-value handling\n eo.custom.enumofintmultivalue = new Array(1, 2, 3);\n\n // returns an Array of EnumValue instances\n var enumofintmulti : Array = eo.custom.enumofintmultivalue;\n var value1 : Number = enumofintmulti[0].getValue();\n var displayvalue1 : String = enumofintmulti[0].getDisplayValue();\n var value2 : Number = enumofintmulti[1].getValue();\n var displayvalue2 : String = enumofintmulti[1].getDisplayValue();\n var value3 : Number = enumofintmulti[2].getValue();\n var displayvalue3 : String = enumofintmulti[2].getDisplayValue();\n </pre>\n\n <p>\n\n For further details on the Commerce Cloud Digital attribute system, see the core\n Commerce Cloud Digital documentation.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "CustomObject": {
          "fullClassName": "dw.object.CustomObject",
          "package": "dw.object",
          "description": "Represents a custom object and its corresponding attributes.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes of this\n object.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the CustomObject.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes of this object."
              },
              "description": "Returns the custom attributes of this\n object.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the type of the CustomObject."
              },
              "description": "Returns the type of the CustomObject.",
              "deprecated": false
            }
          }
        },
        "CustomObjectMgr": {
          "fullClassName": "dw.object.CustomObjectMgr",
          "package": "dw.object",
          "description": "Manager class which provides methods for creating, retrieving, deleting,\n and searching for custom objects.\n <p>\n To search for system objects, use <a href=\"class_dw_object_SystemObjectMgr.html\">SystemObjectMgr</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "createCustomObject": {
              "name": "createCustomObject",
              "args": [
                {
                  "name": "type",
                  "description": "The unique name of the custom object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "keyValue",
                  "description": "The unique key value for the instance.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomObject",
                "description": "The newly created custom object instance."
              },
              "description": "Returns a new custom object instance of the specified type, using the\n given key value. Custom object keys need to be unique for custom object\n type.",
              "deprecated": false
            },
            "createCustomObject0": {
              "name": "createCustomObject",
              "args": [
                {
                  "name": "type",
                  "description": "The unique name of the custom object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "keyValue",
                  "description": "The unique key value for the instance.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomObject",
                "description": "The newly created custom object instance."
              },
              "description": "Returns a new custom object instance of the specified type, using the\n given key value. Custom object keys need to be unique for custom object\n type.",
              "deprecated": false
            },
            "describe": {
              "name": "describe",
              "args": [
                {
                  "name": "type",
                  "description": "the type whose meta data is returned.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data for the given type."
              },
              "description": "Returns the meta data for the given type.",
              "deprecated": false
            },
            "getAllCustomObjects": {
              "name": "getAllCustomObjects",
              "args": [
                {
                  "name": "type",
                  "description": "The name of the custom object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": ""
              },
              "description": "Returns all custom objects of a specific type.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.",
              "deprecated": false
            },
            "getCustomObject": {
              "name": "getCustomObject",
              "args": [
                {
                  "name": "type",
                  "description": "The name of the custom object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "keyValue",
                  "description": "The unique key value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomObject",
                "description": "The matching custom object instance or null in case no matching custom object instance could be found."
              },
              "description": "Returns a custom object based on it's type and unique key.",
              "deprecated": false
            },
            "getCustomObject0": {
              "name": "getCustomObject",
              "args": [
                {
                  "name": "type",
                  "description": "The name of the custom object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "keyValue",
                  "description": "The unique key value.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomObject",
                "description": "The matching custom object instance or null in case no matching custom object instance could be found."
              },
              "description": "Returns a custom object based on it's type and unique key.",
              "deprecated": false
            },
            "queryCustomObject": {
              "name": "queryCustomObject",
              "args": [
                {
                  "name": "type",
                  "description": "the custom object type for the query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "the actual query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional parameters for the queryString.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "CustomObject",
                "description": "the custom object defined by type which was found when executing the queryString."
              },
              "description": "Searches for a single custom object instance.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The following operators are supported in a condition:\n = Equals - All types; supports NULL value (thumbnail = NULL)\n != Not equals - All types; supports NULL value (thumbnail != NULL)\n < Less than  - Integer, Number and Date types only\n > Greater than - Integer, Number and Date types only\n <= Less or equals than - Integer, Number and Date types only\n >= Greater or equals than  - Integer, Number and Date types only\n LIKE Like - String types and Email only; use if leading or trailing\n wildcards will be used to support substring search(custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only, use to support\n case insensitive query (custom.country ILIKE 'usa'), does also support wildcards for\n substring matching\n\n Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'\n and nested using parenthesis e.g.\n gender = {1} AND (age >= {2} OR (NOT profession LIKE {3})).\n\n\n The query language provides a placeholder syntax to pass objects as\n additional search parameters. Each passed object is related to a\n placeholder in the query string. The placeholder must be an Integer that\n is surrounded by braces. The first Integer value must be '0', the second\n '1' and so on, e.g.\n querySystemObjects(\"sample\", \"age = {0} or creationDate >= {1}\", 18, date)\n\n\n If there is more than one object matching the specified query criteria, the\n result is not deterministic. In order to retrieve a single object from a sorted result\n set it is recommended to use the following code:\n queryCustomObjects(\"\", \"custom.myAttr asc\", null).first().\n The method first() returns only the next element and closes the\n iterator.",
              "deprecated": false
            },
            "queryCustomObjects": {
              "name": "queryCustomObjects",
              "args": [
                {
                  "name": "type",
                  "description": "the custom object type for the query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "the actual query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional parameters for the queryString.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for custom object instances.\n\n The search can be configured using a simple query language, which\n provides most common filter and operator functionality.\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The following operators are supported in a condition:\n = Equals - All types; supports NULL value (thumbnail = NULL)\n != Not equals - All types; supports NULL value (thumbnail != NULL)\n < Less than  - Integer, Number and Date types only\n > Greater than - Integer, Number and Date types only\n <= Less or equals than - Integer, Number and Date types only\n >= Greater or equals than  - Integer, Number and Date types only\n LIKE Like - String types and Email only; use if leading or trailing\n wildcards will be used to support substring search(custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only, use to support\n case insensitive query (custom.country ILIKE 'usa'), does also support wildcards for\n substring matching\n\n Conditions can be combined using logical expressions 'AND', 'OR' and 'NOT'\n and nested using parenthesis e.g.\n gender = {1} AND (age >= {2} OR (NOT profession LIKE {3})).\n\n\n The query language provides a placeholder syntax to pass objects as\n additional search parameters. Each passed object is related to a\n placeholder in the query string. The placeholder must be an Integer that\n is surrounded by braces. The first Integer value must be '0', the second\n '1' and so on, e.g.\n querySystemObjects(\"sample\", \"age = {0} or creationDate >= {1}\", 18, date)\n\n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n Sometimes it is desired to get all instances of specified type with a special sorting condition.\n This can be easily done by providing the 'type' of the custom object and the 'sortString' in combination with\n an empty 'queryString', e.g. queryCustomObjects(\"sample\", \"\", \"custom.myAttr asc\")\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.",
              "deprecated": false
            },
            "queryCustomObjects0": {
              "name": "queryCustomObjects",
              "args": [
                {
                  "name": "type",
                  "description": "the custom object type for the query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "queryAttributes",
                  "description": "key-value pairs, which define the query.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "an optional sorting or null if no sorting is necessary.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing the result set of the query."
              },
              "description": "Searches for custom object instances.\n\n The search can be configured with a map, which key-value pairs are\n converted into a query expression. The key-value pairs are turned into a\n sequence of '=' or 'like' conditions, which are combined with AND\n statements.\n\n Example:\n A map with the key/value pairs: 'name'/'tom*', 'age'/66\n will be converted as follows: \"name like 'tom*' and age = 66\"\n\n The identifier for an attribute  to use in a query condition is always the\n ID of the  attribute as defined in the type definition. For custom defined attributes\n the prefix custom is required in the search term (e.g. custom.color = {1}),\n while for system attributes no prefix is used (e.g. name = {4}).\n\n Supported attribute value types with sample expression values:\n String 'String', 'Str*', 'Strin?'\n Integer 1, 3E4\n Number 1.0, 3.99E5\n Date yyyy-MM-dd e.g. 2007-05-31 (Default TimeZone = UTC)\n DateTime yyyy-MM-dd'T'hh:mm:ss+Z e.g. 2007-05-31T00:00+Z (Z TimeZone = UTC) or 2007-05-31T00:00:00\n Boolean true, false\n Email '[email protected]', '*@demandware.com'\n Set of String 'String', 'Str*', 'Strin?'\n Set of Integer 1, 3E4\n Set of Number 1.0, 3.99E5\n Enum of String 'String', 'Str*', 'Strin?'\n Enum of Integer 1, 3E4\n The following types of attributes are not queryable:\n Image\n HTML\n Text\n Quantity\n Password\n Note, that some system attributes are not queryable by default regardless of the\n actual value type code.\n\n\n The sorting parameter is optional and may contain a comma separated list of\n attribute names to sort by. Each sort attribute name may be followed by an\n optional sort direction specifier ('asc' | 'desc'). Default sorting directions is\n ascending, if no direction was specified.\n Example: age desc, name\n Please note that specifying a localized custom attribute as the sorting attribute is\n currently not supported.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being retrieved. This will ensure the proper cleanup of system resources.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [
                {
                  "name": "object",
                  "description": "the custom object to remove, must not be null.",
                  "class": {
                    "name": "CustomObject"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes a given custom object.",
              "deprecated": false
            }
          }
        },
        "Extensible": {
          "fullClassName": "dw.object.Extensible",
          "package": "dw.object",
          "description": "Base class alternative to ExtensibleObject for objects customizable through the metadata system.\n Similar to ExtensibleObject: the <a href=\"class_dw_object_Extensible.html#dw_object_Extensible_describe_DetailAnchor\">describe()</a> method provides access to the related object-type metadata.\n The <a href=\"class_dw_object_Extensible.html#dw_object_Extensible_getCustom_DetailAnchor\">getCustom()</a> method is the central point to retrieve and store the objects attribute\n values themselves.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for this object.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "describe": {
              "name": "describe",
              "args": [],
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data of this object. If no meta data is available the method returns null."
              },
              "description": "Returns the meta data of this object. If no meta data is available the\n method returns null. The returned ObjectTypeDefinition can be used to\n retrieve the metadata for any of the custom attributes.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes for this object."
              },
              "description": "Returns the custom attributes for this object.",
              "deprecated": false
            }
          }
        },
        "ExtensibleObject": {
          "fullClassName": "dw.object.ExtensibleObject",
          "package": "dw.object",
          "description": "Base class for all persistent business objects in Commerce Cloud Digital that\n are customizable through the metadata system. All objects in Digital\n that have custom attributes derive from ExtensibleObject including\n both system-defined and custom objects. The describe() method provides access\n to the related object-type metadata. The method getCustom() is the central\n point to retrieve and store the objects attribute values themselves.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {},
          "properties": {
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for this object. The returned object is\n used for retrieving and storing attribute values. See\n CustomAttributes for a detailed example of the syntax for\n working with custom attributes.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "describe": {
              "name": "describe",
              "args": [],
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data of this object. If no meta data is available the method returns null."
              },
              "description": "Returns the meta data of this object. If no meta data is available the\n method returns null. The returned ObjectTypeDefinition can be used to\n retrieve the metadata for any of the custom attributes.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes for this object."
              },
              "description": "Returns the custom attributes for this object. The returned object is\n used for retrieving and storing attribute values. See\n CustomAttributes for a detailed example of the syntax for\n working with custom attributes.",
              "deprecated": false
            }
          }
        },
        "Note": {
          "fullClassName": "dw.object.Note",
          "package": "dw.object",
          "description": "Represents a note that can be attached to any persistent object\n that supports this feature.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "createdBy": {
              "name": "createdBy",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the login ID of user that is stored in the session at the time\n the note is created.",
              "deprecated": false,
              "type": "property"
            },
            "creationDate": {
              "name": "creationDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "Return the date and time that the note was created.  This is usually\n set by the system, but may be specified if the note is generated\n via an import.",
              "deprecated": false,
              "type": "property"
            },
            "subject": {
              "name": "subject",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the subject of the note.",
              "deprecated": false,
              "type": "property"
            },
            "text": {
              "name": "text",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the text of the note.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCreatedBy": {
              "name": "getCreatedBy",
              "args": [],
              "class": {
                "name": "String",
                "description": "the username."
              },
              "description": "Return the login ID of user that is stored in the session at the time\n the note is created.",
              "deprecated": false
            },
            "getCreationDate": {
              "name": "getCreationDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the creation date."
              },
              "description": "Return the date and time that the note was created.  This is usually\n set by the system, but may be specified if the note is generated\n via an import.",
              "deprecated": false
            },
            "getSubject": {
              "name": "getSubject",
              "args": [],
              "class": {
                "name": "String",
                "description": "the subject."
              },
              "description": "Return the subject of the note.",
              "deprecated": false
            },
            "getText": {
              "name": "getText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the text."
              },
              "description": "Return the text of the note.",
              "deprecated": false
            }
          }
        },
        "ObjectAttributeGroup": {
          "fullClassName": "dw.object.ObjectAttributeGroup",
          "package": "dw.object",
          "description": "Represents a group of object attributes.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeDefinitions": {
              "name": "attributeDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All attribute definitions for this group. The collection\n may contain both system attribute definition as well as custom\n attribute definitions.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of this group in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of this group.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this group.",
              "deprecated": false,
              "type": "property"
            },
            "objectTypeDefinition": {
              "name": "objectTypeDefinition",
              "class": {
                "name": "ObjectTypeDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The object type definition to which this attribute group\n belongs.",
              "deprecated": false,
              "type": "property"
            },
            "system": {
              "name": "system",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is an sytem or a custom attribute group. A system\n attribute group is pre-defined and can not be deleted.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttributeDefinitions": {
              "name": "getAttributeDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all attribute definitions for this group."
              },
              "description": "Returns all attribute definitions for this group. The collection\n may contain both system attribute definition as well as custom\n attribute definitions.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of this group."
              },
              "description": "Returns the description of this group in the current locale.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of this group."
              },
              "description": "Returns the display name of this group.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of this group."
              },
              "description": "Returns the ID of this group.",
              "deprecated": false
            },
            "getObjectTypeDefinition": {
              "name": "getObjectTypeDefinition",
              "args": [],
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the object type definition to which this attribute group belongs."
              },
              "description": "Returns the object type definition to which this attribute group\n belongs.",
              "deprecated": false
            },
            "isSystem": {
              "name": "isSystem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a system attribute group, false otherwise."
              },
              "description": "Identifies if this is an sytem or a custom attribute group. A system\n attribute group is pre-defined and can not be deleted.",
              "deprecated": false
            }
          }
        },
        "PersistentObject": {
          "fullClassName": "dw.object.PersistentObject",
          "package": "dw.object",
          "description": "Common base class for all objects in Commerce Cloud Digital that have an\n identity and can be stored and retrieved.  Each entity is identified by\n a unique universal identifier (a UUID).",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "creationDate": {
              "name": "creationDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date that this object was created.",
              "deprecated": false,
              "type": "property"
            },
            "lastModified": {
              "name": "lastModified",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date that this object was last modified.",
              "deprecated": false,
              "type": "property"
            },
            "UUID": {
              "name": "UUID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique universal identifier for this object.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCreationDate": {
              "name": "getCreationDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date that this object was created."
              },
              "description": "Returns the date that this object was created.",
              "deprecated": false
            },
            "getLastModified": {
              "name": "getLastModified",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date that this object was last modified."
              },
              "description": "Returns the date that this object was last modified.",
              "deprecated": false
            },
            "getUUID": {
              "name": "getUUID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the unique universal identifier for this object."
              },
              "description": "Returns the unique universal identifier for this object.",
              "deprecated": false
            }
          }
        }
      },
      "order": {
        "AbstractItem": {
          "fullClassName": "dw.order.AbstractItem",
          "package": "dw.order",
          "description": "An item which references, or in other words is based upon, an <a href=\"class_dw_order_OrderItem.html\">OrderItem</a>. Provides methods to access the\n OrderItem, the order <a href=\"class_dw_order_LineItem.html\">LineItem</a> which has been extended, and the <a href=\"class_dw_order_Order.html\">Order</a>. In addition it defines\n methods to access item level prices and the item id. Supports custom-properties.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            }
          ],
          "constants": {},
          "properties": {
            "grossPrice": {
              "name": "grossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Gross price of item.",
              "deprecated": false,
              "type": "property"
            },
            "itemID": {
              "name": "itemID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The item-id used for referencing between items",
              "deprecated": false,
              "type": "property"
            },
            "lineItem": {
              "name": "lineItem",
              "class": {
                "name": "LineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The Order Product- or Shipping- LineItem associated with this item. Should never return null.",
              "deprecated": false,
              "type": "property"
            },
            "netPrice": {
              "name": "netPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Net price of item.",
              "deprecated": false,
              "type": "property"
            },
            "orderItem": {
              "name": "orderItem",
              "class": {
                "name": "OrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "The order item extensions related to this item. Should never return null.",
              "deprecated": false,
              "type": "property"
            },
            "orderItemID": {
              "name": "orderItemID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order-item-id used for referencing the OrderItem",
              "deprecated": false,
              "type": "property"
            },
            "tax": {
              "name": "tax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Total tax for item.",
              "deprecated": false,
              "type": "property"
            },
            "taxBasis": {
              "name": "taxBasis",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of entire item on which tax calculation is based. Same as getNetPrice()\n or getGrossPrice() depending on whether the order is based on net or gross prices.",
              "deprecated": false,
              "type": "property"
            },
            "taxItems": {
              "name": "taxItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Tax items representing a tax breakdown",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getGrossPrice": {
              "name": "getGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Gross price of item."
              },
              "description": "Gross price of item.",
              "deprecated": false
            },
            "getItemID": {
              "name": "getItemID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the item-id used for referencing between items"
              },
              "description": "The item-id used for referencing between items",
              "deprecated": false
            },
            "getLineItem": {
              "name": "getLineItem",
              "args": [],
              "class": {
                "name": "LineItem",
                "description": "the Order Product- or Shipping- LineItem associated with this item"
              },
              "description": "Returns the Order Product- or Shipping- LineItem associated with this item. Should never return null.",
              "deprecated": false
            },
            "getNetPrice": {
              "name": "getNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Net price of item."
              },
              "description": "Net price of item.",
              "deprecated": false
            },
            "getOrderItem": {
              "name": "getOrderItem",
              "args": [],
              "class": {
                "name": "OrderItem",
                "description": "the order item extensions related to this item"
              },
              "description": "Returns the order item extensions related to this item. Should never return null.",
              "deprecated": false
            },
            "getOrderItemID": {
              "name": "getOrderItemID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order-item-id used for referencing the OrderItem"
              },
              "description": "The order-item-id used for referencing the OrderItem",
              "deprecated": false
            },
            "getTax": {
              "name": "getTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Total tax for item."
              },
              "description": "Total tax for item.",
              "deprecated": false
            },
            "getTaxBasis": {
              "name": "getTaxBasis",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Price of entire item on which tax calculation is based"
              },
              "description": "Price of entire item on which tax calculation is based. Same as getNetPrice()\n or getGrossPrice() depending on whether the order is based on net or gross prices.",
              "deprecated": false
            },
            "getTaxItems": {
              "name": "getTaxItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "tax items representing a tax breakdown"
              },
              "description": "Tax items representing a tax breakdown",
              "deprecated": false
            }
          }
        },
        "AbstractItemCtnr": {
          "fullClassName": "dw.order.AbstractItemCtnr",
          "package": "dw.order",
          "description": "Basis for item-based objects stemming from a single <a href=\"class_dw_order_Order.html\">Order</a>, with these common\n properties (Invoice is used as an example):\n\n <ul>\n <li>\n The object has been created from an Order accessible using <a href=\"class_dw_order_AbstractItemCtnr.html#dw_order_AbstractItemCtnr_getOrder_DetailAnchor\">getOrder()</a></li>\n <li>Contains a collection of <a href=\"class_dw_order_AbstractItemCtnr.html#dw_order_AbstractItemCtnr_getItems_DetailAnchor\"> items</a>, each item related to exactly one <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> which in turn represents\n an extension to one of the order <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a> or one <a href=\"class_dw_order_ShippingLineItem.html\">ShippingLineItem</a>.\n Example: an <a href=\"class_dw_order_Invoice.html\">Invoice</a> has <a href=\"class_dw_order_InvoiceItem.html\">InvoiceItem</a>s</li>\n <li>\n The items hold various prices which are summed, resulting in a\n <a href=\"class_dw_order_AbstractItemCtnr.html#dw_order_AbstractItemCtnr_getProductSubtotal_DetailAnchor\"> product-subtotal</a>, a\n <a href=\"class_dw_order_AbstractItemCtnr.html#dw_order_AbstractItemCtnr_getServiceSubtotal_DetailAnchor\"> service-subtotal</a> and a <a href=\"class_dw_order_AbstractItemCtnr.html#dw_order_AbstractItemCtnr_getGrandTotal_DetailAnchor\"> grand-total</a>, each represented by a <a href=\"class_dw_order_SumItem.html\">SumItem</a>.</li>\n <li>The object is customizable using custom properties</li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            }
          ],
          "constants": {},
          "properties": {
            "createdBy": {
              "name": "createdBy",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Created by this user.",
              "deprecated": false,
              "type": "property"
            },
            "creationDate": {
              "name": "creationDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The time of creation.",
              "deprecated": false,
              "type": "property"
            },
            "grandTotal": {
              "name": "grandTotal",
              "class": {
                "name": "SumItem"
              },
              "static": false,
              "readonly": true,
              "description": "The sum-item representing the grandtotal for all items.",
              "deprecated": false,
              "type": "property"
            },
            "items": {
              "name": "items",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The unsorted collection of items",
              "deprecated": false,
              "type": "property"
            },
            "lastModified": {
              "name": "lastModified",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The last modification time.",
              "deprecated": false,
              "type": "property"
            },
            "modifiedBy": {
              "name": "modifiedBy",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Last modified by this user.",
              "deprecated": false,
              "type": "property"
            },
            "order": {
              "name": "order",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The Order this object was created for.",
              "deprecated": false,
              "type": "property"
            },
            "productSubtotal": {
              "name": "productSubtotal",
              "class": {
                "name": "SumItem"
              },
              "static": false,
              "readonly": true,
              "description": "The sum-item representing the subtotal for product items.",
              "deprecated": false,
              "type": "property"
            },
            "serviceSubtotal": {
              "name": "serviceSubtotal",
              "class": {
                "name": "SumItem"
              },
              "static": false,
              "readonly": true,
              "description": "The sum-item representing the subtotal for service items such as\n shipping.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCreatedBy": {
              "name": "getCreatedBy",
              "args": [],
              "class": {
                "name": "String",
                "description": "Created by this user"
              },
              "description": "Created by this user.",
              "deprecated": false
            },
            "getCreationDate": {
              "name": "getCreationDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "time of creation."
              },
              "description": "The time of creation.",
              "deprecated": false
            },
            "getGrandTotal": {
              "name": "getGrandTotal",
              "args": [],
              "class": {
                "name": "SumItem",
                "description": "sum-item for all items"
              },
              "description": "Returns the sum-item representing the grandtotal for all items.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the unsorted collection of items"
              },
              "description": "Returns the unsorted collection of items",
              "deprecated": false
            },
            "getLastModified": {
              "name": "getLastModified",
              "args": [],
              "class": {
                "name": "Date",
                "description": "last modification time.."
              },
              "description": "The last modification time.",
              "deprecated": false
            },
            "getModifiedBy": {
              "name": "getModifiedBy",
              "args": [],
              "class": {
                "name": "String",
                "description": "Last modified by this user"
              },
              "description": "Last modified by this user.",
              "deprecated": false
            },
            "getOrder": {
              "name": "getOrder",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the Order this object was created for."
              },
              "description": "Returns the Order this object was created for.",
              "deprecated": false
            },
            "getProductSubtotal": {
              "name": "getProductSubtotal",
              "args": [],
              "class": {
                "name": "SumItem",
                "description": "sum-item for product items"
              },
              "description": "Returns the sum-item representing the subtotal for product items.",
              "deprecated": false
            },
            "getServiceSubtotal": {
              "name": "getServiceSubtotal",
              "args": [],
              "class": {
                "name": "SumItem",
                "description": "sum-item for service items such as shipping"
              },
              "description": "Returns the sum-item representing the subtotal for service items such as\n shipping.",
              "deprecated": false
            }
          }
        },
        "Appeasement": {
          "fullClassName": "dw.order.Appeasement",
          "package": "dw.order",
          "description": "The Appeasement represents a shopper request for an order credit.<br>\n Example: The buyer finds any problem with the products but he agrees to preserve them, if he would be compensated,\n rather than return them.<br>\n <br>\n The Appeasement contains 1..n appeasement items.\n Each appeasement item is associated with one <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> usually representing an <a href=\"class_dw_order_Order.html\">Order</a>\n <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a>. <br>\n <br>\n An Appeasement can have one of these status values:\n <ul>\n <li>OPEN - the appeasement is open and appeasement items could be added to it</li>\n <li>COMPLETED - the appeasement is complete and it is not allowed to add new items to it, this is a precondition\n for refunding the customer for an appeasement.</li>\n </ul>\n <p>\n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            },
            {
              "name": "dw.order.AbstractItemCtnr"
            }
          ],
          "constants": {
            "ORDERBY_ITEMID": {
              "name": "ORDERBY_ITEMID",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Sorting by item id. Use with method getItems() as an argument to method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_ITEMPOSITION": {
              "name": "ORDERBY_ITEMPOSITION",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Sorting by the position of the related order item. Use with method getItems() as an argument to method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_UNSORTED": {
              "name": "ORDERBY_UNSORTED",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Unsorted, as it is. Use with method getItems() as an argument to method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_PRODUCTITEMS": {
              "name": "QUALIFIER_PRODUCTITEMS",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects the product items. Use with method getItems() as an argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_SERVICEITEMS": {
              "name": "QUALIFIER_SERVICEITEMS",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects the service items. Use with method getItems() as an argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_COMPLETED": {
              "name": "STATUS_COMPLETED",
              "value": "\"COMPLETED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Appeasement Status COMPLETED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_OPEN": {
              "name": "STATUS_OPEN",
              "value": "\"OPEN\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Appeasement Status OPEN",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "appeasementNumber": {
              "name": "appeasementNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The appeasement number.",
              "deprecated": false,
              "type": "property"
            },
            "invoice": {
              "name": "invoice",
              "class": {
                "name": "Invoice"
              },
              "static": false,
              "readonly": true,
              "description": "Returns null or the previously created Invoice.",
              "deprecated": false,
              "type": "property"
            },
            "invoiceNumber": {
              "name": "invoiceNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns null or the invoice-number.",
              "deprecated": false,
              "type": "property"
            },
            "items": {
              "name": "items",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "A filtering collection of the appeasement items belonging to the appeasement.\n \n This FilteringCollection could be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with ORDERBY_ITEMPOSITION\n FilteringCollection.sort(Object) with ORDERBY_UNSORTED\n FilteringCollection.select(Object) with QUALIFIER_PRODUCTITEMS\n FilteringCollection.select(Object) with QUALIFIER_SERVICEITEMS",
              "deprecated": false,
              "type": "property"
            },
            "reasonCode": {
              "name": "reasonCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The reason code for the appeasement. The list of reason codes can be updated\n by updating meta-data for Appeasement.",
              "deprecated": false,
              "type": "property"
            },
            "reasonNote": {
              "name": "reasonNote",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The reason note for the appeasement.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the status of this appeasement.\n The possible values are STATUS_OPEN, STATUS_COMPLETED.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addItems": {
              "name": "addItems",
              "args": [
                {
                  "name": "totalAmount",
                  "description": "the appeasement amount corresponding to the provided order items; this amount is the net price when the order is net based and respectively - gross price when the order is gross based",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                },
                {
                  "name": "orderItems",
                  "description": "the order items for which appeasement items should be created",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates appeasement items corresponding to certain order items and adds them to the appeasement.",
              "deprecated": false
            },
            "createInvoice": {
              "name": "createInvoice",
              "args": [],
              "class": {
                "name": "Invoice",
                "description": "the created invoice"
              },
              "description": "Creates a new Invoice based on this Appeasement. The appeasement-number\n will be used as the invoice-number.\n \n The method must not be called more than once for an Appeasement,\n nor may 2 invoices exist with the same invoice-number.\n \n The new Invoice is a credit-invoice with a Invoice.STATUS_NOT_PAID status, and\n should be passed to the refund payment-hook in a separate database transaction for processing.",
              "deprecated": false
            },
            "createInvoice0": {
              "name": "createInvoice",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice-number to be used in the appeasement creation process",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Invoice",
                "description": "the created invoice"
              },
              "description": "Creates a new Invoice based on this Appeasement. The\n invoice-number must be specified as an argument.\n \n The method must not be called more than once for an Appeasement,\n nor may 2 invoices exist with the same invoice-number.\n \n The new Invoice is a credit-invoice with a Invoice.STATUS_NOT_PAID status, and\n should be passed to the refund payment-hook in a separate database transaction for processing.",
              "deprecated": false
            },
            "getAppeasementNumber": {
              "name": "getAppeasementNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the appeasement number"
              },
              "description": "Returns the appeasement number.",
              "deprecated": false
            },
            "getInvoice": {
              "name": "getInvoice",
              "args": [],
              "class": {
                "name": "Invoice",
                "description": "null or the previously created invoice"
              },
              "description": "Returns null or the previously created Invoice.",
              "deprecated": false
            },
            "getInvoiceNumber": {
              "name": "getInvoiceNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "null or the number of the previously created invoice"
              },
              "description": "Returns null or the invoice-number.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the filtering collection of the appeasement items"
              },
              "description": "Returns a filtering collection of the appeasement items belonging to the appeasement.\n \n This FilteringCollection could be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with ORDERBY_ITEMPOSITION\n FilteringCollection.sort(Object) with ORDERBY_UNSORTED\n FilteringCollection.select(Object) with QUALIFIER_PRODUCTITEMS\n FilteringCollection.select(Object) with QUALIFIER_SERVICEITEMS",
              "deprecated": false
            },
            "getReasonCode": {
              "name": "getReasonCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the appeasement reason code"
              },
              "description": "Returns the reason code for the appeasement. The list of reason codes can be updated\n by updating meta-data for Appeasement.",
              "deprecated": false
            },
            "getReasonNote": {
              "name": "getReasonNote",
              "args": [],
              "class": {
                "name": "String",
                "description": "the reason note or null"
              },
              "description": "Returns the reason note for the appeasement.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the status of this appeasement.\n The possible values are STATUS_OPEN, STATUS_COMPLETED.",
              "deprecated": false
            },
            "setReasonCode": {
              "name": "setReasonCode",
              "args": [
                {
                  "name": "reasonCode",
                  "description": "the reason code to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the reason code for the appeasement. The list of reason codes can be updated\n by updating meta-data for Appeasement.",
              "deprecated": false
            },
            "setReasonNote": {
              "name": "setReasonNote",
              "args": [
                {
                  "name": "reasonNote",
                  "description": "the reason note for the appeasement to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the reason note for the appeasement.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "appeasementStatus",
                  "description": "the appeasement status to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the appeasement status.\n \n The possible values are STATUS_OPEN, STATUS_COMPLETED.\n \n When set to status COMPLETED, only the the custom attributes of its appeasement items can be changed.",
              "deprecated": false
            }
          }
        },
        "AppeasementItem": {
          "fullClassName": "dw.order.AppeasementItem",
          "package": "dw.order",
          "description": "Represents an item of an <a href=\"class_dw_order_Appeasement.html\">Appeasement</a> which is associated with one <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> usually representing an <a href=\"class_dw_order_Order.html\">Order</a>\n <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a>. Items are created using method <a href=\"class_dw_order_Appeasement.html#dw_order_Appeasement_addItems_Money_List_DetailAnchor\">Appeasement.addItems(Money, List)</a>\n <br>\n When the related Appeasement were set to status COMPLETED, only the the custom attributes of the appeasement item can be changed.\n <p>\n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            },
            {
              "name": "dw.order.AbstractItem"
            }
          ],
          "constants": {},
          "properties": {
            "appeasementNumber": {
              "name": "appeasementNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The number of the Appeasement to which this item belongs.",
              "deprecated": false,
              "type": "property"
            },
            "parentItem": {
              "name": "parentItem",
              "class": {
                "name": "AppeasementItem"
              },
              "static": false,
              "readonly": false,
              "description": "Returns null or the parent item.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAppeasementNumber": {
              "name": "getAppeasementNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the number of the Appeasement to which this item belongs"
              },
              "description": "Returns the number of the Appeasement to which this item belongs.",
              "deprecated": false
            },
            "getParentItem": {
              "name": "getParentItem",
              "args": [],
              "class": {
                "name": "AppeasementItem",
                "description": "null or the parent item."
              },
              "description": "Returns null or the parent item.",
              "deprecated": false
            },
            "setParentItem": {
              "name": "setParentItem",
              "args": [
                {
                  "name": "parentItem",
                  "description": "The parent item, null is allowed",
                  "class": {
                    "name": "AppeasementItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a parent item. The parent item must belong to the same\n Appeasement. An infinite parent-child loop is disallowed\n as is a parent-child depth greater than 10. Setting a parent item\n indicates a dependency of the child item on the parent item, and can be\n used to form a parallel structure to that accessed using\n ProductLineItem.getParent().",
              "deprecated": false
            }
          }
        },
        "Basket": {
          "fullClassName": "dw.order.Basket",
          "package": "dw.order",
          "description": "The Basket class represents a shopping cart.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItemCtnr"
            }
          ],
          "constants": {},
          "properties": {
            "agentBasket": {
              "name": "agentBasket",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns if the basket was created by an agent.\n \n An agent basket is created by an agent on behalf of the customer in comparison to a storefront basket which is\n created by the customer e.g. in the storefront. An agent basket can be created with\n BasketMgr.createAgentBasket().",
              "deprecated": false,
              "type": "property"
            },
            "inventoryReservationExpiry": {
              "name": "inventoryReservationExpiry",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The timestamp when the inventory for this basket expires.\n \n It will return null for the following reasons:\n \n No reservation for the basket was done\n Reservation is outdated meaning the timestamp is in the past\n \n \n \n Please note that the expiry timestamp will not always be valid for the whole basket. It will not be valid for\n new items added or items whose quantity has changed after the reservation was done.",
              "deprecated": false,
              "type": "property"
            },
            "orderBeingEdited": {
              "name": "orderBeingEdited",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The order that this basket represents if the basket is being used to edit an order, otherwise this method\n returns null. Baskets created via BasketMgr.createBasketFromOrder(Order) will create a reference\n to the order that was used to create this basket (please check limitations around basket accessibility in\n BasketMgr.createBasketFromOrder(Order)).",
              "deprecated": false,
              "type": "property"
            },
            "orderNoBeingEdited": {
              "name": "orderNoBeingEdited",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The number of the order that this basket represents if the basket is being used to edit an order,\n otherwise this method returns null. Baskets created via BasketMgr.createBasketFromOrder(Order)\n will create a reference to the order that was used to create this basket (please check limitations around basket\n accessibility in BasketMgr.createBasketFromOrder(Order)).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getInventoryReservationExpiry": {
              "name": "getInventoryReservationExpiry",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the inventory reservation expiry timestamp or null"
              },
              "description": "Returns the timestamp when the inventory for this basket expires.\n \n It will return null for the following reasons:\n \n No reservation for the basket was done\n Reservation is outdated meaning the timestamp is in the past\n \n \n \n Please note that the expiry timestamp will not always be valid for the whole basket. It will not be valid for\n new items added or items whose quantity has changed after the reservation was done.",
              "deprecated": false
            },
            "getOrderBeingEdited": {
              "name": "getOrderBeingEdited",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null."
              },
              "description": "Returns the order that this basket represents if the basket is being used to edit an order, otherwise this method\n returns null. Baskets created via BasketMgr.createBasketFromOrder(Order) will create a reference\n to the order that was used to create this basket (please check limitations around basket accessibility in\n BasketMgr.createBasketFromOrder(Order)).",
              "deprecated": false
            },
            "getOrderNoBeingEdited": {
              "name": "getOrderNoBeingEdited",
              "args": [],
              "class": {
                "name": "String",
                "description": "the number of the order that this basket represents if the basket is being used to edit an order, otherwise this method returns null."
              },
              "description": "Returns the number of the order that this basket represents if the basket is being used to edit an order,\n otherwise this method returns null. Baskets created via BasketMgr.createBasketFromOrder(Order)\n will create a reference to the order that was used to create this basket (please check limitations around basket\n accessibility in BasketMgr.createBasketFromOrder(Order)).",
              "deprecated": false
            },
            "isAgentBasket": {
              "name": "isAgentBasket",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the basket was created by an agent otherwise false"
              },
              "description": "Returns if the basket was created by an agent.\n \n An agent basket is created by an agent on behalf of the customer in comparison to a storefront basket which is\n created by the customer e.g. in the storefront. An agent basket can be created with\n BasketMgr.createAgentBasket().",
              "deprecated": false
            },
            "releaseInventory": {
              "name": "releaseInventory",
              "args": [],
              "class": {
                "name": "Status",
                "description": "a Status instance with - Status.OK if release inventory was successful, otherwise Status.ERROR."
              },
              "description": "Releases all inventory previously reserved for this basket.\n \n The method implements its own transaction handling. Calling the method from inside a transaction is disallowed\n and results in an exception being thrown. This behavior differs when calling the method from an OCAPI\n hook. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction\n handling, but to ensure the shortest possible locking of the inventory this method should only be called as\n the last step in the OCAPI hook.",
              "deprecated": false
            },
            "reserveInventory": {
              "name": "reserveInventory",
              "args": [],
              "class": {
                "name": "Status",
                "description": "a Status instance with - Status.OK if all items could be reserved, otherwise Status.ERROR meaning no items were reserved."
              },
              "description": "Reserves inventory for all items in this basket for 10 minutes. Any reservations created by previous calls of\n this method will be reset to 10 minutes.\n \n \n The method can be used to reserve basket items before checkout to ensure that inventory is still available at the\n time an order is created from the basket using OrderMgr.createOrder(Basket). If all or some\n basket items are not reserved before creating an order, OrderMgr.createOrder(Basket) will\n validate item availability and will fail if any item is unavailable. Calling this method in the same request as\n OrderMgr.createOrder(Basket) is unnecessary and discouraged for performance reasons.\n \n \n The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See\n ProductInventoryRecord.getATS().)\n \n \n When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the\n basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5\n and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only\n reserve a quantity of 2.\n \n \n When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to\n an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other\n baskets would see an ATS of 2.\n \n \n Reservations can only be made for products with an inventory record. The reservation of product bundles is\n controlled by the Use Bundle Inventory Only setting on the inventory list. The setting allows inventory to\n be reserved for just the bundle or for the bundle and its bundled products.\n \n \n The following conditions must be met for the method to succeed:\n \n an inventory list must be assigned to the current site\n all products in the basket must exist, and must not be of type Master or ProductSet\n each product line item must have a valid quantity\n each product must have an inventory record, or the inventory list must define that products without inventory\n record are available by default\n the reservation must succeed for each item as described above.\n \n \n \n The method implements its own transaction handling. Calling the method from inside a transaction is disallowed\n and results in an exception being thrown. This behavior differs when calling the method from an OCAPI\n hook. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction\n handling, but to ensure the shortest possible locking of the inventory this method should only be called as\n the last step in the OCAPI hook.\n \n \n If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged\n but no new reservations will be made. This might lead to a partially reserved basket.\n \n \n Behaves same as reserveInventory( null, false );.\n \n \n This method must not be used with\n \n the CreateOrder2 pipelet, or\n OrderMgr.createOrder(Basket), or\n OrderMgr.createOrder(Basket, String)\n \n in the same request.",
              "deprecated": false
            },
            "reserveInventory0": {
              "name": "reserveInventory",
              "args": [
                {
                  "name": "reservationDurationInMinutes",
                  "description": "reservation duration in minutes, specifying how long the reservation will last. The maximum value for the reservation duration is 240 minutes.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "a Status instance with - Status.OK if all items could be reserved, otherwise Status.ERROR meaning no items were reserved."
              },
              "description": "Reserves inventory for all items in this basket for a specified amount of minutes. Any reservations created by\n previous calls of this method will be reset to that amount of minutes.\n \n \n The method can be used to reserve basket items before checkout to ensure that inventory is still available at the\n time an order is created from the basket using OrderMgr.createOrder(Basket). If all or some\n basket items are not reserved before creating an order, OrderMgr.createOrder(Basket) will\n validate item availability and will fail if any item is unavailable. Calling this method in the same request as\n OrderMgr.createOrder(Basket) is unnecessary and discouraged for performance reasons.\n \n \n The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See\n ProductInventoryRecord.getATS().)\n \n \n When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the\n basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5\n and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only\n reserve a quantity of 2.\n \n \n When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to\n an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other\n baskets would see an ATS of 2.\n \n \n Reservations can only be made for products with an inventory record. The reservation of product bundles is\n controlled by the Use Bundle Inventory Only setting on the inventory list. The setting allows inventory to\n be reserved for just the bundle or for the bundle and its bundled products.\n \n \n The following conditions must be met for the method to succeed:\n \n an inventory list must be assigned to the current site\n all products in the basket must exist, and must not be of type Master or ProductSet\n each product line item must have a valid quantity\n each product must have an inventory record, or the inventory list must define that products without inventory\n record are available by default\n the reservation must succeed for each item as described above.\n \n \n \n The method implements its own transaction handling. Calling the method from inside a transaction is disallowed\n and results in an exception being thrown. This behavior differs when calling the method from an OCAPI\n hook. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction\n handling, but to ensure the shortest possible locking of the inventory this method should only be called as\n the last step in the OCAPI hook.\n \n \n getInventoryReservationExpiry() can be used to determine when the expiration will expire.\n \n \n If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged\n but no new reservations will be made. This might lead to a partially reserved basket.\n \n \n Behaves same as reserveInventory( reservationDurationInMinutes, false );.\n \n \n This method must not be used with\n \n the CreateOrder2 pipelet, or\n OrderMgr.createOrder(Basket), or\n OrderMgr.createOrder(Basket, String)\n \n in the same request.",
              "deprecated": false
            },
            "reserveInventory01": {
              "name": "reserveInventory",
              "args": [
                {
                  "name": "reservationDurationInMinutes",
                  "description": "reservation duration in minutes, specifying how long the reservation will last. The maximum value for the reservation duration is 240 minutes.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "removeIfNotAvailable",
                  "description": "if true is specified it will not fail if not the full quantity of the items can be reserved. Item quantity will be reduced to the quantity that could be reserved. Item will be removed if not at least quantity 1 for the item could be reserved. Different to that if a bundle line item cannot be reserved completely it will be removed including dependent line item (bundled items).",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "a Status instance with - Status.OK meaning reservation process was successful. In case of removeIfNotAvailable is true, status might contain status items (Status.getItems()) for each item that needed to be changed or removed. In the worst case this could result in an empty basket and no items reserved. A Status instance with - Status.ERROR will be returned if removeIfNotAvailable is false and not all items could be reserved fully or any unexpected error occurred."
              },
              "description": "Reserves inventory for all items in this basket for a specified amount of minutes. Any reservations created by\n previous calls of this method will be reset to that amount of minutes.\n \n \n The method can be used to reserve basket items before checkout to ensure that inventory is still available at the\n time an order is created from the basket using OrderMgr.createOrder(Basket). If all or some\n basket items are not reserved before creating an order, OrderMgr.createOrder(Basket) will\n validate item availability and will fail if any item is unavailable. Calling this method in the same request as\n OrderMgr.createOrder(Basket) is unnecessary and discouraged for performance reasons.\n \n \n The maximum quantity that can be reserved at one time is equal to the ATS (Available To Sell) quantity. (See\n ProductInventoryRecord.getATS().)\n \n \n When using B2C Commerce inventory, reserving basket inventory does not reduce ATS. In this case, converting the\n basket to an order reduces ATS by the reserved amount. For example, consider a product with an ATS quantity of 5\n and no reservations. If a basket reserves a quantity of 3, then other baskets still see an ATS of 5 but can only\n reserve a quantity of 2.\n \n \n When using Omnichannel Inventory, reserving basket inventory reduces ATS. In this case, converting the basket to\n an order doesn't reduce ATS. In the previous example, after the first basket reserved a quantity of 3, other\n baskets would see an ATS of 2.\n \n \n Reservations can only be made for products with an inventory record. The reservation of product bundles is\n controlled by the Use Bundle Inventory Only setting on the inventory list. The setting allows inventory to\n be reserved for just the bundle or for the bundle and its bundled products.\n \n \n The following conditions must be met for the method to succeed:\n \n an inventory list must be assigned to the current site\n all products in the basket must exist, and must not be of type Master or ProductSet\n each product line item must have a valid quantity\n each product must have an inventory record, or the inventory list must define that products without inventory\n record are available by default\n the reservation must succeed for each item as described above or removeIfNotAvailable is set to\n true\n \n \n \n The method implements its own transaction handling. Calling the method from inside a transaction is disallowed\n and results in an exception being thrown. This behavior differs when calling the method from an OCAPI\n hook. OCAPI hooks handle transactions themselves, so in this case there is also no need to do any transaction\n handling, but to ensure the shortest possible locking of the inventory this method should only be called as\n the last step in the OCAPI hook.\n \n \n getInventoryReservationExpiry() can be used to determine when the expiration will expire.\n \n \n If the reservation fails with an ERROR status, existing valid reservations for the basket will remain unchanged\n but no new reservations will be made. This might lead to a partially reserved basket.\n \n \n If the reservation succeeds with an OK status and removeIfNotAvailable is true, basket\n line items quantities might have been changed or line items might have been removed. The returned\n Status object will contain information about the changes. Possible values for\n StatusItem.getCode() are:\n \n BUNDLE_REMOVED - a bundle item was removed completely\n ITEM_REMOVED - a product line item was removed completely\n ITEM_QUANTITY_REDUCED - the quantity of a line item was reduced\n \n StatusItem.getDetails() will contain for each item the sku and uuid of the item\n which was changed/removed.\n \n \n This method must not be used with\n \n the CreateOrder2 pipelet, or\n OrderMgr.createOrder(Basket), or\n OrderMgr.createOrder(Basket, String)\n \n in the same request.",
              "deprecated": false
            },
            "setBusinessType": {
              "name": "setBusinessType",
              "args": [
                {
                  "name": "aType",
                  "description": "the business type to set for this basket",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the type of the business this order has been placed in.\n Possible values are LineItemCtnr.BUSINESS_TYPE_B2C or LineItemCtnr.BUSINESS_TYPE_B2B.",
              "deprecated": false
            },
            "setChannelType": {
              "name": "setChannelType",
              "args": [
                {
                  "name": "aType",
                  "description": "the channel type to set for this basket",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the channel type in which sales channel this order has been created. This can be used to distinguish order\n placed through e.g. Storefront, Call Center or Marketplace.\n Possible values are LineItemCtnr.CHANNEL_TYPE_STOREFRONT,\n LineItemCtnr.CHANNEL_TYPE_CALLCENTER, LineItemCtnr.CHANNEL_TYPE_MARKETPLACE,\n LineItemCtnr.CHANNEL_TYPE_DSS, LineItemCtnr.CHANNEL_TYPE_STORE,\n LineItemCtnr.CHANNEL_TYPE_PINTEREST, LineItemCtnr.CHANNEL_TYPE_TWITTER,\n LineItemCtnr.CHANNEL_TYPE_FACEBOOKADS, LineItemCtnr.CHANNEL_TYPE_SUBSCRIPTIONS,\n LineItemCtnr.CHANNEL_TYPE_ONLINERESERVATION, LineItemCtnr.CHANNEL_TYPE_INSTAGRAMCOMMERCE.\n\n The value for LineItemCtnr.CHANNEL_TYPE_CUSTOMERSERVICECENTER is also available, but it can not be set by the scripting API, it is set only internally.",
              "deprecated": false
            },
            "setCustomerNo": {
              "name": "setCustomerNo",
              "args": [
                {
                  "name": "customerNo",
                  "description": "the customer number of the customer associated with this container.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer number of the customer associated with this container.",
              "deprecated": true
            },
            "startCheckout": {
              "name": "startCheckout",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Register a \"start checkout\" event for the current basket. This event is tracked for AB test statistics\n but otherwise has no effect on the basket. The system will register at most one checkout per basket per session.",
              "deprecated": false
            },
            "updateCurrency": {
              "name": "updateCurrency",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the basket currency if different to session currency, otherwise does nothing.\n \n Use Session.setCurrency(Currency) to set the currency for the session. To reflect the session\n currency change to the basket you need to update the basket with this method. This ensures that any upcoming\n basket recalculation, which is based on the session currency, matches the basket currency.\n \n\n  ...\n     if (basket.getBillingAddress().getCountryCode() == 'DE'){\n       var newCurrency : Currency = Currency.getCurrency('EUR');\n       session.setCurrency( newCurrency );\n       basket.updateCurrency();\n     }\n     customBasketRecalculate();\n ...",
              "deprecated": false
            }
          }
        },
        "BasketMgr": {
          "fullClassName": "dw.order.BasketMgr",
          "package": "dw.order",
          "description": "Provides static helper methods for managing baskets.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "baskets": {
              "name": "baskets",
              "class": {
                "name": "List"
              },
              "static": true,
              "readonly": true,
              "description": "Retrieve all open baskets for the logged in customer.\n \n Restricted to agent scenario use cases: The returned list contains all agent baskets created with\n createAgentBasket() and the current storefront basket which can also be retrieved with\n getCurrentBasket(). This method will result in an exception if called by a user without permission\n Create_Order_On_Behalf_Of or if no customer is logged in the session.\n \n \n Please notice that baskets are invalidated after a certain amount of time and may not be returned anymore.",
              "deprecated": false,
              "type": "property"
            },
            "currentBasket": {
              "name": "currentBasket",
              "class": {
                "name": "Basket"
              },
              "static": true,
              "readonly": true,
              "description": "This method returns the current valid basket of the session customer or null if no current valid\n basket exists.\n \n The methods getCurrentBasket() and getCurrentOrNewBasket() work based on the selected basket\n persistence, which can be configured in the Business Manager site preferences / baskets section. A basket is\n valid for the configured basket lifetime.\n \n \n The current basket, if one exists, is usually updated by the method. In particular the last-modified date is\n updated. The lifetime of a basket can be extended in 2 ways:\n \n The basket is modified in some way, e.g. a product is added resulting in the basket total being newly\n calculated. This results in the basket lifetime being reset.\n The basket has not been modified for 60 minutes, then using this method to access the basket will also reset\n the basket lifetime.\n \n \n \n Personal data held inside the basket such as addresses, email addresses and payment settings is associated with\n the customer to whom the basket belongs. If the basket being updated belongs to a different customer this data is\n removed. This happens when a registered customer logs in after having previously created a basket as an anonymous\n customer. After the customer logs out, the previous basket is stored (where applicable) and the method returns\n null. Personal data is also cleared when the session times out for an anonymous customer.\n \n \n The following personal data is cleared.\n \n product line items that were added from a wish list\n shipping method\n coupon line items\n gift certificate line items\n billing and shipping addresses\n payment instruments\n buyer email\n \n If the session currency no longer matches the basket currency, the basket currency should be updated with\n Basket.updateCurrency().\n \n \n Typical usage:\n\n  var basket : Basket = BasketMgr.getCurrentBasket();\n if (basket) {\n     // do something with basket\n }\n \n \n \n Constraints:\n \n The method only accesses the basket for the session customer, an exception is thrown when the session\n customer is null.\n Method getCurrentOrNewBasket() only creates a basket when method getCurrentBasket() returns\n null.",
              "deprecated": false,
              "type": "property"
            },
            "currentOrNewBasket": {
              "name": "currentOrNewBasket",
              "class": {
                "name": "Basket"
              },
              "static": true,
              "readonly": true,
              "description": "This method returns the current valid basket of the session customer or creates a new one if no current valid\n basket exists. See getCurrentBasket() for more details.",
              "deprecated": false,
              "type": "property"
            },
            "storedBasket": {
              "name": "storedBasket",
              "class": {
                "name": "Basket"
              },
              "static": true,
              "readonly": true,
              "description": "This method returns the stored basket of the session customer or null if none is found. A stored\n basket is returned in the following situation:\n \n During one visit, a customer-X logs in and receives a basket-A.\n In a later visit, a second basket-B is created for an anonymous customer who then logs in as customer-X.\n \n In this case basket-B is reassigned to him and basket-A is accessible as the stored basket. Now it is possible to\n merge the information from the stored basket to the active basket.\n \n A stored basket will exist only if the corresponding setting is selected in the Business Manager site\n preferences' baskets section. A basket is valid for the configured basket lifetime.\n \n Typical usage:\n\n  var currentBasket : Basket = BasketMgr.getCurrentOrNewBasket();\n var storedBasket : Basket = BasketMgr.getStoredBasket();\n if (storedBasket) {\n     // transfer all the data needed from the stored to the active basket\n }",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createAgentBasket": {
              "name": "createAgentBasket",
              "args": [],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "the newly created basket for the customer which is logged in"
              },
              "description": "Creates a new agent basket for the current session customer.\n \n By default only 4 open agent baskets are allowed per customer. If this is exceeded a\n CreateAgentBasketLimitExceededException will be thrown.\n \n \n This method will result in an exception if called by a user without permission Create_Order_On_Behalf_Of or if no\n customer is logged in the session.",
              "deprecated": false
            },
            "createBasketFromOrder": {
              "name": "createBasketFromOrder",
              "args": [
                {
                  "name": "order",
                  "description": "Order to create a Basket for",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "a new Basket"
              },
              "description": "Creates a Basket from an existing Order for the purposes of changing an Order. When an Order is later created\n from the Basket, the original Order is changed to status Order.ORDER_STATUS_REPLACED. Restricted\n to agent scenario use cases: In case a storefront customer is using it the created storefront basket cannot be\n retrieved via\n \n getCurrentBasket() (ScriptAPI),\n GET /baskets/ (OCAPI) or\n GetBasket (Pipelet).\n \n Baskets containing an \"orderNumberBeingEdited\" are explicitly excluded from the list of baskets that can be\n retrieved. Responsible for this behaviour (this kind of basket cannot be used as general purpose shopping\n baskets) - see Basket.getOrderNoBeingEdited() / Basket.getOrderBeingEdited().\n \n In case a Business Manager user is logged in into the session the basket will be marked as an agent basket. See\n Basket.isAgentBasket().\n \n The method only succeeds for an Order\n \n without gift certificates,\n status is not cancelled,\n was not previously replaced and\n was not previously exported.\n \n Failures are indicated by throwing an APIException of type CreateBasketFromOrderException which provides one of\n these errorCodes:\n \n Code OrderProcessStatusCodes.ORDER_CONTAINS_GC - the Order contains a gift certificate and\n cannot be replaced.\n Code OrderProcessStatusCodes.ORDER_ALREADY_REPLACED - the Order was already replaced.\n Code OrderProcessStatusCodes.ORDER_ALREADY_CANCELLED - the Order was cancelled.\n Code OrderProcessStatusCodes.ORDER_ALREADY_EXPORTED - the Order has already been\n exported.\n \n \n Usage:\n\n  var order : Order; // known\n try\n {\n   var basket : Basket = BasketMgr.createBasketFromOrder(order);\n }\n catch (e)\n {\n   if (e instanceof APIException && e.type === 'CreateBasketFromOrderException')\n   {\n     // handle e.errorCode\n   }\n }",
              "deprecated": false
            },
            "deleteBasket": {
              "name": "deleteBasket",
              "args": [
                {
                  "name": "basket",
                  "description": "the basket to be removed",
                  "class": {
                    "name": "Basket"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Remove a customer basket.\n \n This method will result in an exception if called by a user without permission Create_Order_On_Behalf_Of or if no\n customer is logged in the session.",
              "deprecated": false
            },
            "getBasket": {
              "name": "getBasket",
              "args": [
                {
                  "name": "uuid",
                  "description": "the id of the requested basket.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "the basket or null"
              },
              "description": "This method returns a valid basket of the session customer or null if none is found.\n \n If the basket does not belong to the session customer, the method returns null.\n \n If the registered customer is not logged in, the method returns null.\n \n \n Restricted to agent scenario use cases: This method will result in an exception if called by a user without\n permission Create_Order_On_Behalf_Of or if no customer is logged in the session.\n \n The basket, if accessible, is usually updated in the same way as getCurrentBasket().\n \n If the session currency no longer matches the basket currency, the basket currency should be updated with\n Basket.updateCurrency().",
              "deprecated": false
            },
            "getBaskets": {
              "name": "getBaskets",
              "args": [],
              "static": true,
              "class": {
                "name": "List",
                "description": "all open baskets"
              },
              "description": "Retrieve all open baskets for the logged in customer.\n \n Restricted to agent scenario use cases: The returned list contains all agent baskets created with\n createAgentBasket() and the current storefront basket which can also be retrieved with\n getCurrentBasket(). This method will result in an exception if called by a user without permission\n Create_Order_On_Behalf_Of or if no customer is logged in the session.\n \n \n Please notice that baskets are invalidated after a certain amount of time and may not be returned anymore.",
              "deprecated": false
            },
            "getCurrentBasket": {
              "name": "getCurrentBasket",
              "args": [],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "the current basket or null if no valid current basket exists."
              },
              "description": "This method returns the current valid basket of the session customer or null if no current valid\n basket exists.\n \n The methods getCurrentBasket() and getCurrentOrNewBasket() work based on the selected basket\n persistence, which can be configured in the Business Manager site preferences / baskets section. A basket is\n valid for the configured basket lifetime.\n \n \n The current basket, if one exists, is usually updated by the method. In particular the last-modified date is\n updated. The lifetime of a basket can be extended in 2 ways:\n \n The basket is modified in some way, e.g. a product is added resulting in the basket total being newly\n calculated. This results in the basket lifetime being reset.\n The basket has not been modified for 60 minutes, then using this method to access the basket will also reset\n the basket lifetime.\n \n \n \n Personal data held inside the basket such as addresses, email addresses and payment settings is associated with\n the customer to whom the basket belongs. If the basket being updated belongs to a different customer this data is\n removed. This happens when a registered customer logs in after having previously created a basket as an anonymous\n customer. After the customer logs out, the previous basket is stored (where applicable) and the method returns\n null. Personal data is also cleared when the session times out for an anonymous customer.\n \n \n The following personal data is cleared.\n \n product line items that were added from a wish list\n shipping method\n coupon line items\n gift certificate line items\n billing and shipping addresses\n payment instruments\n buyer email\n \n If the session currency no longer matches the basket currency, the basket currency should be updated with\n Basket.updateCurrency().\n \n \n Typical usage:\n\n  var basket : Basket = BasketMgr.getCurrentBasket();\n if (basket) {\n     // do something with basket\n }\n \n \n \n Constraints:\n \n The method only accesses the basket for the session customer, an exception is thrown when the session\n customer is null.\n Method getCurrentOrNewBasket() only creates a basket when method getCurrentBasket() returns\n null.",
              "deprecated": false
            },
            "getCurrentOrNewBasket": {
              "name": "getCurrentOrNewBasket",
              "args": [],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "the basket, existing or newly created"
              },
              "description": "This method returns the current valid basket of the session customer or creates a new one if no current valid\n basket exists. See getCurrentBasket() for more details.",
              "deprecated": false
            },
            "getStoredBasket": {
              "name": "getStoredBasket",
              "args": [],
              "static": true,
              "class": {
                "name": "Basket",
                "description": "the stored basket or null if no valid stored basket exists."
              },
              "description": "This method returns the stored basket of the session customer or null if none is found. A stored\n basket is returned in the following situation:\n \n During one visit, a customer-X logs in and receives a basket-A.\n In a later visit, a second basket-B is created for an anonymous customer who then logs in as customer-X.\n \n In this case basket-B is reassigned to him and basket-A is accessible as the stored basket. Now it is possible to\n merge the information from the stored basket to the active basket.\n \n A stored basket will exist only if the corresponding setting is selected in the Business Manager site\n preferences' baskets section. A basket is valid for the configured basket lifetime.\n \n Typical usage:\n\n  var currentBasket : Basket = BasketMgr.getCurrentOrNewBasket();\n var storedBasket : Basket = BasketMgr.getStoredBasket();\n if (storedBasket) {\n     // transfer all the data needed from the stored to the active basket\n }",
              "deprecated": false
            }
          }
        },
        "BonusDiscountLineItem": {
          "fullClassName": "dw.order.BonusDiscountLineItem",
          "package": "dw.order",
          "description": "Line item representing an applied <a href=\"class_dw_campaign_BonusChoiceDiscount.html\">BonusChoiceDiscount</a> in a LineItemCtnr. This type of line item\n can only be created by the B2C Commerce promotions engine when applying a BonusChoiceDiscount.\n A BonusDiscountLineItem is basically a placeholder in the cart which entitles a customer to add one or more bonus\n products to his basket from a configured list of products. Merchants typically display this type of line item in the\n cart by showing the corresponding promotion callout message. They typically provide links to the bonus products that\n the customer can choose from. This line item can be removed from the cart but will be re-added each time the\n promotions engine re-applies discounts. Merchants may however add custom logic to show/hide this line item since it\n just a placeholder and not an actual product line item.\n <p>\n The number of products that a customer is allowed to choose from is determined by <a href=\"class_dw_order_BonusDiscountLineItem.html#dw_order_BonusDiscountLineItem_getMaxBonusItems_DetailAnchor\">getMaxBonusItems()</a>. The\n collection of products the customer can choose from is determined by <a href=\"class_dw_order_BonusDiscountLineItem.html#dw_order_BonusDiscountLineItem_getBonusProducts_DetailAnchor\">getBonusProducts()</a>. When a customer\n chooses a bonus product in the storefront, it is necessary to use the <code>AddBonusProductToBasket</code> pipelet\n instead of the usual <code>AddProductToBasket</code> pipelet, in order to associate this BonusDiscountLineItem with\n the newly created bonus ProductLineItem. Alternatively, the API method\n <a href=\"class_dw_order_LineItemCtnr.html#dw_order_LineItemCtnr_createBonusProductLineItem_BonusDiscountLineItem_Product_ProductOptionModel_Shipment_DetailAnchor\">LineItemCtnr.createBonusProductLineItem(BonusDiscountLineItem, Product, ProductOptionModel, Shipment)</a>\n can be used instead. The system does proper validations in order to prevent incorrect or too many bonus products from\n being associated with this BonusDiscountLineItem. Once a customer has selected bonus products, the product line items\n representing the chosen bonus products can be retrieved with <a href=\"class_dw_order_BonusDiscountLineItem.html#dw_order_BonusDiscountLineItem_getBonusProductLineItems_DetailAnchor\">getBonusProductLineItems()</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "bonusChoiceRuleBased": {
              "name": "bonusChoiceRuleBased",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether the promotion that triggered the creation of this line item uses a rule to determine the list of\n bonus products.\n \n If the promotion is rule based, then a ProductSearchModel should be used to return the bonus products the\n customer may choose from, as the methods that return lists will return nothing. See getBonusProducts()",
              "deprecated": false,
              "type": "property"
            },
            "bonusProductLineItems": {
              "name": "bonusProductLineItems",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Get the product line items in the current LineItemCtnr representing the\n bonus products that the customer has selected for this discount.",
              "deprecated": false,
              "type": "property"
            },
            "bonusProducts": {
              "name": "bonusProducts",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Get the list of bonus products which the customer is allowed to choose\n from for this discount. This list is configured by a merchant entering a\n list of SKUs for the discount. Products which do not exist in the system,\n or are offline, or are not assigned to a category in the site catalog are\n filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered\n out. This allows merchants to display out-of-stock bonus products with\n appropriate messaging.\n \n If the promotion which triggered this discount does not exist, or this\n promotion is rule based, then this method returns an empty list.\n \n If the promotion is rule based, then this method will return an empty list.\n A ProductSearchModel should be used to return the bonus products the\n customer may choose from instead. See\n ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS and\n ProductSearchModel.setPromotionID(String)\n \n If a returned product is a master product, the customer is entitled to\n choose from any variant. If the product is an option product, the\n customer is entitled to choose any value for each option. Since the\n promotions engine does not touch the value of the product option line\n items, it is the responsibility of custom code to set option prices.",
              "deprecated": false,
              "type": "property"
            },
            "couponLineItem": {
              "name": "couponLineItem",
              "class": {
                "name": "CouponLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "Get the coupon line item associated with this discount.",
              "deprecated": false,
              "type": "property"
            },
            "maxBonusItems": {
              "name": "maxBonusItems",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Get the maximum number of bonus items that the customer is permitted to\n select for this bonus discount.\n \n If the promotion which triggered this discount does not exist, then this\n method returns 0.",
              "deprecated": false,
              "type": "property"
            },
            "promotion": {
              "name": "promotion",
              "class": {
                "name": "Promotion"
              },
              "static": false,
              "readonly": true,
              "description": "Get the promotion associated with this discount.",
              "deprecated": false,
              "type": "property"
            },
            "promotionID": {
              "name": "promotionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the promotion ID associated with this discount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBonusProductLineItems": {
              "name": "getBonusProductLineItems",
              "args": [],
              "class": {
                "name": "List",
                "description": "The selected product line items, never null."
              },
              "description": "Get the product line items in the current LineItemCtnr representing the\n bonus products that the customer has selected for this discount.",
              "deprecated": false
            },
            "getBonusProductPrice": {
              "name": "getBonusProductPrice",
              "args": [
                {
                  "name": "product",
                  "description": "The bonus product to retrieve a price for, must not be null.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "The price of the passed bonus product as a Number."
              },
              "description": "Get the effective price for the passed bonus product. This is expected to\n be one of the products returned by getBonusProducts() with one\n exception: If a master product is configured as a bonus product, this\n implies that a customer may choose from any of its variants. In this\n case, it is allowed to pass in a variant to this method and a price will\n be returned. If the passed product is not a valid bonus product, this\n method throws an exception.",
              "deprecated": false
            },
            "getBonusProducts": {
              "name": "getBonusProducts",
              "args": [],
              "class": {
                "name": "List",
                "description": "An ordered list of bonus products that the customer may choose from for this discount."
              },
              "description": "Get the list of bonus products which the customer is allowed to choose\n from for this discount. This list is configured by a merchant entering a\n list of SKUs for the discount. Products which do not exist in the system,\n or are offline, or are not assigned to a category in the site catalog are\n filtered out. Unavailable (i.e. out-of-stock) products are NOT filtered\n out. This allows merchants to display out-of-stock bonus products with\n appropriate messaging.\n \n If the promotion which triggered this discount does not exist, or this\n promotion is rule based, then this method returns an empty list.\n \n If the promotion is rule based, then this method will return an empty list.\n A ProductSearchModel should be used to return the bonus products the\n customer may choose from instead. See\n ProductSearchModel.PROMOTION_PRODUCT_TYPE_BONUS and\n ProductSearchModel.setPromotionID(String)\n \n If a returned product is a master product, the customer is entitled to\n choose from any variant. If the product is an option product, the\n customer is entitled to choose any value for each option. Since the\n promotions engine does not touch the value of the product option line\n items, it is the responsibility of custom code to set option prices.",
              "deprecated": false
            },
            "getCouponLineItem": {
              "name": "getCouponLineItem",
              "args": [],
              "class": {
                "name": "CouponLineItem",
                "description": "The coupon line item associated with this discount, or null if it no longer exists or there is no one."
              },
              "description": "Get the coupon line item associated with this discount.",
              "deprecated": false
            },
            "getMaxBonusItems": {
              "name": "getMaxBonusItems",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The maximum number of bonus items that the customer is permitted to select for this bonus discount, or 0 if the promotion no longer exists."
              },
              "description": "Get the maximum number of bonus items that the customer is permitted to\n select for this bonus discount.\n \n If the promotion which triggered this discount does not exist, then this\n method returns 0.",
              "deprecated": false
            },
            "getPromotion": {
              "name": "getPromotion",
              "args": [],
              "class": {
                "name": "Promotion",
                "description": "The promotion associated with this discount, or null if it no longer exists."
              },
              "description": "Get the promotion associated with this discount.",
              "deprecated": false
            },
            "getPromotionID": {
              "name": "getPromotionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The promotion ID associated with this discount, never null."
              },
              "description": "Get the promotion ID associated with this discount.",
              "deprecated": false
            },
            "isBonusChoiceRuleBased": {
              "name": "isBonusChoiceRuleBased",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "If the promotion no longer exists, then null, otherwise, true if the promotion that triggered the creation of this line item uses a rule to determine the bonus products to choose from."
              },
              "description": "Returns whether the promotion that triggered the creation of this line item uses a rule to determine the list of\n bonus products.\n \n If the promotion is rule based, then a ProductSearchModel should be used to return the bonus products the\n customer may choose from, as the methods that return lists will return nothing. See getBonusProducts()",
              "deprecated": false
            }
          }
        },
        "CouponLineItem": {
          "fullClassName": "dw.order.CouponLineItem",
          "package": "dw.order",
          "description": "The CouponLineItem class is used to store redeemed coupons in the Basket.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "applied": {
              "name": "applied",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the coupon is currently applied in the basket. A coupon\n line is applied if there exists at least one price adjustment related\n to the coupon line item.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnCampaign": {
              "name": "basedOnCampaign",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the line item represents a coupon of a campaign. If the coupon line item represents a custom\n coupon code, the method returns false.",
              "deprecated": false,
              "type": "property"
            },
            "bonusDiscountLineItems": {
              "name": "bonusDiscountLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The bonus discount line items of the line item container triggered\n by this coupon.",
              "deprecated": false,
              "type": "property"
            },
            "couponCode": {
              "name": "couponCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The coupon code.",
              "deprecated": false,
              "type": "property"
            },
            "priceAdjustments": {
              "name": "priceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The price adjustments of the line item container triggered\n by this coupon.",
              "deprecated": false,
              "type": "property"
            },
            "promotion": {
              "name": "promotion",
              "class": {
                "name": "Promotion"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion related to the coupon line item.",
              "deprecated": true,
              "type": "property"
            },
            "promotionID": {
              "name": "promotionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The id of the related promotion.",
              "deprecated": true,
              "type": "property"
            },
            "statusCode": {
              "name": "statusCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "This method provides a detailed error status in case the coupon code of\n this coupon line item instance became invalid.",
              "deprecated": false,
              "type": "property"
            },
            "valid": {
              "name": "valid",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Allows to check whether the coupon code of this coupon line item instance\n is valid. Coupon line item is valid, if status code is one of the following:\n \n CouponStatusCodes.APPLIED\n CouponStatusCodes.NO_APPLICABLE_PROMOTION",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "associatePriceAdjustment": {
              "name": "associatePriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustment",
                  "description": "Price adjustment to be associated with coupon line item.",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Associates the specified price adjustment with the coupon line item. This method is only applicable if used for\n price adjustments and coupon line items NOT based on B2C Commerce campaigns.",
              "deprecated": false
            },
            "getBonusDiscountLineItems": {
              "name": "getBonusDiscountLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Price adjustments triggered by the coupon"
              },
              "description": "Returns the bonus discount line items of the line item container triggered\n by this coupon.",
              "deprecated": false
            },
            "getCouponCode": {
              "name": "getCouponCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "Coupon code"
              },
              "description": "Returns the coupon code.",
              "deprecated": false
            },
            "getPriceAdjustments": {
              "name": "getPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Price adjustments triggered by the coupon"
              },
              "description": "Returns the price adjustments of the line item container triggered\n by this coupon.",
              "deprecated": false
            },
            "getPromotion": {
              "name": "getPromotion",
              "args": [],
              "class": {
                "name": "Promotion",
                "description": "Promotion related to coupon represented by line item"
              },
              "description": "Returns the promotion related to the coupon line item.",
              "deprecated": true
            },
            "getPromotionID": {
              "name": "getPromotionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the id of the related promotion."
              },
              "description": "Returns the id of the related promotion.",
              "deprecated": true
            },
            "getStatusCode": {
              "name": "getStatusCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "Returns APPLIED if coupon is applied, and otherwise one of the codes defined in CouponStatusCodes"
              },
              "description": "This method provides a detailed error status in case the coupon code of\n this coupon line item instance became invalid.",
              "deprecated": false
            },
            "isApplied": {
              "name": "isApplied",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the coupon is currently applied in the basket."
              },
              "description": "Identifies if the coupon is currently applied in the basket. A coupon\n line is applied if there exists at least one price adjustment related\n to the coupon line item.",
              "deprecated": false
            },
            "isBasedOnCampaign": {
              "name": "isBasedOnCampaign",
              "args": [],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Returns true if the line item represents a coupon of a campaign. If the coupon line item represents a custom\n coupon code, the method returns false.",
              "deprecated": false
            },
            "isValid": {
              "name": "isValid",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the coupon code is valid, false otherwise."
              },
              "description": "Allows to check whether the coupon code of this coupon line item instance\n is valid. Coupon line item is valid, if status code is one of the following:\n \n CouponStatusCodes.APPLIED\n CouponStatusCodes.NO_APPLICABLE_PROMOTION",
              "deprecated": false
            }
          }
        },
        "CreateAgentBasketLimitExceededException": {
          "fullClassName": "dw.order.CreateAgentBasketLimitExceededException",
          "package": "dw.order",
          "description": "This exception is thrown by <a href=\"class_dw_order_BasketMgr.html#dw_order_BasketMgr_createAgentBasket_DetailAnchor\">BasketMgr.createAgentBasket()</a> to indicate that the open agent basket limit for\n the current session customer is already reached, and therefore no new agent basket could be created.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "TopLevel.Error"
            },
            {
              "name": "TopLevel.APIException"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "CreateBasketFromOrderException": {
          "fullClassName": "dw.order.CreateBasketFromOrderException",
          "package": "dw.order",
          "description": "This APIException is thrown by method <a href=\"class_dw_order_BasketMgr.html#dw_order_BasketMgr_createBasketFromOrder_Order_DetailAnchor\">BasketMgr.createBasketFromOrder(Order)</a>\n to indicate no Basket could be created from the Order.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "TopLevel.Error"
            },
            {
              "name": "TopLevel.APIException"
            }
          ],
          "constants": {},
          "properties": {
            "errorCode": {
              "name": "errorCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates reason why BasketMgr.createBasketFromOrder(Order) failed.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {}
        },
        "CreateCouponLineItemException": {
          "fullClassName": "dw.order.CreateCouponLineItemException",
          "package": "dw.order",
          "description": "This exception could be thrown by <a href=\"class_dw_order_LineItemCtnr.html#dw_order_LineItemCtnr_createCouponLineItem_String_Boolean_DetailAnchor\">LineItemCtnr.createCouponLineItem(String, Boolean)</a>\n when the provided coupon code is invalid.\n <p>\n 'errorCode' property is set to one of the following values:\n </p><ul>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_COUPON_CODE_ALREADY_IN_BASKET_DetailAnchor\">CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET</a> = Indicates that coupon code has already been added to basket.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_COUPON_ALREADY_IN_BASKET_DetailAnchor\">CouponStatusCodes.COUPON_ALREADY_IN_BASKET</a> = Indicates that another code of the same MultiCode/System coupon has already been added to basket.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_COUPON_CODE_ALREADY_REDEEMED_DetailAnchor\">CouponStatusCodes.COUPON_CODE_ALREADY_REDEEMED</a> = Indicates that code of MultiCode/System coupon has already been redeemed.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_COUPON_CODE_UNKNOWN_DetailAnchor\">CouponStatusCodes.COUPON_CODE_UNKNOWN</a> = Indicates that coupon not found for given coupon code or that the code itself was not found.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_COUPON_DISABLED_DetailAnchor\">CouponStatusCodes.COUPON_DISABLED</a> = Indicates that coupon is not enabled.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_REDEMPTION_LIMIT_EXCEEDED_DetailAnchor\">CouponStatusCodes.REDEMPTION_LIMIT_EXCEEDED</a> = Indicates that number of redemptions per code exceeded.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_CUSTOMER_REDEMPTION_LIMIT_EXCEEDED_DetailAnchor\">CouponStatusCodes.CUSTOMER_REDEMPTION_LIMIT_EXCEEDED</a> = Indicates that number of redemptions per code and customer exceeded.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED_DetailAnchor\">CouponStatusCodes.TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED</a> = Indicates that number of redemptions per code, customer and time exceeded.</li>\n <li><a href=\"class_dw_campaign_CouponStatusCodes.html#dw_campaign_CouponStatusCodes_NO_ACTIVE_PROMOTION_DetailAnchor\">CouponStatusCodes.NO_ACTIVE_PROMOTION</a> = Indicates that coupon is not assigned to an active promotion.</li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "TopLevel.Error"
            },
            {
              "name": "TopLevel.APIException"
            }
          ],
          "constants": {},
          "properties": {
            "errorCode": {
              "name": "errorCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns one of the error codes listed in the class doc.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {}
        },
        "CreateOrderException": {
          "fullClassName": "dw.order.CreateOrderException",
          "package": "dw.order",
          "description": "This APIException is thrown by method <a href=\"class_dw_order_OrderMgr.html#dw_order_OrderMgr_createOrder_Basket_String_DetailAnchor\">OrderMgr.createOrder(Basket, String)</a>\n to indicate no Order could be created from the Basket.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "TopLevel.Error"
            },
            {
              "name": "TopLevel.APIException"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "GiftCertificate": {
          "fullClassName": "dw.order.GiftCertificate",
          "package": "dw.order",
          "description": "Represents a Gift Certificate that can be used to purchase\n products.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "STATUS_ISSUED": {
              "name": "STATUS_ISSUED",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents a status of 'issued', which indicates that the Gift Certificate\n has been created and that it can be used to purchase products.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_PARTIALLY_REDEEMED": {
              "name": "STATUS_PARTIALLY_REDEEMED",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents a status of 'partially redeemed', which indicates that the Gift Certificate\n has been used to purchase products, but that there is still a balance on\n the gift certificate.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_PENDING": {
              "name": "STATUS_PENDING",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Represents a status of 'pending', which indicates that the Gift Certificate\n has been created but that it cannot be used yet.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_REDEEMED": {
              "name": "STATUS_REDEEMED",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Represents a status of 'redeemed', which indicates that the Gift Certificate\n has been used and no longer contains a balance.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "amount": {
              "name": "amount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The original amount on the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "balance": {
              "name": "balance",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The balance on the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The description string.",
              "deprecated": false,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Returns true if the Gift Certificate is enabled, false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateCode": {
              "name": "giftCertificateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The code of the gift certificate. This redemption code is send to\n gift certificate recipient.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The code of the gift certificate. This redemption code is send to\n gift certificate recipient.",
              "deprecated": true,
              "type": "property"
            },
            "maskedGiftCertificateCode": {
              "name": "maskedGiftCertificateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The masked gift certificate code with\n all but the last 4 characters replaced with a '*' character.",
              "deprecated": false,
              "type": "property"
            },
            "merchantID": {
              "name": "merchantID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The merchant ID of the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "message": {
              "name": "message",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The message to include in the email of the person receiving\n the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "orderNo": {
              "name": "orderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The order number",
              "deprecated": false,
              "type": "property"
            },
            "recipientEmail": {
              "name": "recipientEmail",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The email address of the person receiving\n the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "recipientName": {
              "name": "recipientName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the person receiving\n the gift certificate.",
              "deprecated": false,
              "type": "property"
            },
            "senderName": {
              "name": "senderName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the person or organization that\n sent the gift certificate or null if undefined.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The status where the possible values are\n STATUS_PENDING, STATUS_ISSUED, STATUS_PARTIALLY_REDEEMED\n or STATUS_REDEEMED.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the original amount on the gift certificate."
              },
              "description": "Returns the original amount on the gift certificate.",
              "deprecated": false
            },
            "getBalance": {
              "name": "getBalance",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the balance on the gift certificate."
              },
              "description": "Returns the balance on the gift certificate.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description."
              },
              "description": "Returns the description string.",
              "deprecated": false
            },
            "getGiftCertificateCode": {
              "name": "getGiftCertificateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the code of the gift certificate."
              },
              "description": "Returns the code of the gift certificate. This redemption code is send to\n gift certificate recipient.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the code of the gift certificate."
              },
              "description": "Returns the code of the gift certificate. This redemption code is send to\n gift certificate recipient.",
              "deprecated": true
            },
            "getMaskedGiftCertificateCode": {
              "name": "getMaskedGiftCertificateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the masked gift certificate code."
              },
              "description": "Returns the masked gift certificate code with\n all but the last 4 characters replaced with a '*' character.",
              "deprecated": false
            },
            "getMaskedGiftCertificateCode0": {
              "name": "getMaskedGiftCertificateCode",
              "args": [
                {
                  "name": "ignore",
                  "description": "the number of characters to leave unmasked.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the masked gift certificate code."
              },
              "description": "Returns the masked gift certificate code with\n all but the specified number of characters replaced with a '*' character.",
              "deprecated": false
            },
            "getMerchantID": {
              "name": "getMerchantID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the merchant ID of the gift certificate."
              },
              "description": "Returns the merchant ID of the gift certificate.",
              "deprecated": false
            },
            "getMessage": {
              "name": "getMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the message to include in the email of the person receiving the gift certificate."
              },
              "description": "Returns the message to include in the email of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "getOrderNo": {
              "name": "getOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order number"
              },
              "description": "Returns the order number",
              "deprecated": false
            },
            "getRecipientEmail": {
              "name": "getRecipientEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the email address of the person receiving the gift certificate."
              },
              "description": "Returns the email address of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "getRecipientName": {
              "name": "getRecipientName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the person receiving the gift certificate."
              },
              "description": "Returns the name of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "getSenderName": {
              "name": "getSenderName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the person or organization that sent the gift certificate or null if undefined."
              },
              "description": "Returns the name of the person or organization that\n sent the gift certificate or null if undefined.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the status."
              },
              "description": "Returns the status where the possible values are\n STATUS_PENDING, STATUS_ISSUED, STATUS_PARTIALLY_REDEEMED\n or STATUS_REDEEMED.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the Gift Certificate is enabled, false otherwise."
              },
              "description": "Returns true if the Gift Certificate is enabled, false otherwise.",
              "deprecated": false
            },
            "setDescription": {
              "name": "setDescription",
              "args": [
                {
                  "name": "description",
                  "description": "additional description.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "An optional description that you can use to categorize the\n gift certificate.",
              "deprecated": false
            },
            "setEnabled": {
              "name": "setEnabled",
              "args": [
                {
                  "name": "enabled",
                  "description": "if true, enables the Gift Certificate.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Controls if the Gift Certificate is enabled.",
              "deprecated": false
            },
            "setMessage": {
              "name": "setMessage",
              "args": [
                {
                  "name": "message",
                  "description": "the message to include in the email of the person receiving the gift certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the message to include in the email of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "setOrderNo": {
              "name": "setOrderNo",
              "args": [
                {
                  "name": "orderNo",
                  "description": "the order number to be set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the order number",
              "deprecated": false
            },
            "setRecipientEmail": {
              "name": "setRecipientEmail",
              "args": [
                {
                  "name": "recipientEmail",
                  "description": "the email address of the person receiving the gift certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the email address of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "setRecipientName": {
              "name": "setRecipientName",
              "args": [
                {
                  "name": "recipient",
                  "description": "the name of the person receiving the gift certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the person receiving\n the gift certificate.",
              "deprecated": false
            },
            "setSenderName": {
              "name": "setSenderName",
              "args": [
                {
                  "name": "sender",
                  "description": "the name of the person or organization that sent the gift certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the person or organization that\n sent the gift certificate.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Gift certificate status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the status of the gift certificate. \n Possible values are: STATUS_ISSUED,\n STATUS_PENDING, STATUS_PARTIALLY_REDEEMED\n and STATUS_REDEEMED.",
              "deprecated": false
            }
          }
        },
        "GiftCertificateLineItem": {
          "fullClassName": "dw.order.GiftCertificateLineItem",
          "package": "dw.order",
          "description": "Represents a Gift Certificate line item in the cart. When an order is\n processed, a Gift Certificate is created based on the information in\n the Gift Certificate line item.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItem"
            }
          ],
          "constants": {},
          "properties": {
            "giftCertificateID": {
              "name": "giftCertificateID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The ID of the gift certificate that this line item\n was used to create. If this line item has not been used to create\n a Gift Certificate, this method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "message": {
              "name": "message",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The message to include in the email of the person receiving\n the gift certificate line item.",
              "deprecated": false,
              "type": "property"
            },
            "productListItem": {
              "name": "productListItem",
              "class": {
                "name": "ProductListItem"
              },
              "static": false,
              "readonly": false,
              "description": "The associated ProductListItem.",
              "deprecated": false,
              "type": "property"
            },
            "recipientEmail": {
              "name": "recipientEmail",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The email address of the person receiving\n the gift certificate line item.",
              "deprecated": false,
              "type": "property"
            },
            "recipientName": {
              "name": "recipientName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the person receiving the gift certificate line item.",
              "deprecated": false,
              "type": "property"
            },
            "senderName": {
              "name": "senderName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the person or organization that\n sent the gift certificate line item or null if undefined.",
              "deprecated": false,
              "type": "property"
            },
            "shipment": {
              "name": "shipment",
              "class": {
                "name": "Shipment"
              },
              "static": false,
              "readonly": false,
              "description": "The associated Shipment.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getGiftCertificateID": {
              "name": "getGiftCertificateID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the gift certificate or null if undefined."
              },
              "description": "Returns the ID of the gift certificate that this line item\n was used to create. If this line item has not been used to create\n a Gift Certificate, this method returns null.",
              "deprecated": false
            },
            "getMessage": {
              "name": "getMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the message to include in the email of the person receiving the gift certificate line item."
              },
              "description": "Returns the message to include in the email of the person receiving\n the gift certificate line item.",
              "deprecated": false
            },
            "getProductListItem": {
              "name": "getProductListItem",
              "args": [],
              "class": {
                "name": "ProductListItem",
                "description": "item or null."
              },
              "description": "Returns the associated ProductListItem.",
              "deprecated": false
            },
            "getRecipientEmail": {
              "name": "getRecipientEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the email address of the person receiving the gift certificate line item."
              },
              "description": "Returns the email address of the person receiving\n the gift certificate line item.",
              "deprecated": false
            },
            "getRecipientName": {
              "name": "getRecipientName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the person receiving the gift certificate line item."
              },
              "description": "Returns the name of the person receiving the gift certificate line item.",
              "deprecated": false
            },
            "getSenderName": {
              "name": "getSenderName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the person or organization that sent the gift certificate line item or null if undefined."
              },
              "description": "Returns the name of the person or organization that\n sent the gift certificate line item or null if undefined.",
              "deprecated": false
            },
            "getShipment": {
              "name": "getShipment",
              "args": [],
              "class": {
                "name": "Shipment",
                "description": "The shipment of the gift certificate line item"
              },
              "description": "Returns the associated Shipment.",
              "deprecated": false
            },
            "setGiftCertificateID": {
              "name": "setGiftCertificateID",
              "args": [
                {
                  "name": "id",
                  "description": "the ID of the gift certificate associated with this line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the ID of the gift certificate associated with this line item.",
              "deprecated": false
            },
            "setMessage": {
              "name": "setMessage",
              "args": [
                {
                  "name": "message",
                  "description": "the message to include in the email of the person receiving the gift certificate line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the message to include in the email of the person receiving\n the gift certificate line item.",
              "deprecated": false
            },
            "setProductListItem": {
              "name": "setProductListItem",
              "args": [
                {
                  "name": "productListItem",
                  "description": "the product list item to be associated",
                  "class": {
                    "name": "ProductListItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the associated ProductListItem.\n \n The product list item to be set must be of type gift certificate otherwise an exception is thrown.",
              "deprecated": false
            },
            "setRecipientEmail": {
              "name": "setRecipientEmail",
              "args": [
                {
                  "name": "recipientEmail",
                  "description": "the email address of the person receiving the gift certificate line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the email address of the person receiving\n the gift certificate line item.",
              "deprecated": false
            },
            "setRecipientName": {
              "name": "setRecipientName",
              "args": [
                {
                  "name": "recipient",
                  "description": "the name of the person receiving the gift certificate line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the person receiving the gift certificate line item.",
              "deprecated": false
            },
            "setSenderName": {
              "name": "setSenderName",
              "args": [
                {
                  "name": "sender",
                  "description": "the name of the person or organization that sent the gift certificate line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the person or organization that\n sent the gift certificate line item.",
              "deprecated": false
            },
            "setShipment": {
              "name": "setShipment",
              "args": [
                {
                  "name": "shipment",
                  "description": "The new shipment of the gift certificate line item",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Associates the gift certificate line item with the specified shipment. \n  Gift certificate line item and shipment must belong to the same line item ctnr.",
              "deprecated": false
            }
          }
        },
        "GiftCertificateMgr": {
          "fullClassName": "dw.order.GiftCertificateMgr",
          "package": "dw.order",
          "description": "The GiftCertificateMgr class contains a set of static methods for\n interacting with GiftCertificates.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "GC_ERROR_DISABLED": {
              "name": "GC_ERROR_DISABLED",
              "value": "\"GIFTCERTIFICATE-100\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n is currently disabled.",
              "deprecated": true,
              "type": "constant"
            },
            "GC_ERROR_INSUFFICIENT_BALANCE": {
              "name": "GC_ERROR_INSUFFICIENT_BALANCE",
              "value": "\"GIFTCERTIFICATE-110\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n does not have a sufficient balance to perform the requested\n operation.",
              "deprecated": true,
              "type": "constant"
            },
            "GC_ERROR_INVALID_AMOUNT": {
              "name": "GC_ERROR_INVALID_AMOUNT",
              "value": "\"GIFTCERTIFICATE-140\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n Amount was not valid.",
              "deprecated": true,
              "type": "constant"
            },
            "GC_ERROR_INVALID_CODE": {
              "name": "GC_ERROR_INVALID_CODE",
              "value": "\"GIFTCERTIFICATE-150\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n ID was not valid.",
              "deprecated": true,
              "type": "constant"
            },
            "GC_ERROR_PENDING": {
              "name": "GC_ERROR_PENDING",
              "value": "\"GIFTCERTIFICATE-130\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n has been fully redeemed.",
              "deprecated": true,
              "type": "constant"
            },
            "GC_ERROR_REDEEMED": {
              "name": "GC_ERROR_REDEEMED",
              "value": "\"GIFTCERTIFICATE-120\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n has been fully redeemed.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {
            "createGiftCertificate": {
              "name": "createGiftCertificate",
              "args": [
                {
                  "name": "amount",
                  "description": "the amount of the gift certificate. Must not be negative or zero.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "code",
                  "description": "the code for the new gift certificate. If parameter is null or empty , the system will assign a code to the new gift certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "GiftCertificate",
                "description": "the newly created Gift Certificate."
              },
              "description": "Creates a Gift Certificate. If a non-empty Gift Certificate code is specified, the code will be used to create\n the Gift Certificate. Be aware that this code must be unique for the current site. If it is not unique, the Gift\n Certificate will not be created.",
              "deprecated": false
            },
            "createGiftCertificate0": {
              "name": "createGiftCertificate",
              "args": [
                {
                  "name": "amount",
                  "description": "the amount of the gift certificate. Must not be negative or zero.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "GiftCertificate",
                "description": "the newly created Gift Certificate."
              },
              "description": "Creates a Gift Certificate. The system will assign a code to the new Gift Certificate.",
              "deprecated": false
            },
            "getGiftCertificate": {
              "name": "getGiftCertificate",
              "args": [
                {
                  "name": "giftCertificateCode",
                  "description": "to identify the Gift Certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "GiftCertificate",
                "description": "the Gift Certificate identified by the specified code or null."
              },
              "description": "Returns the Gift Certificate identified by the specified\n gift certificate code.",
              "deprecated": true
            },
            "getGiftCertificateByCode": {
              "name": "getGiftCertificateByCode",
              "args": [
                {
                  "name": "giftCertificateCode",
                  "description": "to identify the Gift Certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "GiftCertificate",
                "description": "the Gift Certificate identified by the specified code or null."
              },
              "description": "Returns the Gift Certificate identified by the specified\n gift certificate code.",
              "deprecated": false
            },
            "getGiftCertificateByMerchantID": {
              "name": "getGiftCertificateByMerchantID",
              "args": [
                {
                  "name": "merchantID",
                  "description": "to identify the Gift Certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "GiftCertificate",
                "description": "the Gift Certificate identified by the specified merchant ID or null."
              },
              "description": "Returns the Gift Certificate identified by the specified merchant ID.",
              "deprecated": false
            },
            "redeemGiftCertificate": {
              "name": "redeemGiftCertificate",
              "args": [
                {
                  "name": "paymentInstrument",
                  "description": "the OrderPaymentInstrument containing the ID of the Gift Certificate to redeem, and the amount of the redemption.",
                  "class": {
                    "name": "OrderPaymentInstrument"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "the status of the redemption operation."
              },
              "description": "Redeems an amount from a Gift Certificate. The Gift Certificate ID\n is specified in the OrderPaymentInstrument and the amount\n specified in the PaymentTransaction associated with the\n OrderPaymentInstrument. If the PaymentTransaction.getTransactionID()\n is not null, the value returned by this method is used as the\n 'Order Number' for the redemption transaction. The 'Order Number' is\n visible via the Business Manager.",
              "deprecated": false
            }
          }
        },
        "GiftCertificateStatusCodes": {
          "fullClassName": "dw.order.GiftCertificateStatusCodes",
          "package": "dw.order",
          "description": "Helper class containing status codes for the various errors that can occur\n when redeeming a gift certificate. One of these codes is returned as part of\n a Status object when a unsuccessful call to the\n <code>RedeemGiftCertificate</code> pipelet is made.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "GIFTCERTIFICATE_CURRENCY_MISMATCH": {
              "name": "GIFTCERTIFICATE_CURRENCY_MISMATCH",
              "value": "\"GIFTCERTIFICATE_CURRENCY_MISMATCH\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n was in a different currency than the Basket.",
              "deprecated": false,
              "type": "constant"
            },
            "GIFTCERTIFICATE_DISABLED": {
              "name": "GIFTCERTIFICATE_DISABLED",
              "value": "\"GIFTCERTIFICATE_DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n is currently disabled.",
              "deprecated": false,
              "type": "constant"
            },
            "GIFTCERTIFICATE_INSUFFICIENT_BALANCE": {
              "name": "GIFTCERTIFICATE_INSUFFICIENT_BALANCE",
              "value": "\"GIFTCERTIFICATE_INSUFFICIENT_BALANCE\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n does not have a sufficient balance to perform the requested\n operation.",
              "deprecated": false,
              "type": "constant"
            },
            "GIFTCERTIFICATE_NOT_FOUND": {
              "name": "GIFTCERTIFICATE_NOT_FOUND",
              "value": "\"GIFTCERTIFICATE_NOT_FOUND\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n was not found.",
              "deprecated": false,
              "type": "constant"
            },
            "GIFTCERTIFICATE_PENDING": {
              "name": "GIFTCERTIFICATE_PENDING",
              "value": "\"GIFTCERTIFICATE_PENDING\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n is pending and is not available for use.",
              "deprecated": false,
              "type": "constant"
            },
            "GIFTCERTIFICATE_REDEEMED": {
              "name": "GIFTCERTIFICATE_REDEEMED",
              "value": "\"GIFTCERTIFICATE_REDEEMED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that an error occurred because the Gift Certificate\n has been fully redeemed.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "GiftCertificateStatusCodes": {
              "name": "GiftCertificateStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "Invoice": {
          "fullClassName": "dw.order.Invoice",
          "package": "dw.order",
          "description": "The Invoice can be a debit or credit invoice, and is created\n from custom scripts using one of the methods\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_createInvoice_String_DetailAnchor\">ShippingOrder.createInvoice(String)</a>,\n <a href=\"class_dw_order_Appeasement.html#dw_order_Appeasement_createInvoice_String_DetailAnchor\">Appeasement.createInvoice(String)</a>,\n <a href=\"class_dw_order_ReturnCase.html#dw_order_ReturnCase_createInvoice_String_DetailAnchor\">ReturnCase.createInvoice(String)</a> or\n <a href=\"class_dw_order_Return.html#dw_order_Return_createInvoice_String_DetailAnchor\">Return.createInvoice(String)</a>.\n <p>\n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            },
            {
              "name": "dw.order.AbstractItemCtnr"
            }
          ],
          "constants": {
            "ORDERBY_CREATION_DATE": {
              "name": "ORDERBY_CREATION_DATE",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Sorting by creation date. Use with method getPaymentTransactions() as an argument to\n method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_ITEMID": {
              "name": "ORDERBY_ITEMID",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Sorting by item id. Use with method getItems() as an argument to\n method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_ITEMPOSITION": {
              "name": "ORDERBY_ITEMPOSITION",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Sorting by the position of the related oder item. Use with method\n getItems() as an argument to method\n FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_REVERSE": {
              "name": "ORDERBY_REVERSE",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Reverse orders. Use as an argument\n to method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "ORDERBY_UNSORTED": {
              "name": "ORDERBY_UNSORTED",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Unsorted , as it is. Use with method getItems() as an argument\n to method FilteringCollection.sort(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_CAPTURE": {
              "name": "QUALIFIER_CAPTURE",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects the capture transactions. Use with method getPaymentTransactions() as an\n argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_PRODUCTITEMS": {
              "name": "QUALIFIER_PRODUCTITEMS",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects the product items. Use with method getItems() as an\n argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_REFUND": {
              "name": "QUALIFIER_REFUND",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects the refund transactions. Use with method getPaymentTransactions() as an\n argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_SERVICEITEMS": {
              "name": "QUALIFIER_SERVICEITEMS",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Selects for the service items. Use with method getItems() as an\n argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_FAILED": {
              "name": "STATUS_FAILED",
              "value": "\"FAILED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Status Failed.\n The invoice handling failed.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_MANUAL": {
              "name": "STATUS_MANUAL",
              "value": "\"MANUAL\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Status Manual.\n The invoice is not paid but will not be handled automatically.\n A manual invoice handling (capture or refund) is necessary.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_NOT_PAID": {
              "name": "STATUS_NOT_PAID",
              "value": "\"NOT_PAID\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Status Not Paid.\n The invoice is not paid and will be handled automatically.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_PAID": {
              "name": "STATUS_PAID",
              "value": "\"PAID\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Status Paid.\n The invoice was successfully paid.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_APPEASEMENT": {
              "name": "TYPE_APPEASEMENT",
              "value": "\"APPEASEMENT\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Type Appeasement.\n The invoice was created for an appeasement.\n The invoice amount needs to be refunded.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_RETURN": {
              "name": "TYPE_RETURN",
              "value": "\"RETURN\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Type Return.\n The invoice was created for a return.\n The invoice amount needs to be refunded.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_RETURN_CASE": {
              "name": "TYPE_RETURN_CASE",
              "value": "\"RETURN_CASE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Type Return Case.\n The invoice was created for a return case.\n The invoice amount needs to be refunded.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SHIPPING": {
              "name": "TYPE_SHIPPING",
              "value": "\"SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Invoice Type Shipping.\n The invoice was created for a shipping order.\n The invoice amount needs to be captured.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "capturedAmount": {
              "name": "capturedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the captured amounts. The captured amounts are\n calculated on the fly.\n Associate a payment capture for a OrderPaymentInstrument\n with an Invoice using\n addCaptureTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false,
              "type": "property"
            },
            "invoiceNumber": {
              "name": "invoiceNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The invoice number.",
              "deprecated": false,
              "type": "property"
            },
            "items": {
              "name": "items",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "Access the collection of InvoiceItems.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with\n ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n ORDERBY_ITEMPOSITION\n FilteringCollection.sort(Object) with\n ORDERBY_UNSORTED\n FilteringCollection.select(Object) with\n QUALIFIER_PRODUCTITEMS\n FilteringCollection.select(Object) with\n QUALIFIER_SERVICEITEMS",
              "deprecated": false,
              "type": "property"
            },
            "paymentTransactions": {
              "name": "paymentTransactions",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The payment transactions belonging to this Invoice.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with\n ORDERBY_CREATION_DATE\n FilteringCollection.sort(Object) with\n ORDERBY_UNSORTED\n FilteringCollection.select(Object) with\n QUALIFIER_CAPTURE\n FilteringCollection.select(Object) with\n QUALIFIER_REFUND",
              "deprecated": false,
              "type": "property"
            },
            "refundedAmount": {
              "name": "refundedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the refunded amounts. The refunded amounts are\n calculated on the fly.\n Associate a payment capture for a OrderPaymentInstrument\n with an Invoice using\n addRefundTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The invoice status.\n The possible values are STATUS_NOT_PAID, STATUS_MANUAL,\n STATUS_PAID, STATUS_FAILED.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The invoice type.\n The possible values are TYPE_SHIPPING, TYPE_RETURN,\n TYPE_RETURN_CASE, TYPE_APPEASEMENT.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "account": {
              "name": "account",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true when the accounting was successful, otherwise false."
              },
              "description": "The invoice will be accounted.\n \n \n It will be captured in case of a shipping invoice and it will be refunded in\n case of an appeasement, return case or return invoice.\n \n \n The accounting will be handled in the payment hooks\n PaymentHooks.capture(Invoice) or\n PaymentHooks.refund(Invoice). The implementing script could add\n payment transactions to the invoice. The accompanying business logic will\n set the status to PAID or FAILED.\n \n \n The accounting will fail when the invoice state is different to\n STATUS_NOT_PAID or STATUS_FAILED.\n \n \n The method implements its own transaction handling. The method must not\n be called inside a transaction.",
              "deprecated": false
            },
            "addCaptureTransaction": {
              "name": "addCaptureTransaction",
              "args": [
                {
                  "name": "instrument",
                  "description": "the order payment instrument",
                  "class": {
                    "name": "OrderPaymentInstrument"
                  },
                  "multiple": false
                },
                {
                  "name": "capturedAmount",
                  "description": "amount to register as captured",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PaymentTransaction",
                "description": "the created capture transaction"
              },
              "description": "Calling this method registers an amount captured for a given\n order payment instrument. The authorization for the\n capture is associated with the payment transaction belonging to the\n instrument. Calling this method allows the Invoice, the\n OrderPaymentInstrument and the Order to\n return their captured amount as a sum calculated on the fly. The method\n may be called multiple times for the same instrument (multiple capture\n for one authorization) or for different instruments (invoice settlement\n using multiple payments).",
              "deprecated": false
            },
            "addRefundTransaction": {
              "name": "addRefundTransaction",
              "args": [
                {
                  "name": "instrument",
                  "description": "the order payment instrument",
                  "class": {
                    "name": "OrderPaymentInstrument"
                  },
                  "multiple": false
                },
                {
                  "name": "refundedAmount",
                  "description": "amount to register as refunded",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PaymentTransaction",
                "description": "the created refund transaction"
              },
              "description": "Calling this method registers an amount refunded for a given\n order payment instrument. Calling this method allows the\n Invoice, the OrderPaymentInstrument and\n the Order to return their refunded amount as a sum\n calculated on the fly. The method may be called multiple times for the\n same instrument (multiple refunds of one payment) or for different\n instruments (invoice settlement using multiple payments).",
              "deprecated": false
            },
            "getCapturedAmount": {
              "name": "getCapturedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "sum of captured amounts"
              },
              "description": "Returns the sum of the captured amounts. The captured amounts are\n calculated on the fly.\n Associate a payment capture for a OrderPaymentInstrument\n with an Invoice using\n addCaptureTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false
            },
            "getInvoiceNumber": {
              "name": "getInvoiceNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the invoice number"
              },
              "description": "Returns the invoice number.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the invoice items"
              },
              "description": "Access the collection of InvoiceItems.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with\n ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n ORDERBY_ITEMPOSITION\n FilteringCollection.sort(Object) with\n ORDERBY_UNSORTED\n FilteringCollection.select(Object) with\n QUALIFIER_PRODUCTITEMS\n FilteringCollection.select(Object) with\n QUALIFIER_SERVICEITEMS",
              "deprecated": false
            },
            "getPaymentTransactions": {
              "name": "getPaymentTransactions",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the payment transactions."
              },
              "description": "Returns the payment transactions belonging to this Invoice.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with\n ORDERBY_CREATION_DATE\n FilteringCollection.sort(Object) with\n ORDERBY_UNSORTED\n FilteringCollection.select(Object) with\n QUALIFIER_CAPTURE\n FilteringCollection.select(Object) with\n QUALIFIER_REFUND",
              "deprecated": false
            },
            "getRefundedAmount": {
              "name": "getRefundedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "sum of refunded amounts"
              },
              "description": "Returns the sum of the refunded amounts. The refunded amounts are\n calculated on the fly.\n Associate a payment capture for a OrderPaymentInstrument\n with an Invoice using\n addRefundTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the invoice status"
              },
              "description": "Returns the invoice status.\n The possible values are STATUS_NOT_PAID, STATUS_MANUAL,\n STATUS_PAID, STATUS_FAILED.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the invoice type"
              },
              "description": "Returns the invoice type.\n The possible values are TYPE_SHIPPING, TYPE_RETURN,\n TYPE_RETURN_CASE, TYPE_APPEASEMENT.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "the invoice status to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the invoice status.\n The possible values are STATUS_NOT_PAID, STATUS_MANUAL,\n STATUS_PAID, STATUS_FAILED.",
              "deprecated": false
            }
          }
        },
        "InvoiceItem": {
          "fullClassName": "dw.order.InvoiceItem",
          "package": "dw.order",
          "description": "Represents a specific item in an <a href=\"class_dw_order_Invoice.html\">Invoice</a>. Invoice items are added to the invoice\n on its creation, each item references exactly one order-item.\n <p>\n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            },
            {
              "name": "dw.order.AbstractItem"
            }
          ],
          "constants": {},
          "properties": {
            "basePrice": {
              "name": "basePrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of a single unit before discount application.",
              "deprecated": false,
              "type": "property"
            },
            "capturedAmount": {
              "name": "capturedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The captured amount for this item.",
              "deprecated": false,
              "type": "property"
            },
            "invoiceNumber": {
              "name": "invoiceNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The number of the invoice to which this item belongs.",
              "deprecated": false,
              "type": "property"
            },
            "parentItem": {
              "name": "parentItem",
              "class": {
                "name": "InvoiceItem"
              },
              "static": false,
              "readonly": false,
              "description": "Returns null or the parent item.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of this item.",
              "deprecated": false,
              "type": "property"
            },
            "refundedAmount": {
              "name": "refundedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The refunded amount for this item.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBasePrice": {
              "name": "getBasePrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Price of a single unit before discount application."
              },
              "description": "Price of a single unit before discount application.",
              "deprecated": false
            },
            "getCapturedAmount": {
              "name": "getCapturedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the captured amount for this item"
              },
              "description": "Returns the captured amount for this item.",
              "deprecated": false
            },
            "getInvoiceNumber": {
              "name": "getInvoiceNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the number of the invoice to which this item belongs"
              },
              "description": "Returns the number of the invoice to which this item belongs.",
              "deprecated": false
            },
            "getParentItem": {
              "name": "getParentItem",
              "args": [],
              "class": {
                "name": "InvoiceItem",
                "description": "null or the parent item."
              },
              "description": "Returns null or the parent item.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "quantity of this item"
              },
              "description": "Returns the quantity of this item.",
              "deprecated": false
            },
            "getRefundedAmount": {
              "name": "getRefundedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the refunded amount for this item"
              },
              "description": "Returns the refunded amount for this item.",
              "deprecated": false
            },
            "setCapturedAmount": {
              "name": "setCapturedAmount",
              "args": [
                {
                  "name": "capturedAmount",
                  "description": "the captured amount for this item",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the captured amount for this item.",
              "deprecated": false
            },
            "setParentItem": {
              "name": "setParentItem",
              "args": [
                {
                  "name": "parentItem",
                  "description": "The parent item, null is allowed",
                  "class": {
                    "name": "InvoiceItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a parent item. The parent item must belong to the same\n Invoice. An infinite parent-child loop is disallowed\n as is a parent-child depth greater than 10. Setting a parent item\n indicates a dependency of the child item on the parent item, and can be\n used to form a parallel structure to that accessed using\n ProductLineItem.getParent().",
              "deprecated": false
            },
            "setRefundedAmount": {
              "name": "setRefundedAmount",
              "args": [
                {
                  "name": "refundedAmount",
                  "description": "the refunded amount for this item",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the refunded amount for this item.",
              "deprecated": false
            }
          }
        },
        "LineItem": {
          "fullClassName": "dw.order.LineItem",
          "package": "dw.order",
          "description": "Common line item base class.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "basePrice": {
              "name": "basePrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The base price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.",
              "deprecated": false,
              "type": "property"
            },
            "grossPrice": {
              "name": "grossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The gross price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency, including tax.",
              "deprecated": false,
              "type": "property"
            },
            "lineItemCtnr": {
              "name": "lineItemCtnr",
              "class": {
                "name": "LineItemCtnr"
              },
              "static": false,
              "readonly": true,
              "description": "The line item ctnr of the line item.",
              "deprecated": false,
              "type": "property"
            },
            "lineItemText": {
              "name": "lineItemText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The display text for the line item.",
              "deprecated": false,
              "type": "property"
            },
            "netPrice": {
              "name": "netPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The net price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency, excluding tax.",
              "deprecated": false,
              "type": "property"
            },
            "price": {
              "name": "price",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Get the price of the line item. If the line item is based on net pricing then the net price is returned. If the\n line item is based on gross pricing then the gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "priceValue": {
              "name": "priceValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "Return the price amount for the line item. Same as getPrice().getValue().",
              "deprecated": false,
              "type": "property"
            },
            "tax": {
              "name": "tax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The tax for the line item, which is the tax of the unit before applying adjustments, in the purchase\n currency.",
              "deprecated": false,
              "type": "property"
            },
            "taxBasis": {
              "name": "taxBasis",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Get the price used to calculate the tax for this line item.",
              "deprecated": false,
              "type": "property"
            },
            "taxClassID": {
              "name": "taxClassID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The tax class ID for the line item or null if no tax class ID is associated with the line item. In the\n case where the tax class ID is null, you should use the default tax class ID.",
              "deprecated": false,
              "type": "property"
            },
            "taxRate": {
              "name": "taxRate",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A\n value of 0.175 represents a percentage of 17.5%.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBasePrice": {
              "name": "getBasePrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the base price for the line item."
              },
              "description": "Returns the base price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.",
              "deprecated": false
            },
            "getGrossPrice": {
              "name": "getGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the value of the gross price."
              },
              "description": "Returns the gross price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency, including tax.",
              "deprecated": false
            },
            "getLineItemCtnr": {
              "name": "getLineItemCtnr",
              "args": [],
              "class": {
                "name": "LineItemCtnr",
                "description": "Line item ctnr of the line item"
              },
              "description": "Returns the line item ctnr of the line item.",
              "deprecated": false
            },
            "getLineItemText": {
              "name": "getLineItemText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display text."
              },
              "description": "Returns the display text for the line item.",
              "deprecated": false
            },
            "getNetPrice": {
              "name": "getNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the value for the net price."
              },
              "description": "Returns the net price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency, excluding tax.",
              "deprecated": false
            },
            "getPrice": {
              "name": "getPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the net or the gross price"
              },
              "description": "Get the price of the line item. If the line item is based on net pricing then the net price is returned. If the\n line item is based on gross pricing then the gross price is returned.",
              "deprecated": false
            },
            "getPriceValue": {
              "name": "getPriceValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the price for the line item"
              },
              "description": "Return the price amount for the line item. Same as getPrice().getValue().",
              "deprecated": false
            },
            "getTax": {
              "name": "getTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the tax for the line item."
              },
              "description": "Returns the tax for the line item, which is the tax of the unit before applying adjustments, in the purchase\n currency.",
              "deprecated": false
            },
            "getTaxBasis": {
              "name": "getTaxBasis",
              "args": [],
              "class": {
                "name": "Money",
                "description": "The tax basis used to calculate tax for this line item, or Money.NOT_AVAILABLE if tax has not been set for this line item yet."
              },
              "description": "Get the price used to calculate the tax for this line item.",
              "deprecated": false
            },
            "getTaxClassID": {
              "name": "getTaxClassID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tax class ID for the line item or null if no tax class ID is associated with the line item."
              },
              "description": "Returns the tax class ID for the line item or null if no tax class ID is associated with the line item. In the\n case where the tax class ID is null, you should use the default tax class ID.",
              "deprecated": false
            },
            "getTaxRate": {
              "name": "getTaxRate",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the tax rate."
              },
              "description": "Returns the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A\n value of 0.175 represents a percentage of 17.5%.",
              "deprecated": false
            },
            "setBasePrice": {
              "name": "setBasePrice",
              "args": [
                {
                  "name": "aValue",
                  "description": "the new value of the base price.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the base price for the line item, which is the price of the unit before applying adjustments, in the\n purchase currency. The base price may be net or gross of tax depending on the configured taxation policy.",
              "deprecated": true
            },
            "setGrossPrice": {
              "name": "setGrossPrice",
              "args": [
                {
                  "name": "aValue",
                  "description": "the new value of the attribute",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the gross price for the line item, which is the Price of the unit before applying adjustments, in the\n purchase currency, including tax.",
              "deprecated": true
            },
            "setLineItemText": {
              "name": "setLineItemText",
              "args": [
                {
                  "name": "aText",
                  "description": "line item text.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the display text for the line item.",
              "deprecated": false
            },
            "setNetPrice": {
              "name": "setNetPrice",
              "args": [
                {
                  "name": "aValue",
                  "description": "the new value for the net price",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value for the net price, which is the price of the unit before applying adjustments, in the purchase\n currency, excluding tax.",
              "deprecated": true
            },
            "setPriceValue": {
              "name": "setPriceValue",
              "args": [
                {
                  "name": "value",
                  "description": "Price value or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets price attributes of the line item based on the current purchase currency and taxation policy. \n The methods sets the 'basePrice' attribute of the line item. Additionally, it sets the 'netPrice' attribute of\n the line item if the current taxation policy is 'net', and the 'grossPrice' attribute, if the current taxation\n policy is 'gross'. \n If null is specified as value, the price attributes are reset to Money.NOT_AVAILABLE.",
              "deprecated": false
            },
            "setTax": {
              "name": "setTax",
              "args": [
                {
                  "name": "aValue",
                  "description": "the new value for the tax.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value for the tax of the line item, which is the the tax of the unit before applying adjustments, in the\n purchase currency.",
              "deprecated": false
            },
            "setTaxClassID": {
              "name": "setTaxClassID",
              "args": [
                {
                  "name": "aValue",
                  "description": "the tax class ID for the line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tax class ID for the line item.",
              "deprecated": false
            },
            "setTaxRate": {
              "name": "setTaxRate",
              "args": [
                {
                  "name": "taxRate",
                  "description": "the new value for the tax rate.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tax rate, which is the decimal tax rate to be applied to the product represented by this line item. A\n value of 0.175 represents a percentage of 17.5%.",
              "deprecated": false
            },
            "updatePrice": {
              "name": "updatePrice",
              "args": [
                {
                  "name": "price",
                  "description": "The price to use when performing the update. This price must not be null and must either be equal to NOT_AVAIALBLE or must have a currency code equal to that of the parent container.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the price attributes of the line item based on the specified price. The base price is set to the\n specified value. If the line item is based on net pricing then the net price attribute is set. If the line item\n is based on gross pricing then the gross price attribute is set. Whether or not a line item is based on net or\n gross pricing is a site-wide configuration parameter.",
              "deprecated": true
            },
            "updateTax": {
              "name": "updateTax",
              "args": [
                {
                  "name": "taxRate",
                  "description": "taxRate the tax rate to use or null.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the tax-related attributes of the line item based on the specified tax rate, a tax basis determined by\n the system and the \"Tax Rounding Mode\" order preference. This method sets the tax basis as an attribute, and is\n not affected by the previous value of this attribute.\n \n The value used as a basis depends on the type of line item this is and on the promotion preferences for the\n current site. If you tax products, shipping, and discounts based on price (default), then the tax basis will simply be equal to\n getPrice(). If you tax products and shipping only based on adjusted price, then the tax basis depends upon line item type as follows:\n \n ProductLineItem: basis equals ProductLineItem.getProratedPrice().\n ShippingLineItem: basis equals ShippingLineItem.getAdjustedPrice().\n ProductShippingLineItem: basis equals\n ProductShippingLineItem.getAdjustedPrice().\n PriceAdjustment: basis equals 0.00.\n All other line item types: basis equals getPrice().\n \n If null is passed as tax rate, tax-related attribute fields are set to N/A.",
              "deprecated": false
            },
            "updateTax0": {
              "name": "updateTax",
              "args": [
                {
                  "name": "taxRate",
                  "description": "the tax rate to use or null.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "taxBasis",
                  "description": "the tax basis to use or null.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the tax-related attributes of the line item based on the specified tax rate, the passed tax basis and the\n \"Tax Rounding Mode\" order preference. If null is passed as tax rate or tax basis, tax-related attribute fields\n are set to N/A.",
              "deprecated": false
            },
            "updateTaxAmount": {
              "name": "updateTaxAmount",
              "args": [
                {
                  "name": "tax",
                  "description": "the tax amount of the line item to set",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates tax amount of the line item setting the provided value. Depending on the way how the tax is calculated\n (based on net or gross price), the corresponding gross or net price is updated accordingly. For tax calculation\n based on net price, the gross price is calculated by adding the tax to the net price. For tax calculation based\n on gross price, the net price is calculated by subtracting the tax from the gross price.\n \n If null is passed as tax amount, the item tax and resulting net or gross price are set to N/A.\n \n Note that tax rate is not calculated and it is not updated.",
              "deprecated": false
            }
          }
        },
        "LineItemCtnr": {
          "fullClassName": "dw.order.LineItemCtnr",
          "package": "dw.order",
          "description": "A container for line items, such as ProductLineItems, CouponLineItems, GiftCertificateLineItems. This container also\n provides access to shipments, shipping adjustments (promotions), and payment instruments (credit cards).\n <p>\n LineItemCtnr also contains a set of methods for creating line items and adjustments, and for accessing various price\n values. There are three types of price-related methods:\n </p><p>\n </p><ul>\n <li><u>Net-based</u> methods represent the amount of a category <b>before tax has been calculated</b>. For example,\n the getMerchandizeTotalNetPrice() returns the price of all merchandise in the container whereas\n getShippingTotalNetPrice() returns the price of all shipments in the container.</li>\n <li><u>Tax-based</u> methods return the amount of tax on a category. For example, the getMerchandizeTotalTax()\n returns the total tax for all merchandise and the getShippingTotalTax() returns the tax applied to all\n shipments.</li>\n <li><u>Gross-based</u> methods represent the amount of a category <b>after tax has been calculated</b>. For example,\n the getMerchandizeTotalGrossPrice() returns the price of all merchandise in the container, including tax on the\n merchandise, whereas getShippingTotalGrossPrice() returns the price of all shipments in the container, including tax\n on the shipments in the container.</li>\n </ul>\n There are also a set of methods that provide access to 'adjusted' values. The adjusted-based methods return values\n where promotions have been applied. For example, the getAdjustedMerchandizeTotalNetPrice() method returns the net\n price of all merchandise after product-level and order-level promotions have been applied. Whereas the\n getAdjustedMerchandizeTotalGrossPrice() method returns the price of all merchandise after product-level and\n order-level promotions have been applied and includes the amount of merchandise-related tax.\n <p>\n Finally, there are a set of methods that return the aggregate values representing the line items in the container.\n These are the total-based methods getTotalNetPrice(), getTotalTax() and getTotalGrossPrice(). These methods return\n the totals of all items in the container and include any order-level promotions.\n </p><p>\n Note that all merchandise-related methods do not include 'gift certificates' values in the values they return. Gift\n certificates are not considered merchandise as they do not represent a product.\n </p><p></p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "BUSINESS_TYPE_B2B": {
              "name": "BUSINESS_TYPE_B2B",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for Business Type B2B",
              "deprecated": false,
              "type": "constant"
            },
            "BUSINESS_TYPE_B2C": {
              "name": "BUSINESS_TYPE_B2C",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "constant for Business Type B2C",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_CALLCENTER": {
              "name": "CHANNEL_TYPE_CALLCENTER",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type CallCenter",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_CUSTOMERSERVICECENTER": {
              "name": "CHANNEL_TYPE_CUSTOMERSERVICECENTER",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Customer Service Center",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_DSS": {
              "name": "CHANNEL_TYPE_DSS",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type DSS",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_FACEBOOKADS": {
              "name": "CHANNEL_TYPE_FACEBOOKADS",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Facebook Ads",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_INSTAGRAMCOMMERCE": {
              "name": "CHANNEL_TYPE_INSTAGRAMCOMMERCE",
              "value": "12",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Instagram Commerce",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_MARKETPLACE": {
              "name": "CHANNEL_TYPE_MARKETPLACE",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Marketplace",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_ONLINERESERVATION": {
              "name": "CHANNEL_TYPE_ONLINERESERVATION",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Online Reservation",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_PINTEREST": {
              "name": "CHANNEL_TYPE_PINTEREST",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Pinterest",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_STORE": {
              "name": "CHANNEL_TYPE_STORE",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Store",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_STOREFRONT": {
              "name": "CHANNEL_TYPE_STOREFRONT",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Storefront",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_SUBSCRIPTIONS": {
              "name": "CHANNEL_TYPE_SUBSCRIPTIONS",
              "value": "9",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Subscriptions",
              "deprecated": false,
              "type": "constant"
            },
            "CHANNEL_TYPE_TWITTER": {
              "name": "CHANNEL_TYPE_TWITTER",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "constant for Channel Type Twitter",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "adjustedMerchandizeTotalGrossPrice": {
              "name": "adjustedMerchandizeTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted total gross price (including tax) in purchase currency. Adjusted merchandize prices\n represent the sum of product prices before services such as shipping, but after product-level and order-level\n adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalNetPrice": {
              "name": "adjustedMerchandizeTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total net price (excluding tax) in purchase currency. Adjusted merchandize prices represent the sum\n of product prices before services such as shipping, but after product-level and order-level adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalPrice": {
              "name": "adjustedMerchandizeTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted merchandize total price including product-level and order-level adjustments. If the line\n item container is based on net pricing the adjusted merchandize total net price is returned. If the line item\n container is based on gross pricing the adjusted merchandize total gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalTax": {
              "name": "adjustedMerchandizeTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The subtotal tax in purchase currency. Adjusted merchandize prices represent the sum of product prices\n before services such as shipping have been added, but after adjustment from promotions have been added.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedShippingTotalGrossPrice": {
              "name": "adjustedShippingTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted sum of all shipping line items of the line item container, including tax after shipping\n adjustments have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedShippingTotalNetPrice": {
              "name": "adjustedShippingTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the line item container, excluding tax after shipping adjustments\n have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedShippingTotalPrice": {
              "name": "adjustedShippingTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted shipping total price. If the line item container is based on net pricing the adjusted\n shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping\n total gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedShippingTotalTax": {
              "name": "adjustedShippingTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The tax of all shipping line items of the line item container after shipping adjustments have been\n applied.",
              "deprecated": false,
              "type": "property"
            },
            "allGiftCertificateLineItems": {
              "name": "allGiftCertificateLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All gift certificate line items of the container.",
              "deprecated": true,
              "type": "property"
            },
            "allLineItems": {
              "name": "allLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product, shipping, price adjustment, and gift certificate line items of the line item container.",
              "deprecated": false,
              "type": "property"
            },
            "allProductLineItems": {
              "name": "allProductLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product line items of the container, no matter if they are dependent or independent. This includes\n option, bundled and bonus line items.",
              "deprecated": false,
              "type": "property"
            },
            "allProductQuantities": {
              "name": "allProductQuantities",
              "class": {
                "name": "HashMap"
              },
              "static": false,
              "readonly": true,
              "description": "A hash mapping all products in the line item container to their total quantities. The total product\n quantity is used chiefly to validate the availability of the items in the cart. This method is not appropriate to\n look up prices because it returns products such as bundled line items which are included in the price of their\n parent and therefore have no corresponding price.\n \n The method counts all direct product line items, plus dependent product line items that are not option line\n items. It also excludes product line items that are not associated to any catalog product.",
              "deprecated": false,
              "type": "property"
            },
            "allShippingPriceAdjustments": {
              "name": "allShippingPriceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of all shipping price adjustments applied somewhere in the container. This can be\n adjustments applied to individual shipments or to the container itself. Note that the promotions engine only\n applies shipping price adjustments to the the default shipping line item of shipments, and never to the\n container.",
              "deprecated": false,
              "type": "property"
            },
            "billingAddress": {
              "name": "billingAddress",
              "class": {
                "name": "OrderAddress"
              },
              "static": false,
              "readonly": true,
              "description": "The billing address defined for the container. Returns null if no billing address has been created yet.",
              "deprecated": false,
              "type": "property"
            },
            "bonusDiscountLineItems": {
              "name": "bonusDiscountLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "An unsorted collection of the the bonus discount line items associated with this container.",
              "deprecated": false,
              "type": "property"
            },
            "bonusLineItems": {
              "name": "bonusLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of product line items that are bonus items (where\n ProductLineItem.isBonusProductLineItem() is true).",
              "deprecated": false,
              "type": "property"
            },
            "businessType": {
              "name": "businessType",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the business this order has been placed in.\n Possible values are BUSINESS_TYPE_B2C or BUSINESS_TYPE_B2B.",
              "deprecated": false,
              "type": "property"
            },
            "channelType": {
              "name": "channelType",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The channel type defines in which sales channel this order has been created. This can be used to distinguish\n order placed through Storefront, Call Center or Marketplace.\n Possible values are CHANNEL_TYPE_STOREFRONT, CHANNEL_TYPE_CALLCENTER,\n CHANNEL_TYPE_MARKETPLACE, CHANNEL_TYPE_DSS, CHANNEL_TYPE_STORE,\n CHANNEL_TYPE_PINTEREST, CHANNEL_TYPE_TWITTER, CHANNEL_TYPE_FACEBOOKADS,\n CHANNEL_TYPE_SUBSCRIPTIONS, CHANNEL_TYPE_ONLINERESERVATION or\n CHANNEL_TYPE_CUSTOMERSERVICECENTER.",
              "deprecated": false,
              "type": "property"
            },
            "couponLineItems": {
              "name": "couponLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted collection of the coupon line items in the container. The coupon line items are returned in the\n order they were added to container.",
              "deprecated": false,
              "type": "property"
            },
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The currency code for this line item container. The currency code is a 3-character currency mnemonic such\n as 'USD' or 'EUR'. The currency code represents the currency in which the calculation is made, and in which the\n buyer sees all prices in the store front.",
              "deprecated": false,
              "type": "property"
            },
            "customer": {
              "name": "customer",
              "class": {
                "name": "Customer"
              },
              "static": false,
              "readonly": true,
              "description": "The customer associated with this container.",
              "deprecated": false,
              "type": "property"
            },
            "customerEmail": {
              "name": "customerEmail",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The email of the customer associated with this container.",
              "deprecated": false,
              "type": "property"
            },
            "customerName": {
              "name": "customerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the customer associated with this container.",
              "deprecated": false,
              "type": "property"
            },
            "customerNo": {
              "name": "customerNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The customer number of the customer associated with this container.",
              "deprecated": false,
              "type": "property"
            },
            "defaultShipment": {
              "name": "defaultShipment",
              "class": {
                "name": "Shipment"
              },
              "static": false,
              "readonly": true,
              "description": "The default shipment of the line item container. Every basket and order has a default shipment with the\n id \"me\". If you call a process that accesses a shipment, and you don't specify the shipment, then the process\n uses the default shipment. You can't remove a default shipment. Calling removeShipment(Shipment) on it\n throws an exception.",
              "deprecated": false,
              "type": "property"
            },
            "etag": {
              "name": "etag",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Etag of the line item container. The Etag is a hash that represents the overall container state\n including any associated objects like line items.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateLineItems": {
              "name": "giftCertificateLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All gift certificate line items of the container.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificatePaymentInstruments": {
              "name": "giftCertificatePaymentInstruments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "An unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this\n container.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateTotalGrossPrice": {
              "name": "giftCertificateTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total gross price of all gift certificates in the cart. Should usually be equal to total net price.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateTotalNetPrice": {
              "name": "giftCertificateTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total net price (excluding tax) of all gift certificates in the cart. Should usually be equal to\n total gross price.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateTotalPrice": {
              "name": "giftCertificateTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The gift certificate total price. If the line item container is based on net pricing the gift certificate\n total net price is returned. If the line item container is based on gross pricing the gift certificate total\n gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateTotalTax": {
              "name": "giftCertificateTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total tax of all gift certificates in the cart. Should usually be 0.0.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalGrossPrice": {
              "name": "merchandizeTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total gross price (including tax) in purchase currency. Merchandize total prices represent the sum of\n product prices before services such as shipping or adjustment from promotions have been added.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalNetPrice": {
              "name": "merchandizeTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total net price (excluding tax) in purchase currency. Merchandize total prices represent the sum of\n product prices before services such as shipping or adjustment from promotion have been added.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalPrice": {
              "name": "merchandizeTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The merchandize total price. If the line item container is based on net pricing the merchandize total net\n price is returned. If the line item container is based on gross pricing the merchandize total gross price is\n returned.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalTax": {
              "name": "merchandizeTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total tax in purchase currency. Merchandize total prices represent the sum of product prices before\n services such as shipping or adjustment from promotions have been added.",
              "deprecated": false,
              "type": "property"
            },
            "notes": {
              "name": "notes",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The list of notes for this object, ordered by creation time from oldest to newest.",
              "deprecated": false,
              "type": "property"
            },
            "paymentInstrument": {
              "name": "paymentInstrument",
              "class": {
                "name": "OrderPaymentInstrument"
              },
              "static": false,
              "readonly": true,
              "description": "The payment instrument of the line item container or null. This method is deprecated. You should use\n getPaymentInstruments() or getGiftCertificatePaymentInstruments() instead.",
              "deprecated": true,
              "type": "property"
            },
            "paymentInstruments": {
              "name": "paymentInstruments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "An unsorted collection of the payment instruments in this container.",
              "deprecated": false,
              "type": "property"
            },
            "priceAdjustments": {
              "name": "priceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of price adjustments that have been applied to the totals such as promotion on the\n purchase value (i.e. $10 Off or 10% Off). The price adjustments are sorted by the order in which they were\n applied to the order by the promotions engine.",
              "deprecated": false,
              "type": "property"
            },
            "productLineItems": {
              "name": "productLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The product line items of the container that are not dependent on other product line items. This includes\n line items representing bonus products in the container but excludes option, bundled, and bonus line items. The\n returned collection is sorted by the position attribute of the product line items.",
              "deprecated": false,
              "type": "property"
            },
            "productQuantities": {
              "name": "productQuantities",
              "class": {
                "name": "HashMap"
              },
              "static": false,
              "readonly": true,
              "description": "A hash map of all products in the line item container and their total quantities. The total product\n quantity is for example used to lookup the product price.\n \n The method counts all direct product line items, plus dependent product line items that are not bundled line\n items and no option line items. It also excludes product line items that are not associated to any catalog\n product, and bonus product line items.",
              "deprecated": false,
              "type": "property"
            },
            "productQuantityTotal": {
              "name": "productQuantityTotal",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The total quantity of all product line items. Not included are bundled line items and option line items.",
              "deprecated": false,
              "type": "property"
            },
            "shipments": {
              "name": "shipments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All shipments of the line item container.\n The first shipment in the returned collection is the default shipment (shipment ID always set to \"me\"). All other\n shipments are sorted ascending by shipment ID.",
              "deprecated": false,
              "type": "property"
            },
            "shippingPriceAdjustments": {
              "name": "shippingPriceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The of shipping price adjustments applied to the shipping total of the container. Note that the\n promotions engine only applies shipping price adjustments to the the default shipping line item of shipments, and\n never to the container.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalGrossPrice": {
              "name": "shippingTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the line item container, including tax before shipping adjustments\n have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalNetPrice": {
              "name": "shippingTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the line item container, excluding tax before shipping adjustments\n have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalPrice": {
              "name": "shippingTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping total price. If the line item container is based on net pricing the shipping total net price\n is returned. If the line item container is based on gross pricing the shipping total gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalTax": {
              "name": "shippingTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The tax of all shipping line items of the line item container before shipping adjustments have been\n applied.",
              "deprecated": false,
              "type": "property"
            },
            "totalGrossPrice": {
              "name": "totalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The grand total price gross of tax for LineItemCtnr, in purchase currency. Total prices represent the sum\n of product prices, services prices and adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "totalNetPrice": {
              "name": "totalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The grand total price for LineItemCtnr net of tax, in purchase currency. Total prices represent the sum\n of product prices, services prices and adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "totalTax": {
              "name": "totalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The grand total tax for LineItemCtnr, in purchase currency. Total prices represent the sum of product\n prices, services prices and adjustments.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addNote": {
              "name": "addNote",
              "args": [
                {
                  "name": "subject",
                  "description": "The subject of the note.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "text",
                  "description": "The text of the note. Must be no more than 4000 characters or an exception is thrown.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Note",
                "description": "the added note."
              },
              "description": "Adds a note to the object.",
              "deprecated": false
            },
            "createBillingAddress": {
              "name": "createBillingAddress",
              "args": [],
              "class": {
                "name": "OrderAddress",
                "description": "The new billing address of the LineItemCtnr."
              },
              "description": "Create a billing address for the LineItemCtnr. A LineItemCtnr (e.g. basket) initially has no billing address.\n This method creates a billing address for the LineItemCtnr and replaces an existing billing address.",
              "deprecated": false
            },
            "createBonusProductLineItem": {
              "name": "createBonusProductLineItem",
              "args": [
                {
                  "name": "bonusDiscountLineItem",
                  "description": "Line item representing an applied BonusChoiceDiscount in the LineItemCtnr, must not be null.",
                  "class": {
                    "name": "BonusDiscountLineItem"
                  },
                  "multiple": false
                },
                {
                  "name": "product",
                  "description": "Product The product to add to the LineItemCtnr. Must not be null and must be a bonus product of bonusDiscountLineItem.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                },
                {
                  "name": "optionModel",
                  "description": "ProductOptionModel or null.",
                  "class": {
                    "name": "ProductOptionModel"
                  },
                  "multiple": false
                },
                {
                  "name": "shipment",
                  "description": "The shipment to add the bonus product to. If null, the product is added to the default shipment.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductLineItem",
                "description": ""
              },
              "description": "Creates a product line item in the container based on the passed Product and BonusDiscountLineItem. The product\n must be assigned to the current site catalog and must also be a bonus product of the specified\n BonusDiscountLineItem or an exception is thrown. The line item is always created in the default shipment. If\n successful, the operation always creates a new ProductLineItem and never simply increments the quantity of an\n existing ProductLineItem. An option model can optionally be specified.",
              "deprecated": false
            },
            "createCouponLineItem": {
              "name": "createCouponLineItem",
              "args": [
                {
                  "name": "couponCode",
                  "description": "the coupon code to be represented by the coupon line item",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "campaignBased",
                  "description": "the flag if the created coupon line item should be based on the B2C Commerce campaign system",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CouponLineItem",
                "description": "the created coupon line item"
              },
              "description": "Creates a new CouponLineItem for this container based on the supplied coupon code.\n \n The created coupon line item is based on the B2C Commerce campaign system if campaignBased parameter is true. In\n that case, if the supplied coupon code is not valid, APIException with type 'CreateCouponLineItemException' is\n thrown.\n \n If you want to create a custom coupon line item, you must call this method with campaignBased = false or to use\n createCouponLineItem(String).\n \n \n Example:\n \n\n  try {\n     var cli : CouponLineItem = basket.createCouponLineItem(couponCode, true);\n } catch (e if e instanceof APIException && e.type === 'CreateCouponLineItemException')\n     if (e.errorCode == CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET) {\n         ...\n     }\n }\n \n\n An dw.order.CreateCouponLineItemException is thrown in case of campaignBased = true only. Indicates that the\n provided coupon code is not a valid coupon code to create a coupon line item based on the B2C Commerce campaign\n system. The error code property (CreateCouponLineItemException.errorCode) will be set to one of the following\n values:\n \n CouponStatusCodes.COUPON_CODE_ALREADY_IN_BASKET = Indicates that coupon code has already\n been added to basket.\n CouponStatusCodes.COUPON_ALREADY_IN_BASKET = Indicates that another code of the same\n MultiCode/System coupon has already been added to basket.\n CouponStatusCodes.COUPON_CODE_ALREADY_REDEEMED = Indicates that code of MultiCode/System\n coupon has already been redeemed.\n CouponStatusCodes.COUPON_CODE_UNKNOWN = Indicates that coupon not found for given coupon\n code or that the code itself was not found.\n CouponStatusCodes.COUPON_DISABLED = Indicates that coupon is not enabled.\n CouponStatusCodes.REDEMPTION_LIMIT_EXCEEDED = Indicates that number of redemptions per\n code exceeded.\n CouponStatusCodes.CUSTOMER_REDEMPTION_LIMIT_EXCEEDED = Indicates that number of\n redemptions per code and customer exceeded.\n CouponStatusCodes.TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED = Indicates that number of\n redemptions per code, customer and time exceeded.\n CouponStatusCodes.NO_ACTIVE_PROMOTION = Indicates that coupon is not assigned to an\n active promotion.",
              "deprecated": false
            },
            "createCouponLineItem0": {
              "name": "createCouponLineItem",
              "args": [
                {
                  "name": "couponCode",
                  "description": "couponCode represented by the coupon line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CouponLineItem",
                "description": "New coupon line item."
              },
              "description": "Creates a coupon line item that is not based on the B2C Commerce campaign system and associates it with the\n specified coupon code.\n \n There may not be any other coupon line item in the container with the specific coupon code, otherwise an\n exception is thrown.\n \n If you want to create a coupon line item based on the B2C Commerce campaign system, you must use\n createCouponLineItem(String, Boolean) with campaignBased = true.",
              "deprecated": false
            },
            "createGiftCertificateLineItem": {
              "name": "createGiftCertificateLineItem",
              "args": [
                {
                  "name": "amount",
                  "description": "the amount of the gift certificate - mandatory",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "recipientEmail",
                  "description": "the recipient's email address - mandatory",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "GiftCertificateLineItem",
                "description": "The new gift certificate line item"
              },
              "description": "Creates a gift certificate line item.",
              "deprecated": false
            },
            "createGiftCertificatePaymentInstrument": {
              "name": "createGiftCertificatePaymentInstrument",
              "args": [
                {
                  "name": "giftCertificateCode",
                  "description": "the redemption code of the Gift Certificate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "amount",
                  "description": "the amount to set on the PaymentTransaction. If the OrderPaymentInstrument is actually redeemed, this is the amount that will be deducted from the Gift Certificate.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "OrderPaymentInstrument",
                "description": "the OrderPaymentInstrument."
              },
              "description": "Creates an OrderPaymentInstrument representing a Gift Certificate. The amount is set on a PaymentTransaction that\n is accessible via the OrderPaymentInstrument. By default, the status of the PaymentTransaction is set to CREATE.\n The PaymentTransaction must be processed at a later time.",
              "deprecated": false
            },
            "createPaymentInstrument": {
              "name": "createPaymentInstrument",
              "args": [
                {
                  "name": "paymentMethodId",
                  "description": "The payment method id. See the PaymentInstrument class for payment method types",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "amount",
                  "description": "The payment amount or null",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "OrderPaymentInstrument",
                "description": "The new payment instrument"
              },
              "description": "Creates a payment instrument using the specified payment method id and amount. The amount is set on the\n PaymentTransaction that is attached to the payment instrument.",
              "deprecated": false
            },
            "createPaymentInstrumentFromWallet": {
              "name": "createPaymentInstrumentFromWallet",
              "args": [
                {
                  "name": "walletPaymentInstrument",
                  "description": "The payment instrument from the customer's walled.",
                  "class": {
                    "name": "CustomerPaymentInstrument"
                  },
                  "multiple": false
                },
                {
                  "name": "amount",
                  "description": "The payment amount or null",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "OrderPaymentInstrument",
                "description": "The new payment instrument"
              },
              "description": "Creates a payment instrument using the specified wallet payment instrument and amount. The amount is set on the\n PaymentTransaction that is attached to the payment instrument. All data from the wallet payment\n instrument will be copied over to the created payment instrument.",
              "deprecated": false
            },
            "createPriceAdjustment": {
              "name": "createPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment"
              },
              "description": "Creates an order price adjustment.\n The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise\n an exception is thrown.",
              "deprecated": false
            },
            "createPriceAdjustment0": {
              "name": "createPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "discount",
                  "description": "The discount",
                  "class": {
                    "name": "Discount"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment"
              },
              "description": "Creates an order level price adjustment for a specific discount.\n The promotion id is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise\n an exception is thrown. \n The possible discount types are supported: PercentageDiscount and\n AmountDiscount. \n Examples:\n \n \n var myOrder : dw.order.Order; // assume known\n var paTenPercent : dw.order.PriceAdjustment = myOrder.createPriceAdjustment(\"myPromotionID1\", new dw.campaign.PercentageDiscount(10));\n var paReduceBy20 : dw.order.PriceAdjustment = myOrder.createPriceAdjustment(\"myPromotionID2\", new dw.campaign.AmountDiscount(20);",
              "deprecated": false
            },
            "createProductLineItem": {
              "name": "createProductLineItem",
              "args": [
                {
                  "name": "productID",
                  "description": "The product ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "The quantity of the product.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                },
                {
                  "name": "shipment",
                  "description": "Shipment",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductLineItem",
                "description": "the product line item"
              },
              "description": "Creates a new product line item in the container and assigns it to the specified shipment. \n If the specified productID represents a product in the site catalog, the method will associate the product line\n item with that catalog product and will copy all order-relevant information, like the quantity unit, from the\n catalog product. \n If the specified productID does not represent a product of the site catalog, the method creates a new product\n line item and initializes it with the specified product ID and quantity. If the passed in quantity value is not a\n positive integer, it will be rounded to the nearest positive integer. The minimum order quantity and step\n quantity will be set to 1.0. \n For catalog products, the method follows the configured 'Add2Basket' strategy to either increment the quantity of\n an existing product line item or create a new product line item for the same product. For non-catalog products,\n the method creates a new product line item no matter if the same product is already in the line item container.\n If a negative quantity is specified, it is automatically changed to 1.0.",
              "deprecated": true
            },
            "createProductLineItem0": {
              "name": "createProductLineItem",
              "args": [
                {
                  "name": "productID",
                  "description": "The product ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "shipment",
                  "description": "Shipment",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductLineItem",
                "description": "The new product line item"
              },
              "description": "Creates a new product line item in the container and assigns it to the specified shipment. \n If the specified productID represents a product in the site catalog, the method will associate the product line\n item with that catalog product and will copy all order-relevant information, like the quantity unit, from the\n catalog product. The quantity of the product line item is initialized with 1.0 or - if defined - the minimum\n order quantity of the product.\n If the product represents a product in the site catalog and is an option product, the product is added with it's\n default option values. \n If the specified productID does not represent a product of the site catalog, the method creates a new product\n line item and initializes it with the specified product ID and with a quantity, minimum order quantity, and step\n quantity value of 1.0.\n If the provided SKU references a product that is not available as described in method ProductLineItem.isCatalogProduct(), the new product line item is considered a non-catalog product line item without a connection to a product. Such product line items are not included in reservation requests in either OCI-based inventory or eCom-based inventory when calling Basket.reserveInventory() or OrderMgr.createOrder(Basket).",
              "deprecated": false
            },
            "createProductLineItem01": {
              "name": "createProductLineItem",
              "args": [
                {
                  "name": "productListItem",
                  "description": "the product list item",
                  "class": {
                    "name": "ProductListItem"
                  },
                  "multiple": false
                },
                {
                  "name": "shipment",
                  "description": "the shipment the created product line item will be assigned to",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductLineItem",
                "description": "The new product line item"
              },
              "description": "Creates a new product line item in the basket and assigns it to the specified shipment.\n \n If the product list item references a product in the site catalog, the method will associate the product line\n item with that catalog product and will copy all order-relevant information, like the quantity unit, from the\n catalog product. The quantity of the product line item is initialized with 1.0 or - if defined - the minimum\n order quantity of the product.\n \n If the product list item references an option product, the option values are copied from the product list item.\n \n If the product list item is associated with an existing product line item, and the BasketAddProductBehaviour\n setting is MergeQuantities, then the product line item quantity is increased by 1.0 or, if defined, the minimum\n order quantity of the product.\n \n An exception is thrown if\n \n the line item container is no basket.\n the type of the product list item is not PRODUCT.\n the product list item references a product which is not assigned to the site catalog.",
              "deprecated": false
            },
            "createProductLineItem012": {
              "name": "createProductLineItem",
              "args": [
                {
                  "name": "product",
                  "description": "Product",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                },
                {
                  "name": "optionModel",
                  "description": "ProductOptionModel or null",
                  "class": {
                    "name": "ProductOptionModel"
                  },
                  "multiple": false
                },
                {
                  "name": "shipment",
                  "description": "Shipment",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductLineItem",
                "description": ""
              },
              "description": "Creates a new product line item in the container and assigns it to the specified shipment. An option model can be\n specified. \n Please note that the product must be assigned to the current site catalog.",
              "deprecated": false
            },
            "createShipment": {
              "name": "createShipment",
              "args": [
                {
                  "name": "id",
                  "description": "ID of the shipment.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Shipment",
                "description": ""
              },
              "description": "Creates a standard shipment for the line item container. The specified ID must not yet be in use for another\n shipment of this line item container.",
              "deprecated": false
            },
            "createShippingPriceAdjustment": {
              "name": "createShippingPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment"
              },
              "description": "Creates a shipping price adjustment to be applied to the container. \n The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce; otherwise\n the method will throw an exception. \n If there already exists a shipping price adjustment referring to the specified promotion ID, an exception is\n thrown.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalGrossPrice": {
              "name": "getAdjustedMerchandizeTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the adjusted total gross price (including tax) in purchase currency."
              },
              "description": "Returns the adjusted total gross price (including tax) in purchase currency. Adjusted merchandize prices\n represent the sum of product prices before services such as shipping, but after product-level and order-level\n adjustments.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalNetPrice": {
              "name": "getAdjustedMerchandizeTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total net price (excluding tax) in purchase currency."
              },
              "description": "Returns the total net price (excluding tax) in purchase currency. Adjusted merchandize prices represent the sum\n of product prices before services such as shipping, but after product-level and order-level adjustments.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalPrice": {
              "name": "getAdjustedMerchandizeTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the adjusted merchandize total net or gross price"
              },
              "description": "Returns the adjusted merchandize total price including product-level and order-level adjustments. If the line\n item container is based on net pricing the adjusted merchandize total net price is returned. If the line item\n container is based on gross pricing the adjusted merchandize total gross price is returned.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalPrice0": {
              "name": "getAdjustedMerchandizeTotalPrice",
              "args": [
                {
                  "name": "applyOrderLevelAdjustments",
                  "description": "controls if order-level price adjustements are applied. If true, the price that is returned includes order-level price adjustments. If false, only product-level price adjustments are applied.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "a price representing the adjusted merchandize total controlled by the applyOrderLevelAdjustments parameter."
              },
              "description": "Returns the adjusted merchandize total price including order-level adjustments if requested. If the line item\n container is based on net pricing the adjusted merchandize total net price is returned. If the line item\n container is based on gross pricing the adjusted merchandize total gross price is returned.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalTax": {
              "name": "getAdjustedMerchandizeTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the subtotal tax in purchase currency."
              },
              "description": "Returns the subtotal tax in purchase currency. Adjusted merchandize prices represent the sum of product prices\n before services such as shipping have been added, but after adjustment from promotions have been added.",
              "deprecated": false
            },
            "getAdjustedShippingTotalGrossPrice": {
              "name": "getAdjustedShippingTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the adjusted sum of all shipping line items of the line item container, including tax after shipping adjustments have been applied."
              },
              "description": "Returns the adjusted sum of all shipping line items of the line item container, including tax after shipping\n adjustments have been applied.",
              "deprecated": false
            },
            "getAdjustedShippingTotalNetPrice": {
              "name": "getAdjustedShippingTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the line item container, excluding tax after shipping adjustments have been applied."
              },
              "description": "Returns the sum of all shipping line items of the line item container, excluding tax after shipping adjustments\n have been applied.",
              "deprecated": false
            },
            "getAdjustedShippingTotalPrice": {
              "name": "getAdjustedShippingTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the adjusted shipping total net or gross price"
              },
              "description": "Returns the adjusted shipping total price. If the line item container is based on net pricing the adjusted\n shipping total net price is returned. If the line item container is based on gross pricing the adjusted shipping\n total gross price is returned.",
              "deprecated": false
            },
            "getAdjustedShippingTotalTax": {
              "name": "getAdjustedShippingTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the tax of all shipping line items of the line item container after shipping adjustments have been applied."
              },
              "description": "Returns the tax of all shipping line items of the line item container after shipping adjustments have been\n applied.",
              "deprecated": false
            },
            "getAllGiftCertificateLineItems": {
              "name": "getAllGiftCertificateLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A collection of all GiftCertificateLineItems of the container."
              },
              "description": "Returns all gift certificate line items of the container.",
              "deprecated": true
            },
            "getAllLineItems": {
              "name": "getAllLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A collection of all product, shipping, price adjustment, and gift certificate line items of the container, in that order."
              },
              "description": "Returns all product, shipping, price adjustment, and gift certificate line items of the line item container.",
              "deprecated": false
            },
            "getAllProductLineItems": {
              "name": "getAllProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "An unsorted collection of all ProductLineItem instances of the container."
              },
              "description": "Returns all product line items of the container, no matter if they are dependent or independent. This includes\n option, bundled and bonus line items.",
              "deprecated": false
            },
            "getAllProductLineItems0": {
              "name": "getAllProductLineItems",
              "args": [
                {
                  "name": "productID",
                  "description": "The product ID used to filter the product line items.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "An unsorted collection of all ProductLineItem instances which have the specified product ID."
              },
              "description": "Returns all product line items of the container that have a product ID equal to the specified product ID, no\n matter if they are dependent or independent. This includes option, bundled and bonus line items.",
              "deprecated": false
            },
            "getAllProductQuantities": {
              "name": "getAllProductQuantities",
              "args": [],
              "class": {
                "name": "HashMap",
                "description": "A map of products and their total quantities."
              },
              "description": "Returns a hash mapping all products in the line item container to their total quantities. The total product\n quantity is used chiefly to validate the availability of the items in the cart. This method is not appropriate to\n look up prices because it returns products such as bundled line items which are included in the price of their\n parent and therefore have no corresponding price.\n \n The method counts all direct product line items, plus dependent product line items that are not option line\n items. It also excludes product line items that are not associated to any catalog product.",
              "deprecated": false
            },
            "getAllShippingPriceAdjustments": {
              "name": "getAllShippingPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "an unsorted collection of the shipping PriceAdjustment instances associated with this container."
              },
              "description": "Returns the collection of all shipping price adjustments applied somewhere in the container. This can be\n adjustments applied to individual shipments or to the container itself. Note that the promotions engine only\n applies shipping price adjustments to the the default shipping line item of shipments, and never to the\n container.",
              "deprecated": false
            },
            "getBillingAddress": {
              "name": "getBillingAddress",
              "args": [],
              "class": {
                "name": "OrderAddress",
                "description": "the billing address or null."
              },
              "description": "Returns the billing address defined for the container. Returns null if no billing address has been created yet.",
              "deprecated": false
            },
            "getBonusDiscountLineItems": {
              "name": "getBonusDiscountLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "An unsorted collection of BonusDiscountLine instances in the container."
              },
              "description": "Returns an unsorted collection of the the bonus discount line items associated with this container.",
              "deprecated": false
            },
            "getBonusLineItems": {
              "name": "getBonusLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the collection of product line items that are bonus items."
              },
              "description": "Returns the collection of product line items that are bonus items (where\n ProductLineItem.isBonusProductLineItem() is true).",
              "deprecated": false
            },
            "getBusinessType": {
              "name": "getBusinessType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the type of the business this order has been placed in. or null, if the business type is not set"
              },
              "description": "Returns the type of the business this order has been placed in.\n Possible values are BUSINESS_TYPE_B2C or BUSINESS_TYPE_B2B.",
              "deprecated": false
            },
            "getChannelType": {
              "name": "getChannelType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the sales channel this order has been placed in or null, if the order channel is not set"
              },
              "description": "The channel type defines in which sales channel this order has been created. This can be used to distinguish\n order placed through Storefront, Call Center or Marketplace.\n Possible values are CHANNEL_TYPE_STOREFRONT, CHANNEL_TYPE_CALLCENTER,\n CHANNEL_TYPE_MARKETPLACE, CHANNEL_TYPE_DSS, CHANNEL_TYPE_STORE,\n CHANNEL_TYPE_PINTEREST, CHANNEL_TYPE_TWITTER, CHANNEL_TYPE_FACEBOOKADS,\n CHANNEL_TYPE_SUBSCRIPTIONS, CHANNEL_TYPE_ONLINERESERVATION or\n CHANNEL_TYPE_CUSTOMERSERVICECENTER.",
              "deprecated": false
            },
            "getCouponLineItem": {
              "name": "getCouponLineItem",
              "args": [
                {
                  "name": "couponCode",
                  "description": "the coupon code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CouponLineItem",
                "description": "coupon line item or null."
              },
              "description": "Returns the coupon line item representing the specified coupon code.",
              "deprecated": false
            },
            "getCouponLineItems": {
              "name": "getCouponLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A sorted list of the CouponLineItem instances in the container."
              },
              "description": "Returns a sorted collection of the coupon line items in the container. The coupon line items are returned in the\n order they were added to container.",
              "deprecated": false
            },
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the currency code for this line item container."
              },
              "description": "Returns the currency code for this line item container. The currency code is a 3-character currency mnemonic such\n as 'USD' or 'EUR'. The currency code represents the currency in which the calculation is made, and in which the\n buyer sees all prices in the store front.",
              "deprecated": false
            },
            "getCustomer": {
              "name": "getCustomer",
              "args": [],
              "class": {
                "name": "Customer",
                "description": "the customer associated with this container."
              },
              "description": "Returns the customer associated with this container.",
              "deprecated": false
            },
            "getCustomerEmail": {
              "name": "getCustomerEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the email of the customer associated with this container."
              },
              "description": "Returns the email of the customer associated with this container.",
              "deprecated": false
            },
            "getCustomerName": {
              "name": "getCustomerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the customer associated with this container."
              },
              "description": "Returns the name of the customer associated with this container.",
              "deprecated": false
            },
            "getCustomerNo": {
              "name": "getCustomerNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer number of the customer associated with this container."
              },
              "description": "Returns the customer number of the customer associated with this container.",
              "deprecated": false
            },
            "getDefaultShipment": {
              "name": "getDefaultShipment",
              "args": [],
              "class": {
                "name": "Shipment",
                "description": "the default shipment of the container"
              },
              "description": "Returns the default shipment of the line item container. Every basket and order has a default shipment with the\n id \"me\". If you call a process that accesses a shipment, and you don't specify the shipment, then the process\n uses the default shipment. You can't remove a default shipment. Calling removeShipment(Shipment) on it\n throws an exception.",
              "deprecated": false
            },
            "getEtag": {
              "name": "getEtag",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Etag value"
              },
              "description": "Returns the Etag of the line item container. The Etag is a hash that represents the overall container state\n including any associated objects like line items.",
              "deprecated": false
            },
            "getGiftCertificateLineItems": {
              "name": "getGiftCertificateLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A collection of all GiftCertificateLineItems of the container."
              },
              "description": "Returns all gift certificate line items of the container.",
              "deprecated": false
            },
            "getGiftCertificateLineItems0": {
              "name": "getGiftCertificateLineItems",
              "args": [
                {
                  "name": "giftCertificateId",
                  "description": "the gift certificate identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "A collection of all GiftCertificateLineItems of the container."
              },
              "description": "Returns all gift certificate line items of the container, no matter if they are dependent or independent.",
              "deprecated": false
            },
            "getGiftCertificatePaymentInstruments": {
              "name": "getGiftCertificatePaymentInstruments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "an unsorted collection containing the set of PaymentInstrument instances that represent GiftCertificates."
              },
              "description": "Returns an unsorted collection of the PaymentInstrument instances that represent GiftCertificates in this\n container.",
              "deprecated": false
            },
            "getGiftCertificatePaymentInstruments0": {
              "name": "getGiftCertificatePaymentInstruments",
              "args": [
                {
                  "name": "giftCertificateCode",
                  "description": "the gift certificate code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "an unsorted collection containing all PaymentInstruments of type PaymentInstrument.METHOD_GIFT_CERTIFICATE where the specified code is the same code on the payment instrument."
              },
              "description": "Returns an unsorted collection containing all PaymentInstruments of type\n PaymentInstrument.METHOD_GIFT_CERTIFICATE where the specified code is the same code on the payment instrument.",
              "deprecated": false
            },
            "getGiftCertificateTotalGrossPrice": {
              "name": "getGiftCertificateTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total gross price of all gift certificate line items"
              },
              "description": "Returns the total gross price of all gift certificates in the cart. Should usually be equal to total net price.",
              "deprecated": false
            },
            "getGiftCertificateTotalNetPrice": {
              "name": "getGiftCertificateTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total net price of all gift certificate line items"
              },
              "description": "Returns the total net price (excluding tax) of all gift certificates in the cart. Should usually be equal to\n total gross price.",
              "deprecated": false
            },
            "getGiftCertificateTotalPrice": {
              "name": "getGiftCertificateTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the gift certificate total net or gross price"
              },
              "description": "Returns the gift certificate total price. If the line item container is based on net pricing the gift certificate\n total net price is returned. If the line item container is based on gross pricing the gift certificate total\n gross price is returned.",
              "deprecated": false
            },
            "getGiftCertificateTotalTax": {
              "name": "getGiftCertificateTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total tax of all gift certificate line items"
              },
              "description": "Returns the total tax of all gift certificates in the cart. Should usually be 0.0.",
              "deprecated": false
            },
            "getMerchandizeTotalGrossPrice": {
              "name": "getMerchandizeTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total gross price (including tax) in purchase currency."
              },
              "description": "Returns the total gross price (including tax) in purchase currency. Merchandize total prices represent the sum of\n product prices before services such as shipping or adjustment from promotions have been added.",
              "deprecated": false
            },
            "getMerchandizeTotalNetPrice": {
              "name": "getMerchandizeTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total net price (excluding tax) in purchase currency."
              },
              "description": "Returns the total net price (excluding tax) in purchase currency. Merchandize total prices represent the sum of\n product prices before services such as shipping or adjustment from promotion have been added.",
              "deprecated": false
            },
            "getMerchandizeTotalPrice": {
              "name": "getMerchandizeTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the merchandize total net or gross price"
              },
              "description": "Returns the merchandize total price. If the line item container is based on net pricing the merchandize total net\n price is returned. If the line item container is based on gross pricing the merchandize total gross price is\n returned.",
              "deprecated": false
            },
            "getMerchandizeTotalTax": {
              "name": "getMerchandizeTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total tax in purchase currency."
              },
              "description": "Returns the total tax in purchase currency. Merchandize total prices represent the sum of product prices before\n services such as shipping or adjustment from promotions have been added.",
              "deprecated": false
            },
            "getNotes": {
              "name": "getNotes",
              "args": [],
              "class": {
                "name": "List",
                "description": "the list of notes for this object, ordered by creation time from oldest to newest."
              },
              "description": "Returns the list of notes for this object, ordered by creation time from oldest to newest.",
              "deprecated": false
            },
            "getPaymentInstrument": {
              "name": "getPaymentInstrument",
              "args": [],
              "class": {
                "name": "OrderPaymentInstrument",
                "description": "the order payment instrument of the line item container or null."
              },
              "description": "Returns the payment instrument of the line item container or null. This method is deprecated. You should use\n getPaymentInstruments() or getGiftCertificatePaymentInstruments() instead.",
              "deprecated": true
            },
            "getPaymentInstruments": {
              "name": "getPaymentInstruments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "an unsorted collection containing the set of PaymentInstrument instances associated with this container."
              },
              "description": "Returns an unsorted collection of the payment instruments in this container.",
              "deprecated": false
            },
            "getPaymentInstruments0": {
              "name": "getPaymentInstruments",
              "args": [
                {
                  "name": "paymentMethodID",
                  "description": "the ID of the payment method used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "an unsorted collection of OrderPaymentInstrument instances based on the payment method."
              },
              "description": "Returns an unsorted collection of PaymentInstrument instances based on the specified payment method ID.",
              "deprecated": false
            },
            "getPriceAdjustmentByPromotionID": {
              "name": "getPriceAdjustmentByPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The price adjustment associated with the specified promotion ID or null if none was found."
              },
              "description": "Returns the price adjustment associated to the specified promotion ID.",
              "deprecated": false
            },
            "getPriceAdjustments": {
              "name": "getPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of PriceAdjustment instances."
              },
              "description": "Returns the collection of price adjustments that have been applied to the totals such as promotion on the\n purchase value (i.e. $10 Off or 10% Off). The price adjustments are sorted by the order in which they were\n applied to the order by the promotions engine.",
              "deprecated": false
            },
            "getProductLineItems": {
              "name": "getProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A sorted collection of ProductLineItem instances which are not dependent on other product line items."
              },
              "description": "Returns the product line items of the container that are not dependent on other product line items. This includes\n line items representing bonus products in the container but excludes option, bundled, and bonus line items. The\n returned collection is sorted by the position attribute of the product line items.",
              "deprecated": false
            },
            "getProductLineItems0": {
              "name": "getProductLineItems",
              "args": [
                {
                  "name": "productID",
                  "description": "The Product ID used to filter the product line items.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "A sorted collection of ProductLineItem instances which have the specified product ID and are not dependent on other product line items."
              },
              "description": "Returns the product line items of the container that have a product ID equal to the specified product ID and that\n are not dependent on other product line items. This includes line items representing bonus products in the\n container, but excludes option, bundled and bonus line items. The returned collection is sorted by the position\n attribute of the product line items.",
              "deprecated": false
            },
            "getProductQuantities": {
              "name": "getProductQuantities",
              "args": [],
              "class": {
                "name": "HashMap",
                "description": "a map of products and their total quantities."
              },
              "description": "Returns a hash map of all products in the line item container and their total quantities. The total product\n quantity is for example used to lookup the product price.\n \n The method counts all direct product line items, plus dependent product line items that are not bundled line\n items and no option line items. It also excludes product line items that are not associated to any catalog\n product, and bonus product line items.",
              "deprecated": false
            },
            "getProductQuantities0": {
              "name": "getProductQuantities",
              "args": [
                {
                  "name": "includeBonusProducts",
                  "description": "if true also bonus product line item are counted",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HashMap",
                "description": "A map of products and their total quantities."
              },
              "description": "Returns a hash map of all products in the line item container and their total quantities. The total product\n quantity is for example used to lookup the product price in the cart.\n \n The method counts all direct product line items, plus dependent product line items that are not bundled line\n items and no option line items. It also excludes product line items that are not associated to any catalog\n product.\n \n If the parameter 'includeBonusProducts' is set to true, the method also counts bonus product line items.",
              "deprecated": false
            },
            "getProductQuantityTotal": {
              "name": "getProductQuantityTotal",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The total quantity of all line items of the container."
              },
              "description": "Returns the total quantity of all product line items. Not included are bundled line items and option line items.",
              "deprecated": false
            },
            "getShipment": {
              "name": "getShipment",
              "args": [
                {
                  "name": "id",
                  "description": "the shipment identifier",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Shipment",
                "description": "the shipment or null"
              },
              "description": "Returns the shipment for the specified ID or null if no shipment with this ID exists in the line\n item container. Using \"me\" always returns the default shipment.",
              "deprecated": false
            },
            "getShipments": {
              "name": "getShipments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all shipments of the line item container"
              },
              "description": "Returns all shipments of the line item container.\n The first shipment in the returned collection is the default shipment (shipment ID always set to \"me\"). All other\n shipments are sorted ascending by shipment ID.",
              "deprecated": false
            },
            "getShippingPriceAdjustmentByPromotionID": {
              "name": "getShippingPriceAdjustmentByPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The price adjustment associated with the specified promotion ID or null if none was found."
              },
              "description": "Returns the shipping price adjustment associated with the specified promotion ID.",
              "deprecated": false
            },
            "getShippingPriceAdjustments": {
              "name": "getShippingPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of shipping price adjustments."
              },
              "description": "Returns the of shipping price adjustments applied to the shipping total of the container. Note that the\n promotions engine only applies shipping price adjustments to the the default shipping line item of shipments, and\n never to the container.",
              "deprecated": false
            },
            "getShippingTotalGrossPrice": {
              "name": "getShippingTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the line item container, including tax before shipping adjustments have been applied."
              },
              "description": "Returns the sum of all shipping line items of the line item container, including tax before shipping adjustments\n have been applied.",
              "deprecated": false
            },
            "getShippingTotalNetPrice": {
              "name": "getShippingTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the line item container, excluding tax before shipping adjustments have been applied."
              },
              "description": "Returns the sum of all shipping line items of the line item container, excluding tax before shipping adjustments\n have been applied.",
              "deprecated": false
            },
            "getShippingTotalPrice": {
              "name": "getShippingTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the shipping total net or gross price"
              },
              "description": "Returns the shipping total price. If the line item container is based on net pricing the shipping total net price\n is returned. If the line item container is based on gross pricing the shipping total gross price is returned.",
              "deprecated": false
            },
            "getShippingTotalTax": {
              "name": "getShippingTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the tax of all shipping line items of the line item container before shipping adjustments have been applied."
              },
              "description": "Returns the tax of all shipping line items of the line item container before shipping adjustments have been\n applied.",
              "deprecated": false
            },
            "getTotalGrossPrice": {
              "name": "getTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the grand total price."
              },
              "description": "Returns the grand total price gross of tax for LineItemCtnr, in purchase currency. Total prices represent the sum\n of product prices, services prices and adjustments.",
              "deprecated": false
            },
            "getTotalNetPrice": {
              "name": "getTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the grand total price."
              },
              "description": "Returns the grand total price for LineItemCtnr net of tax, in purchase currency. Total prices represent the sum\n of product prices, services prices and adjustments.",
              "deprecated": false
            },
            "getTotalTax": {
              "name": "getTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the grand total tax."
              },
              "description": "Returns the grand total tax for LineItemCtnr, in purchase currency. Total prices represent the sum of product\n prices, services prices and adjustments.",
              "deprecated": false
            },
            "removeAllPaymentInstruments": {
              "name": "removeAllPaymentInstruments",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the all Payment Instruments from this container and deletes the Payment Instruments.",
              "deprecated": false
            },
            "removeBonusDiscountLineItem": {
              "name": "removeBonusDiscountLineItem",
              "args": [
                {
                  "name": "bonusDiscountLineItem",
                  "description": "The bonus discount line item to remove, must not be null.",
                  "class": {
                    "name": "BonusDiscountLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified bonus discount line item from the line item container.",
              "deprecated": false
            },
            "removeCouponLineItem": {
              "name": "removeCouponLineItem",
              "args": [
                {
                  "name": "couponLineItem",
                  "description": "The coupon line item to remove",
                  "class": {
                    "name": "CouponLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified coupon line item from the line item container.",
              "deprecated": false
            },
            "removeGiftCertificateLineItem": {
              "name": "removeGiftCertificateLineItem",
              "args": [
                {
                  "name": "giftCertificateLineItem",
                  "description": "The gift certificate line item to remove",
                  "class": {
                    "name": "GiftCertificateLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified gift certificate line item from the line item container.",
              "deprecated": false
            },
            "removeNote": {
              "name": "removeNote",
              "args": [
                {
                  "name": "note",
                  "description": "The note to remove. Must not be null. Must belong to this line item container.",
                  "class": {
                    "name": "Note"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes a note from this line item container and deletes it.",
              "deprecated": false
            },
            "removePaymentInstrument": {
              "name": "removePaymentInstrument",
              "args": [
                {
                  "name": "pi",
                  "description": "the Payment Instrument to remove.",
                  "class": {
                    "name": "PaymentInstrument"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified Payment Instrument from this container and deletes the Payment Instrument.",
              "deprecated": false
            },
            "removePriceAdjustment": {
              "name": "removePriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustment",
                  "description": "The price adjustment line item to remove, must not be null.",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified price adjustment line item from the line item container.",
              "deprecated": false
            },
            "removeProductLineItem": {
              "name": "removeProductLineItem",
              "args": [
                {
                  "name": "productLineItem",
                  "description": "The product line item to remove, must not be null.",
                  "class": {
                    "name": "ProductLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified product line item from the line item container.",
              "deprecated": false
            },
            "removeShipment": {
              "name": "removeShipment",
              "args": [
                {
                  "name": "shipment",
                  "description": "Shipment to be removed, must not be null.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified shipment and all associated product, gift certificate, shipping and price adjustment line\n items from the line item container. It is not permissible to remove the default shipment.",
              "deprecated": false
            },
            "removeShippingPriceAdjustment": {
              "name": "removeShippingPriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustment",
                  "description": "The price adjustment line item to remove, must not be null.",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified shipping price adjustment line item from the line item container.",
              "deprecated": false
            },
            "setCustomerEmail": {
              "name": "setCustomerEmail",
              "args": [
                {
                  "name": "aValue",
                  "description": "the email address of the customer associated with this container.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the email address of the customer associated with this container.",
              "deprecated": false
            },
            "setCustomerName": {
              "name": "setCustomerName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the name of the customer associated with this container.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the customer associated with this container.",
              "deprecated": false
            },
            "updateOrderLevelPriceAdjustmentTax": {
              "name": "updateOrderLevelPriceAdjustmentTax",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Calculates the tax for all shipping and order-level merchandise price adjustments in this LineItemCtnr.\n \n The tax on each adjustment is calculated from the taxes of the line items the adjustment applies across.\n \n This method must be invoked at the end of tax calculation of a basket or an order.",
              "deprecated": false
            },
            "updateTotals": {
              "name": "updateTotals",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Recalculates the totals of the line item container. It is necessary to call this method after any type of\n modification to the basket.",
              "deprecated": false
            },
            "verifyPriceAdjustmentLimits": {
              "name": "verifyPriceAdjustmentLimits",
              "args": [],
              "class": {
                "name": "Status",
                "description": "a Status instance with - Status.OK if all manual price adjustments do not exceed the correspondent limits, otherwise Status.ERROR"
              },
              "description": "Verifies whether the manual price adjustments made for the line item container exceed the corresponding limits\n for the current user and the current site.\n \n The results of this method are based on the current values held in the LineItemCtnr, such as the\n base price of manual price adjustments. It is important the method is only called after the calculation process\n has completed.\n \n \n Status.OK is returned if NONE of the manual price adjustments exceed the correspondent limits.\n \n Status.ERROR is returned if ANY of the manual price adjustments exceed the correspondent limits. If this case\n Status.getItems() returns all price adjustment limit violations. The code of each\n StatusItem represents the violated price adjustment type (see\n PriceAdjustmentLimitTypes). StatusItem.getDetails() returns a\n Map with the max amount and (where relevant) the item to which the violation applies.\n \n Usage:\n\n  var order : Order; // known\n\n var status : Status = order.verifyPriceAdjustmentLimits();\n if (status.status == Status.ERROR)\n {\n   for each (var statusItem : StatusItem in status.items)\n   {\n       var statusDetail : MapEntry = statusItem.details.entrySet().iterator().next();\n       var maxAllowedLimit : Number = (Number) (statusDetail.key);\n\n       if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_ORDER)\n       {\n           // fix order price adjustment considering maxAllowedLimit\n       }\n       else if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_ITEM)\n       {\n           var pli : ProductLineItem = (ProductLineItem) (statusDetail.value);\n           // fix pli price adjustment considering maxAllowedLimit\n       }\n       else if (statusItem.code == PriceAdjustmentLimitTypes.TYPE_SHIPPING)\n       {\n           if (statusDetail.value == null)\n           {\n               // fix order level shipping price adjustment considering maxAllowedLimit\n           }\n           else\n           {\n               var sli : ShippingLineItem = (ShippingLineItem) (statusDetail.value);\n               // fix sli price adjustment considering maxAllowedLimit\n           }\n       }\n   }\n }",
              "deprecated": false
            }
          }
        },
        "OrderProcessStatusCodes": {
          "fullClassName": "dw.order.OrderProcessStatusCodes",
          "package": "dw.order",
          "description": "Contains constants representing different status codes\n for interacting with an order, such as cancelling\n or editing an order.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "COUPON_INVALID": {
              "name": "COUPON_INVALID",
              "value": "\"COUPON_INVALID\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that a coupon in the order is not valid.",
              "deprecated": false,
              "type": "constant"
            },
            "INVENTORY_RESERVATION_FAILED": {
              "name": "INVENTORY_RESERVATION_FAILED",
              "value": "\"INVENTORY_RESERVATION_FAILED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that no inventory could be reserved for the order.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_ALREADY_CANCELLED": {
              "name": "ORDER_ALREADY_CANCELLED",
              "value": "\"ORDER_CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it has already been cancelled.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_ALREADY_EXPORTED": {
              "name": "ORDER_ALREADY_EXPORTED",
              "value": "\"ORDER_EXPORTED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because it\n has already been exported.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_ALREADY_FAILED": {
              "name": "ORDER_ALREADY_FAILED",
              "value": "\"ORDER_FAILED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it has already been failed.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_ALREADY_REPLACED": {
              "name": "ORDER_ALREADY_REPLACED",
              "value": "\"ORDER_REPLACED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it has already been replaced.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_CONTAINS_GC": {
              "name": "ORDER_CONTAINS_GC",
              "value": "\"CANCEL_ORDER_GC\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because it\n contains gift certificates.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_NOT_CANCELLED": {
              "name": "ORDER_NOT_CANCELLED",
              "value": "\"ORDER_NOT_CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it is not cancelled.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_NOT_FAILED": {
              "name": "ORDER_NOT_FAILED",
              "value": "\"ORDER_NOT_FAILED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it has not been failed.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_NOT_PLACED": {
              "name": "ORDER_NOT_PLACED",
              "value": "\"ORDER_NOT_PLACED\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the order could not be used because\n it has not been placed.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "OrderProcessStatusCodes": {
              "name": "OrderProcessStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "PaymentStatusCodes": {
          "fullClassName": "dw.order.PaymentStatusCodes",
          "package": "dw.order",
          "description": "Helper class containing status codes for the various errors that can occur\n when validating a payment card. One of these codes is returned as part of a\n Status object when a unsuccessful call to the <code>VerifyPaymentCard</code>\n or <code>VerifyCreditCard</code> pipelet is made. The same codes are used\n when calling <a href=\"class_dw_order_PaymentCard.html#dw_order_PaymentCard_verify_Number_Number_String_DetailAnchor\">PaymentCard.verify(Number, Number, String)</a> or\n <a href=\"class_dw_order_PaymentCard.html#dw_order_PaymentCard_verify_Number_Number_String_String_DetailAnchor\">PaymentCard.verify(Number, Number, String, String)</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CREDITCARD_INVALID_CARD_NUMBER": {
              "name": "CREDITCARD_INVALID_CARD_NUMBER",
              "value": "\"CREDITCARD_INVALID_CARD_NUMBER\"",
              "class": {
                "name": "String"
              },
              "description": "The code indicates that the credit card number is incorrect.",
              "deprecated": false,
              "type": "constant"
            },
            "CREDITCARD_INVALID_EXPIRATION_DATE": {
              "name": "CREDITCARD_INVALID_EXPIRATION_DATE",
              "value": "\"CREDITCARD_INVALID_EXPIRATION_DATE\"",
              "class": {
                "name": "String"
              },
              "description": "The code indicates that the credit card is expired.",
              "deprecated": false,
              "type": "constant"
            },
            "CREDITCARD_INVALID_SECURITY_CODE": {
              "name": "CREDITCARD_INVALID_SECURITY_CODE",
              "value": "\"CREDITCARD_INVALID_SECURITY_CODE\"",
              "class": {
                "name": "String"
              },
              "description": "The code indicates that the credit card security code length is invalid.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "PaymentStatusCodes": {
              "name": "PaymentStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "PriceAdjustment": {
          "fullClassName": "dw.order.PriceAdjustment",
          "package": "dw.order",
          "description": "The PriceAdjustment class represents an adjustment to the price of an order. A PriceAdjustment can apply to a\n ProductLineItem, ShippingLineItem, ProductShippingLineItem, or a LineItemCtnr, and are generally categorized as\n product-level, shipping-level, or order-level. PriceAdjustments are generated by the B2C Commerce promotions engine\n when applying discounts. See <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_applyDiscounts_DiscountPlan_DetailAnchor\">PromotionMgr.applyDiscounts(DiscountPlan)</a>. They may also be\n generated by custom code through the API. See for example\n <a href=\"class_dw_order_ProductLineItem.html#dw_order_ProductLineItem_createPriceAdjustment_String_DetailAnchor\">ProductLineItem.createPriceAdjustment(String)</a>. In the latter case, the PriceAdjustment is called\n \"custom\"; in the former case, it is called \"system\". System price adjustments are associated with the promotion that\n triggered their creation. If the promotion was coupon-based, then the price adjustment will additionally be\n associated with a coupon line item in the LineItemCtnr.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItem"
            }
          ],
          "constants": {},
          "properties": {
            "ABTest": {
              "name": "ABTest",
              "class": {
                "name": "ABTest"
              },
              "static": false,
              "readonly": true,
              "description": "The B2C Commerce AB-test this price adjustment is associated with. The associated AB-test is determined\n from the ABTestID attribute which is set by the promotions engine when applying discounts.\n \n If the AB-test has been removed from the system since this price adjustment was created, this method returns\n null. This method always returns null for custom price adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "ABTestID": {
              "name": "ABTestID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the AB-test related to this price adjustment.",
              "deprecated": false,
              "type": "property"
            },
            "ABTestSegment": {
              "name": "ABTestSegment",
              "class": {
                "name": "ABTestSegment"
              },
              "static": false,
              "readonly": true,
              "description": "The B2C Commerce AB-test segment this price adjustment is associated with. The associated AB-test segment\n is determined from the ABTestSegmentID attribute which is set by the promotions engine when applying discounts.\n \n If the AB-test, or this segment, has been removed from the system since this price adjustment was created, this\n method returns null. This method always returns null for custom price adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "ABTestSegmentID": {
              "name": "ABTestSegmentID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the AB-test segment related to this price adjustment.",
              "deprecated": false,
              "type": "property"
            },
            "appliedDiscount": {
              "name": "appliedDiscount",
              "class": {
                "name": "Discount"
              },
              "static": false,
              "readonly": true,
              "description": "A Discount instance describing the discount applied to\n obtain this price-adjustment. This method only returns a non-null value\n if the price-adjustment was created\n \n when a discount-plan was applied to a basket, or\n as a custom price-adjustment using one of the methods\n ProductLineItem.createPriceAdjustment(String, Discount),\n ShippingLineItem.createShippingPriceAdjustment(String, Discount)\n or LineItemCtnr.createPriceAdjustment(String, Discount).\n \n \n  Note an instance of the Discount subclasses is\n returned, such as AmountDiscount or\n PriceBookPriceDiscount, use\n Discount.getType() and the constants in\n Discount to distinguish between types. Each subclass\n provides access to specific properties.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnABTest": {
              "name": "basedOnABTest",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a\n promotion assigned to an AB-test.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnCampaign": {
              "name": "basedOnCampaign",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a\n promotion assigned to a Campaign or an AB-test.",
              "deprecated": true,
              "type": "property"
            },
            "basedOnCoupon": {
              "name": "basedOnCoupon",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the promotion line item results from a coupon.",
              "deprecated": false,
              "type": "property"
            },
            "campaign": {
              "name": "campaign",
              "class": {
                "name": "Campaign"
              },
              "static": false,
              "readonly": true,
              "description": "The B2C Commerce campaign this price adjustment is associated with. The associated campaign is determined\n from the campaignID attribute which is set by the promotions engine when applying discounts.\n \n If the campaign has been removed from the system since this price adjustment was created, this method returns\n null. This method always returns null for custom price adjustments.\n \n Note: If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then a Campaign\n object will be returned, but it is a mock implementation, and not a true Campaign. This behavior is required for\n backwards compatibility and should not be relied upon as it may change in future releases.",
              "deprecated": false,
              "type": "property"
            },
            "campaignID": {
              "name": "campaignID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the campaign the price adjustment was based on.\n \n Note:If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then an ID will be\n returned but it is not the ID of a true campaign. This behavior is required for backwards compatibility and\n should not be relied upon as it may change in future releases.",
              "deprecated": false,
              "type": "property"
            },
            "couponLineItem": {
              "name": "couponLineItem",
              "class": {
                "name": "CouponLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The coupon line item related to this price adjustment.\n If the price adjustment is not based on a coupon, null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "createdBy": {
              "name": "createdBy",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the user who created the price adjustment.\n This method returns a value if the price-adjustment was\n created as a custom price-adjustment using one of the methods\n ProductLineItem.createPriceAdjustment(String, Discount),\n ShippingLineItem.createShippingPriceAdjustment(String, Discount)\n or LineItemCtnr.createPriceAdjustment(String, Discount).\n \n If an agent user has created the price adjustment, the agent user's name\n is returned. Otherwise \"Customer\" is returned.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this PriceAdjustment was created by custom script code.",
              "deprecated": false,
              "type": "property"
            },
            "manual": {
              "name": "manual",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Returns true if this PriceAdjustment was added manually by a user.\n \n A manual PriceAdjustment is one which has been added as a result of\n a user interaction e.g. by a user editing an order.\n \n A non-manual PriceAdjustment is one which has been added for a different\n reason, e.g. by custom logic which automatically adjusts the price of\n particular products when certain conditions are met.",
              "deprecated": false,
              "type": "property"
            },
            "promotion": {
              "name": "promotion",
              "class": {
                "name": "Promotion"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion associated with this price adjustment. The\n associated promotion is determined from the promotionID and campaignID\n attributes which are set by the promotions engine when applying\n discounts. Alternatively if the promotion applied as part of an AB-test,\n then the associated promotion is determined from the promotionID\n attribute and the hidden attributes, abTestID and abTestGroupID.\n \n If the promotion has been removed from the system since this price\n adjustment was created, or if the promotion still exists but is not\n assigned to any campaign or AB-test, this method returns null. If the\n promotion has been reassigned to a different campaign or AB-test since\n this price adjustment was created, then the system will return an\n appropriate Promotion instance. This method always returns null for\n custom price adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "promotionID": {
              "name": "promotionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the promotion related to this price adjustment.",
              "deprecated": false,
              "type": "property"
            },
            "proratedPrices": {
              "name": "proratedPrices",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "A map representing the product line items to which this price\n adjustment is \"related\" (in the sense defined below) and the portion of\n this adjustment's price which applies to each after discount prorating is\n performed. This information is sometimes useful to display in the\n storefront but is more often useful for integrating with backend\n order-management and accounting systems which require all discounts to be\n itemized.\n \n The definition of \"related\" product line items depends on the type of\n promotion which generated this price adjustment:\n\n \n For order promotions, price adjustments are prorated across all\n product line items which are not explicitly excluded by the promotion.\n Custom order price adjustments apply to all items in the LineItemCtnr.\n For Buy-X-Get-Y product promotions, price adjustments are prorated\n across all items all product line items that are involved in the\n promotion, meaning that the PLI has one or more items contributing to the\n qualifying product count (i.e. the item is one of the X) or receiving the\n discount (i.e. the item is one of the Y).\n Other product promotions are not prorated and simply adjust the\n parent product line item, and so the returned map is of size 1.\n For shipping promotions, this method returns an empty map.\n \n\n Buy-X-Get-Y product promotions are prorated as follows: Each price\n adjustment generated by the promotion is sequentially prorated upon the\n related items according to the items' adjusted prices after all non-BOGO\n product promotions are considered, but before order promotions are\n considered.\n \n Order promotions are prorated sequentially upon non-excluded items\n according to the order in which they applied during promotion processing.\n \n The values in the map are inclusive of tax if this price adjustment is\n based on gross pricing, and exclusive of tax otherwise. The sum of the\n prorated prices always equals the price of this price adjustment.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of items this price adjustment applies to. This value\n is always equal to 1 for price adjustments generated by order or shipping\n promotions. For price adjustments generated by product promotions, this\n value represents the number of units of the parent product line item to\n which the adjustment applies. Because promotions may have a maximum\n number of applications this value may be less than the product line item\n quantity.\n \n For custom price adjustments, not generated by the promotions engine,\n this method always returns 0.",
              "deprecated": false,
              "type": "property"
            },
            "reasonCode": {
              "name": "reasonCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The reason code of the price adjustment. The list of available\n reason codes is editable system meta-data. An example for using the\n reason code is that in a call center application the CSR will explain\n why he gave a discount to the customer.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getABTest": {
              "name": "getABTest",
              "args": [],
              "class": {
                "name": "ABTest",
                "description": "the B2C Commerce AB-test the price adjustment was based on, or null if it was not based on an AB-test."
              },
              "description": "Returns the B2C Commerce AB-test this price adjustment is associated with. The associated AB-test is determined\n from the ABTestID attribute which is set by the promotions engine when applying discounts.\n \n If the AB-test has been removed from the system since this price adjustment was created, this method returns\n null. This method always returns null for custom price adjustments.",
              "deprecated": false
            },
            "getABTestID": {
              "name": "getABTestID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of related AB-test, or null."
              },
              "description": "Returns the ID of the AB-test related to this price adjustment.",
              "deprecated": false
            },
            "getABTestSegment": {
              "name": "getABTestSegment",
              "args": [],
              "class": {
                "name": "ABTestSegment",
                "description": "the B2C Commerce AB-test segment the price adjustment was based on, or null if it was not based on an AB-test."
              },
              "description": "Returns the B2C Commerce AB-test segment this price adjustment is associated with. The associated AB-test segment\n is determined from the ABTestSegmentID attribute which is set by the promotions engine when applying discounts.\n \n If the AB-test, or this segment, has been removed from the system since this price adjustment was created, this\n method returns null. This method always returns null for custom price adjustments.",
              "deprecated": false
            },
            "getABTestSegmentID": {
              "name": "getABTestSegmentID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of related AB-test segment, or null."
              },
              "description": "Returns the ID of the AB-test segment related to this price adjustment.",
              "deprecated": false
            },
            "getAppliedDiscount": {
              "name": "getAppliedDiscount",
              "args": [],
              "class": {
                "name": "Discount",
                "description": "null or the discount applied"
              },
              "description": "A Discount instance describing the discount applied to\n obtain this price-adjustment. This method only returns a non-null value\n if the price-adjustment was created\n \n when a discount-plan was applied to a basket, or\n as a custom price-adjustment using one of the methods\n ProductLineItem.createPriceAdjustment(String, Discount),\n ShippingLineItem.createShippingPriceAdjustment(String, Discount)\n or LineItemCtnr.createPriceAdjustment(String, Discount).\n \n \n  Note an instance of the Discount subclasses is\n returned, such as AmountDiscount or\n PriceBookPriceDiscount, use\n Discount.getType() and the constants in\n Discount to distinguish between types. Each subclass\n provides access to specific properties.",
              "deprecated": false
            },
            "getCampaign": {
              "name": "getCampaign",
              "args": [],
              "class": {
                "name": "Campaign",
                "description": "the B2C Commerce campaign the price adjustment was based on, or null if it was not based on a campaign."
              },
              "description": "Returns the B2C Commerce campaign this price adjustment is associated with. The associated campaign is determined\n from the campaignID attribute which is set by the promotions engine when applying discounts.\n \n If the campaign has been removed from the system since this price adjustment was created, this method returns\n null. This method always returns null for custom price adjustments.\n \n Note: If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then a Campaign\n object will be returned, but it is a mock implementation, and not a true Campaign. This behavior is required for\n backwards compatibility and should not be relied upon as it may change in future releases.",
              "deprecated": false
            },
            "getCampaignID": {
              "name": "getCampaignID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the B2C Commerce campaign the price adjustment was based on, or null if it was not based on a campaign."
              },
              "description": "Returns the ID of the campaign the price adjustment was based on.\n \n Note:If the price adjustment was generated by a B2C Commerce promotion as part of an AB-test, then an ID will be\n returned but it is not the ID of a true campaign. This behavior is required for backwards compatibility and\n should not be relied upon as it may change in future releases.",
              "deprecated": false
            },
            "getCouponLineItem": {
              "name": "getCouponLineItem",
              "args": [],
              "class": {
                "name": "CouponLineItem",
                "description": "Coupon line item or null."
              },
              "description": "Returns the coupon line item related to this price adjustment.\n If the price adjustment is not based on a coupon, null is returned.",
              "deprecated": false
            },
            "getCreatedBy": {
              "name": "getCreatedBy",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the user who created the price adjustment"
              },
              "description": "Returns the name of the user who created the price adjustment.\n This method returns a value if the price-adjustment was\n created as a custom price-adjustment using one of the methods\n ProductLineItem.createPriceAdjustment(String, Discount),\n ShippingLineItem.createShippingPriceAdjustment(String, Discount)\n or LineItemCtnr.createPriceAdjustment(String, Discount).\n \n If an agent user has created the price adjustment, the agent user's name\n is returned. Otherwise \"Customer\" is returned.",
              "deprecated": false
            },
            "getPromotion": {
              "name": "getPromotion",
              "args": [],
              "class": {
                "name": "Promotion",
                "description": "the associated promotion, or null."
              },
              "description": "Returns the promotion associated with this price adjustment. The\n associated promotion is determined from the promotionID and campaignID\n attributes which are set by the promotions engine when applying\n discounts. Alternatively if the promotion applied as part of an AB-test,\n then the associated promotion is determined from the promotionID\n attribute and the hidden attributes, abTestID and abTestGroupID.\n \n If the promotion has been removed from the system since this price\n adjustment was created, or if the promotion still exists but is not\n assigned to any campaign or AB-test, this method returns null. If the\n promotion has been reassigned to a different campaign or AB-test since\n this price adjustment was created, then the system will return an\n appropriate Promotion instance. This method always returns null for\n custom price adjustments.",
              "deprecated": false
            },
            "getPromotionID": {
              "name": "getPromotionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of related promotion."
              },
              "description": "Returns the ID of the promotion related to this price adjustment.",
              "deprecated": false
            },
            "getProratedPrices": {
              "name": "getProratedPrices",
              "args": [],
              "class": {
                "name": "Map",
                "description": "map of ProductLineItems to Money instances representing the product line items across which this price adjustment is prorated and the portion of this adjustment which applies towards each."
              },
              "description": "Returns a map representing the product line items to which this price\n adjustment is \"related\" (in the sense defined below) and the portion of\n this adjustment's price which applies to each after discount prorating is\n performed. This information is sometimes useful to display in the\n storefront but is more often useful for integrating with backend\n order-management and accounting systems which require all discounts to be\n itemized.\n \n The definition of \"related\" product line items depends on the type of\n promotion which generated this price adjustment:\n\n \n For order promotions, price adjustments are prorated across all\n product line items which are not explicitly excluded by the promotion.\n Custom order price adjustments apply to all items in the LineItemCtnr.\n For Buy-X-Get-Y product promotions, price adjustments are prorated\n across all items all product line items that are involved in the\n promotion, meaning that the PLI has one or more items contributing to the\n qualifying product count (i.e. the item is one of the X) or receiving the\n discount (i.e. the item is one of the Y).\n Other product promotions are not prorated and simply adjust the\n parent product line item, and so the returned map is of size 1.\n For shipping promotions, this method returns an empty map.\n \n\n Buy-X-Get-Y product promotions are prorated as follows: Each price\n adjustment generated by the promotion is sequentially prorated upon the\n related items according to the items' adjusted prices after all non-BOGO\n product promotions are considered, but before order promotions are\n considered.\n \n Order promotions are prorated sequentially upon non-excluded items\n according to the order in which they applied during promotion processing.\n \n The values in the map are inclusive of tax if this price adjustment is\n based on gross pricing, and exclusive of tax otherwise. The sum of the\n prorated prices always equals the price of this price adjustment.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The number of items this price adjustment applies to."
              },
              "description": "Returns the number of items this price adjustment applies to. This value\n is always equal to 1 for price adjustments generated by order or shipping\n promotions. For price adjustments generated by product promotions, this\n value represents the number of units of the parent product line item to\n which the adjustment applies. Because promotions may have a maximum\n number of applications this value may be less than the product line item\n quantity.\n \n For custom price adjustments, not generated by the promotions engine,\n this method always returns 0.",
              "deprecated": false
            },
            "getReasonCode": {
              "name": "getReasonCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "reason code of the price adjustment"
              },
              "description": "Returns the reason code of the price adjustment. The list of available\n reason codes is editable system meta-data. An example for using the\n reason code is that in a call center application the CSR will explain\n why he gave a discount to the customer.",
              "deprecated": false
            },
            "isBasedOnABTest": {
              "name": "isBasedOnABTest",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the price adjustment was generated by the B2C Commerce promotions engine when applying a promotion assigned to an AB-test, false otherwise."
              },
              "description": "Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a\n promotion assigned to an AB-test.",
              "deprecated": false
            },
            "isBasedOnCampaign": {
              "name": "isBasedOnCampaign",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the price adjustment was generated by the B2C Commerce promotions engine, false otherwise."
              },
              "description": "Returns true if the price adjustment was generated by the B2C Commerce promotions engine when applying a\n promotion assigned to a Campaign or an AB-test.",
              "deprecated": true
            },
            "isBasedOnCoupon": {
              "name": "isBasedOnCoupon",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the promotion line item results from a coupon, false otherwise."
              },
              "description": "Identifies if the promotion line item results from a coupon.",
              "deprecated": false
            },
            "isCustom": {
              "name": "isCustom",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this PriceAdjustment was created by custom script code, or false if it was created by B2C Commerce promotions engine."
              },
              "description": "Returns true if this PriceAdjustment was created by custom script code.",
              "deprecated": false
            },
            "isManual": {
              "name": "isManual",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this PriceAdjustment was added manually by a user, otherwise - false"
              },
              "description": "Returns true if this PriceAdjustment was added manually by a user.\n \n A manual PriceAdjustment is one which has been added as a result of\n a user interaction e.g. by a user editing an order.\n \n A non-manual PriceAdjustment is one which has been added for a different\n reason, e.g. by custom logic which automatically adjusts the price of\n particular products when certain conditions are met.",
              "deprecated": false
            },
            "setManual": {
              "name": "setManual",
              "args": [
                {
                  "name": "aFlag",
                  "description": "the manual flag to set",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Marks the current PriceAdjustment as manual/non-manual.\n \n Note that only custom PriceAdjustment can be marked as manual/non-manual.\n \n A manual PriceAdjustment is one which has been added as a result of\n a user interaction e.g. by a user editing an order.\n \n A non-manual PriceAdjustment is one which has been added for a different\n reason, e.g. by custom logic which automatically adjusts the price of\n particular products when certain conditions are met.",
              "deprecated": false
            },
            "setReasonCode": {
              "name": "setReasonCode",
              "args": [
                {
                  "name": "reasonCode",
                  "description": "reason code",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the reason code, using the internal non-localizable value. Standard values are 'PRICE_MATCH',\n 'BACKORDER' and 'EVEN_EXCHANGE', but the available list is editable system meta-data.",
              "deprecated": false
            }
          }
        },
        "PriceAdjustmentLimitTypes": {
          "fullClassName": "dw.order.PriceAdjustmentLimitTypes",
          "package": "dw.order",
          "description": "Helper class containing price adjustment limit types.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "TYPE_ITEM": {
              "name": "TYPE_ITEM",
              "value": "\"ITEM\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Price Adjustment Limit Type Item.\n The price adjustment limit was created at the item level.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_ORDER": {
              "name": "TYPE_ORDER",
              "value": "\"ORDER\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Price Adjustment Limit Type Order.\n The price adjustment limit was created at the order level.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SHIPPING": {
              "name": "TYPE_SHIPPING",
              "value": "\"SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Price Adjustment Limit Type Shipping.\n The price adjustment limit was created at the shipping item level.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "ProductLineItem": {
          "fullClassName": "dw.order.ProductLineItem",
          "package": "dw.order",
          "description": "Represents a specific product line item.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItem"
            }
          ],
          "constants": {},
          "properties": {
            "adjustedGrossPrice": {
              "name": "adjustedGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The gross price of the product line item after applying all product-level\n adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedNetPrice": {
              "name": "adjustedNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The net price of the product line item after applying all product-level\n adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedPrice": {
              "name": "adjustedPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The price of the product line item after applying all product-level\n adjustments. For net pricing the adjusted net price is returned\n (see getAdjustedNetPrice()). For gross pricing, the adjusted\n gross price is returned (see getAdjustedGrossPrice()).",
              "deprecated": false,
              "type": "property"
            },
            "adjustedTax": {
              "name": "adjustedTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The tax of the unit after applying adjustments, in the purchase currency.",
              "deprecated": false,
              "type": "property"
            },
            "bonusDiscountLineItem": {
              "name": "bonusDiscountLineItem",
              "class": {
                "name": "BonusDiscountLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The parent bonus discount line item of this line item.  Only\n bonus product line items that have been selected by the customer as\n part of a BONUS_CHOICE discount have one of these.",
              "deprecated": false,
              "type": "property"
            },
            "bonusProductLineItem": {
              "name": "bonusProductLineItem",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product line item represents a bonus line item.",
              "deprecated": false,
              "type": "property"
            },
            "bundledProductLineItem": {
              "name": "bundledProductLineItem",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product line item represents a bundled line item.",
              "deprecated": false,
              "type": "property"
            },
            "bundledProductLineItems": {
              "name": "bundledProductLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing the bundled product line items.",
              "deprecated": false,
              "type": "property"
            },
            "catalogProduct": {
              "name": "catalogProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the product line item represents a catalog product.\n \n That flag is determined during product line item creation with\n LineItemCtnr.createProductLineItem(String, Shipment), stored at the line item container and can\n be accessed as productLineItem.catalogProduct. It represents what can be evaluated with\n\n  dw.catalog.ProductMgr.getProduct( productID ) != null\n     && dw.catalog.ProductMgr.getProduct( productID ).isAssignedToSiteCatalog()\n \n\n If the product is not available during product line item creation it is considered a non catalog product line item without\n connection to a product.",
              "deprecated": false,
              "type": "property"
            },
            "category": {
              "name": "category",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": false,
              "description": "The category the product line item is associated with. If the\n line item is not associated with a category, or the category does not\n exist in the site catalog, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "categoryID": {
              "name": "categoryID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The ID of the category the product line item is associated with.",
              "deprecated": false,
              "type": "property"
            },
            "externalLineItemStatus": {
              "name": "externalLineItemStatus",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The value set for the external line item status\n or null if no value set.",
              "deprecated": false,
              "type": "property"
            },
            "externalLineItemText": {
              "name": "externalLineItemText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The value set for the external line item text\n or null if no value set.",
              "deprecated": false,
              "type": "property"
            },
            "gift": {
              "name": "gift",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Returns true if this line item represents a gift, false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "giftMessage": {
              "name": "giftMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The value set for gift message or null if no value set.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerName": {
              "name": "manufacturerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the manfacturer of the product.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerSKU": {
              "name": "manufacturerSKU",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the manfacturer's SKU of this product line item.",
              "deprecated": false,
              "type": "property"
            },
            "minOrderQuantity": {
              "name": "minOrderQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The minimal order quantity allowed for the product represented by the\n ProductLineItem (copied from product on initialization).\n Note: the quantity of a ProductLineItem must obey the limits set by the\n ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.\n for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values\n 2.0, 4.5, 7.0... are allowed values.",
              "deprecated": false,
              "type": "property"
            },
            "minOrderQuantityValue": {
              "name": "minOrderQuantityValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "Return the value portion of getMinOrderQuantity().",
              "deprecated": false,
              "type": "property"
            },
            "optionID": {
              "name": "optionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product option this product line item\n represents. If the product line item does not represent an option,\n null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "optionModel": {
              "name": "optionModel",
              "class": {
                "name": "ProductOptionModel"
              },
              "static": false,
              "readonly": true,
              "description": "The product option model for a product line item representing an option product.\n \n The returned option model has preselected values based on the dependent option line items of this product line\n item. Null is returned if this line item does not represent an option product.",
              "deprecated": false,
              "type": "property"
            },
            "optionProductLineItem": {
              "name": "optionProductLineItem",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the product line item represents an option line item.\n Option line items do not represent true products but rather options of\n products.  An option line item always has a parent product line item\n representing a true product.",
              "deprecated": false,
              "type": "property"
            },
            "optionProductLineItems": {
              "name": "optionProductLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing option product line items.",
              "deprecated": false,
              "type": "property"
            },
            "optionValueID": {
              "name": "optionValueID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product option value this product line item\n represents. If the product line item does not represent an option,\n null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "orderItem": {
              "name": "orderItem",
              "class": {
                "name": "OrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "The  order-item extension for this item, or null. An order-item\n extension will only exist for a ProductLineItem which belongs to an Order.\n \n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.",
              "deprecated": false,
              "type": "property"
            },
            "parent": {
              "name": "parent",
              "class": {
                "name": "ProductLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The parent line item of this line item or null if the line item\n is independent.",
              "deprecated": false,
              "type": "property"
            },
            "position": {
              "name": "position",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The position within the line item container assigned to the ProductLineItem upon its creation, may be\n used as a sort-order.\n \n The position is updated in the following way:\n \n When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the\n current count\n When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called,\n so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem\n having the same position.\n When a LineItemCtnr is copied (e.g. when a PlacedOrder is created from a Basket), no special position\n handling is necessary as the ProductLineItems are added according to their current position ordering in the\n source LineItemCtnr.",
              "deprecated": false,
              "type": "property"
            },
            "priceAdjustments": {
              "name": "priceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "An iterator of price adjustments that have been applied to this\n product line item such as promotions on the purchase price\n (i.e. $10 Off or 10% Off).",
              "deprecated": false,
              "type": "property"
            },
            "product": {
              "name": "product",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The product associated with the product line item.\n \n The product line item might not be related to an actual catalog product, for example if it represents an option,\n or was not created from a catalog product, or if the product does not exist in the catalog anymore. In these\n cases, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "productID": {
              "name": "productID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the related product.\n \n Returns empty if no product is related.",
              "deprecated": false,
              "type": "property"
            },
            "productInventoryList": {
              "name": "productInventoryList",
              "class": {
                "name": "ProductInventoryList"
              },
              "static": false,
              "readonly": false,
              "description": "The inventory list the product line item is associated with. If the\n line item is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "productInventoryListID": {
              "name": "productInventoryListID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The ID of the inventory list the product line item is associated with.",
              "deprecated": false,
              "type": "property"
            },
            "productListItem": {
              "name": "productListItem",
              "class": {
                "name": "ProductListItem"
              },
              "static": false,
              "readonly": true,
              "description": "The associated ProductListItem.",
              "deprecated": false,
              "type": "property"
            },
            "productName": {
              "name": "productName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the product that was copied when\n product was added to line item container.",
              "deprecated": false,
              "type": "property"
            },
            "proratedPrice": {
              "name": "proratedPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The price of this product line item after considering all\n dependent price adjustments and prorating all Buy-X-Get-Y\n and order-level discounts, according to the scheme described in\n PriceAdjustment.getProratedPrices(). For net pricing the\n net price is returned. For gross pricing, the gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "proratedPriceAdjustmentPrices": {
              "name": "proratedPriceAdjustmentPrices",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "A Map of PriceAdjustment to Money instances. They keys to this\n map are the price adjustments that apply to this ProductLineItem either\n directly or indirectly when discounts are prorated according to the\n scheme described in PriceAdjustment.getProratedPrices().\n The values in the map are the portion of the adjustment which applies to\n this particular product line item.",
              "deprecated": false,
              "type": "property"
            },
            "qualifyingProductLineItemForBonusProduct": {
              "name": "qualifyingProductLineItemForBonusProduct",
              "class": {
                "name": "ProductLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductLineItem that qualified the basket for this bonus product.\n \n This method is only applicable if the product line item is a bonus product line item, and if the promotion is a\n product promotion with number of qualifying products granting a bonus-product discount. If these conditions\n aren't met, the method returns null. If there are multiple product line items that triggered this bonus product,\n this method returns the last one by position within the order.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity of the product represented by this ProductLineItem.",
              "deprecated": false,
              "type": "property"
            },
            "quantityValue": {
              "name": "quantityValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The value of the quantity of this ProductLineItem.",
              "deprecated": false,
              "type": "property"
            },
            "relatedBonusProductLineItems": {
              "name": "relatedBonusProductLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All bonus product line items for which this line item is a\n qualifying product line item. This method is usually called when\n rendering the cart so that bonus products can be shown next to the\n products that triggered their creation.",
              "deprecated": false,
              "type": "property"
            },
            "reserved": {
              "name": "reserved",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns if the product line item is reserved.\n \n Reservations for the basket can be created with e.g. Basket.reserveInventory(Number).\n \n Method must only be called for basket product line items. Exception is thrown if called for order product line\n item.",
              "deprecated": false,
              "type": "property"
            },
            "shipment": {
              "name": "shipment",
              "class": {
                "name": "Shipment"
              },
              "static": false,
              "readonly": false,
              "description": "The associated Shipment.",
              "deprecated": false,
              "type": "property"
            },
            "shippingLineItem": {
              "name": "shippingLineItem",
              "class": {
                "name": "ProductShippingLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The dependent shipping line item of this line item.\n The shipping line item can define product-specific shipping\n costs for this product line item.",
              "deprecated": false,
              "type": "property"
            },
            "stepQuantity": {
              "name": "stepQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "Returns step quantity allowed for the product represented by the ProductLineItem\n (copied from product on initialization).\n Note: the quantity of a ProductLineItem must obey the limits set by the\n ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.\n for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values\n 2.0, 4.5, 7.0... are allowed values.",
              "deprecated": false,
              "type": "property"
            },
            "stepQuantityValue": {
              "name": "stepQuantityValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "Return the value portion of getStepQuantity().",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createPriceAdjustment": {
              "name": "createPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment"
              },
              "description": "Creates a product price adjustment.\n \n The price adjustment line item is being initialized with the tax class code and tax rate of the product line\n item. The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If\n there already exists a price adjustment for the same promotionID, an exception is thrown.",
              "deprecated": false
            },
            "createPriceAdjustment0": {
              "name": "createPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Unique custom promotion ID, not null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "discount",
                  "description": "The desired discount, not null",
                  "class": {
                    "name": "Discount"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new custom price adjustment"
              },
              "description": "Creates a product price adjustment representing a specific discount. The price adjustment line item is\n initialized with the tax class code and tax rate of the product line item.\n \n The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If a price\n adjustment already exists for the same promotionID, an exception is thrown.\n \n \n The possible discounts are FixedPriceDiscount, AmountDiscount,\n PercentageDiscount. Example:\n \n\n  var myProductItem : dw.order.ProductLineItem; // assume known\n var paFixedUnitPrice100 : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment(\"myPromotionID1\", new FixedPriceDiscount(100.00));\n var paTenPercent : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment(\"myPromotionID2\", new PercentageDiscount(10));\n var paReduceBy20 : dw.order.PriceAdjustment = myProductItem.createPriceAdjustment(\"myPromotionID3\", new AmountDiscount(20.00);",
              "deprecated": false
            },
            "createShippingLineItem": {
              "name": "createShippingLineItem",
              "args": [],
              "class": {
                "name": "ProductShippingLineItem",
                "description": "the created shipping line item"
              },
              "description": "Creates the dependent shipping line item for this line item.\n The shipping line item can define product-specific shipping\n costs for this product line item.\n This method has replace semantics: If there is an existing\n shipping line item it will be replaced\n with a new shipping line item.",
              "deprecated": false
            },
            "getAdjustedGrossPrice": {
              "name": "getAdjustedGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "gross price after applying product-level adjustments"
              },
              "description": "Returns the gross price of the product line item after applying all product-level\n adjustments.",
              "deprecated": false
            },
            "getAdjustedNetPrice": {
              "name": "getAdjustedNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "net price after applying product-level adjustments"
              },
              "description": "Returns the net price of the product line item after applying all product-level\n adjustments.",
              "deprecated": false
            },
            "getAdjustedPrice": {
              "name": "getAdjustedPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Adjusted net or gross price"
              },
              "description": "Returns the price of the product line item after applying all product-level\n adjustments. For net pricing the adjusted net price is returned\n (see getAdjustedNetPrice()). For gross pricing, the adjusted\n gross price is returned (see getAdjustedGrossPrice()).",
              "deprecated": false
            },
            "getAdjustedPrice0": {
              "name": "getAdjustedPrice",
              "args": [
                {
                  "name": "applyOrderLevelAdjustments",
                  "description": "If true, order-level adjustments will be applied to line item price.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "Adjusted net or gross price"
              },
              "description": "Returns the price of this product line item after considering all\n dependent price adjustments and optionally prorating all order-level\n price adjustments. For net pricing the net price is returned. For gross\n pricing, the gross price is returned.",
              "deprecated": false
            },
            "getAdjustedTax": {
              "name": "getAdjustedTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the tax of the unit after applying adjustments, in the purchase currency."
              },
              "description": "Returns the tax of the unit after applying adjustments, in the purchase currency.",
              "deprecated": false
            },
            "getBonusDiscountLineItem": {
              "name": "getBonusDiscountLineItem",
              "args": [],
              "class": {
                "name": "BonusDiscountLineItem",
                "description": "the bonus discount line item of this line item or null"
              },
              "description": "Returns the parent bonus discount line item of this line item.  Only\n bonus product line items that have been selected by the customer as\n part of a BONUS_CHOICE discount have one of these.",
              "deprecated": false
            },
            "getBundledProductLineItems": {
              "name": "getBundledProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection containing the bundled product line items."
              },
              "description": "Returns a collection containing the bundled product line items.",
              "deprecated": false
            },
            "getCategory": {
              "name": "getCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "Category or null"
              },
              "description": "Returns the category the product line item is associated with. If the\n line item is not associated with a category, or the category does not\n exist in the site catalog, the method returns null.",
              "deprecated": false
            },
            "getCategoryID": {
              "name": "getCategoryID",
              "args": [],
              "class": {
                "name": "String",
                "description": "Category ID or null."
              },
              "description": "Returns the ID of the category the product line item is associated with.",
              "deprecated": false
            },
            "getExternalLineItemStatus": {
              "name": "getExternalLineItemStatus",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value set for the external line item status or null if no value set."
              },
              "description": "Returns the value set for the external line item status\n or null if no value set.",
              "deprecated": false
            },
            "getExternalLineItemText": {
              "name": "getExternalLineItemText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value set for the external line item text or null if no value set."
              },
              "description": "Returns the value set for the external line item text\n or null if no value set.",
              "deprecated": false
            },
            "getGiftMessage": {
              "name": "getGiftMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value set for gift message or null if no value set."
              },
              "description": "Returns the value set for gift message or null if no value set.",
              "deprecated": false
            },
            "getManufacturerName": {
              "name": "getManufacturerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the manfacturer of the product."
              },
              "description": "Returns the name of the manfacturer of the product.",
              "deprecated": false
            },
            "getManufacturerSKU": {
              "name": "getManufacturerSKU",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the manfacturer's SKU of this product line item."
              },
              "description": "Returns the name of the manfacturer's SKU of this product line item.",
              "deprecated": false
            },
            "getMinOrderQuantity": {
              "name": "getMinOrderQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the minimal order quantity allowed for the product."
              },
              "description": "Returns the minimal order quantity allowed for the product represented by the\n ProductLineItem (copied from product on initialization).\n Note: the quantity of a ProductLineItem must obey the limits set by the\n ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.\n for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values\n 2.0, 4.5, 7.0... are allowed values.",
              "deprecated": false
            },
            "getMinOrderQuantityValue": {
              "name": "getMinOrderQuantityValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the minimal order quantity value allowed for the product."
              },
              "description": "Return the value portion of getMinOrderQuantity().",
              "deprecated": false
            },
            "getOptionID": {
              "name": "getOptionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product option this product line item represents."
              },
              "description": "Returns the ID of the product option this product line item\n represents. If the product line item does not represent an option,\n null is returned.",
              "deprecated": false
            },
            "getOptionModel": {
              "name": "getOptionModel",
              "args": [],
              "class": {
                "name": "ProductOptionModel",
                "description": "the product option model for a product line item representing an option product."
              },
              "description": "Returns the product option model for a product line item representing an option product.\n \n The returned option model has preselected values based on the dependent option line items of this product line\n item. Null is returned if this line item does not represent an option product.",
              "deprecated": false
            },
            "getOptionProductLineItems": {
              "name": "getOptionProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection containing option product line items."
              },
              "description": "Returns a collection containing option product line items.",
              "deprecated": false
            },
            "getOptionValueID": {
              "name": "getOptionValueID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product option value this product line item represents."
              },
              "description": "Returns the ID of the product option value this product line item\n represents. If the product line item does not represent an option,\n null is returned.",
              "deprecated": false
            },
            "getOrderItem": {
              "name": "getOrderItem",
              "args": [],
              "class": {
                "name": "OrderItem",
                "description": "null or the order-item extension"
              },
              "description": "Returns the  order-item extension for this item, or null. An order-item\n extension will only exist for a ProductLineItem which belongs to an Order.\n \n Order post-processing APIs (gillian) are now inactive by default and will throw\n an exception if accessed. Activation needs preliminary approval by Product Management.\n Please contact support in this case. Existing customers using these APIs are not\n affected by this change and can use the APIs until further notice.",
              "deprecated": false
            },
            "getParent": {
              "name": "getParent",
              "args": [],
              "class": {
                "name": "ProductLineItem",
                "description": "the parent line item of this line item or null if the line item is independent."
              },
              "description": "Returns the parent line item of this line item or null if the line item\n is independent.",
              "deprecated": false
            },
            "getPosition": {
              "name": "getPosition",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the position within the line item container assigned to the ProductLineItem upon its creation."
              },
              "description": "Returns the position within the line item container assigned to the ProductLineItem upon its creation, may be\n used as a sort-order.\n \n The position is updated in the following way:\n \n When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the\n current count\n When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called,\n so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem\n having the same position.\n When a LineItemCtnr is copied (e.g. when a PlacedOrder is created from a Basket), no special position\n handling is necessary as the ProductLineItems are added according to their current position ordering in the\n source LineItemCtnr.",
              "deprecated": false
            },
            "getPriceAdjustmentByPromotionID": {
              "name": "getPriceAdjustmentByPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The price adjustment associated with the promotion ID or null"
              },
              "description": "Returns the first price adjustment associated to the specified promotion ID. It is highly recommended to use\n getPriceAdjustmentsByPromotionID(String) instead. If there are multiple price adjustments for the same\n promotion, this method will return the first found. Alternatively, to uniquely identify a price adjustment using\n its promotion id and coupon code, use getPriceAdjustmentByPromotionIDAndCouponCode(String, String)",
              "deprecated": false
            },
            "getPriceAdjustmentByPromotionIDAndCouponCode": {
              "name": "getPriceAdjustmentByPromotionIDAndCouponCode",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "couponCode",
                  "description": "the code of the coupon used to apply the promotion, or null if the promotion is not coupon based.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The price adjustment associated with the promotion ID and coupon code combination, or null"
              },
              "description": "Returns the price adjustment associated to the specified promotion ID and coupon code combination.",
              "deprecated": false
            },
            "getPriceAdjustments": {
              "name": "getPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of price adjustments that have been applied to this product line item."
              },
              "description": "Returns an iterator of price adjustments that have been applied to this\n product line item such as promotions on the purchase price\n (i.e. $10 Off or 10% Off).",
              "deprecated": false
            },
            "getPriceAdjustmentsByPromotionID": {
              "name": "getPriceAdjustmentsByPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of price adjustments associated with the promotion ID or null if the promotionID was null. If there are no price adjustments for the passed promotion, the collection will be empty."
              },
              "description": "Returns the collection of price adjustments associated to the specified promotion ID. If only one coupon code is\n allowed per order, then the collection should only ever have a single entry in it. The multiple coupon code\n feature can cause multiple price adjustments to be returned.",
              "deprecated": false
            },
            "getProduct": {
              "name": "getProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the product of the line item, or null"
              },
              "description": "Returns the product associated with the product line item.\n \n The product line item might not be related to an actual catalog product, for example if it represents an option,\n or was not created from a catalog product, or if the product does not exist in the catalog anymore. In these\n cases, the method returns null.",
              "deprecated": false
            },
            "getProductID": {
              "name": "getProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the related product."
              },
              "description": "Returns the ID of the related product.\n \n Returns empty if no product is related.",
              "deprecated": false
            },
            "getProductInventoryList": {
              "name": "getProductInventoryList",
              "args": [],
              "class": {
                "name": "ProductInventoryList",
                "description": "ProductInventoryList or null"
              },
              "description": "Returns the inventory list the product line item is associated with. If the\n line item is not associated with a inventory list, or the inventory list does not\n exist, the method returns null.",
              "deprecated": false
            },
            "getProductInventoryListID": {
              "name": "getProductInventoryListID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ProductInventoryList ID or null."
              },
              "description": "Returns the ID of the inventory list the product line item is associated with.",
              "deprecated": false
            },
            "getProductListItem": {
              "name": "getProductListItem",
              "args": [],
              "class": {
                "name": "ProductListItem",
                "description": "item or null."
              },
              "description": "Returns the associated ProductListItem.",
              "deprecated": false
            },
            "getProductName": {
              "name": "getProductName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the product."
              },
              "description": "Returns the name of the product that was copied when\n product was added to line item container.",
              "deprecated": false
            },
            "getProratedPrice": {
              "name": "getProratedPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Adjusted and prorated net or gross price"
              },
              "description": "Returns the price of this product line item after considering all\n dependent price adjustments and prorating all Buy-X-Get-Y\n and order-level discounts, according to the scheme described in\n PriceAdjustment.getProratedPrices(). For net pricing the\n net price is returned. For gross pricing, the gross price is returned.",
              "deprecated": false
            },
            "getProratedPriceAdjustmentPrices": {
              "name": "getProratedPriceAdjustmentPrices",
              "args": [],
              "class": {
                "name": "Map",
                "description": "Map of PriceAdjustment to Money instances, representing the prorated adjustments applied to this ProductLineItem."
              },
              "description": "Returns a Map of PriceAdjustment to Money instances. They keys to this\n map are the price adjustments that apply to this ProductLineItem either\n directly or indirectly when discounts are prorated according to the\n scheme described in PriceAdjustment.getProratedPrices().\n The values in the map are the portion of the adjustment which applies to\n this particular product line item.",
              "deprecated": false
            },
            "getQualifyingProductLineItemForBonusProduct": {
              "name": "getQualifyingProductLineItemForBonusProduct",
              "args": [],
              "class": {
                "name": "ProductLineItem",
                "description": "the ProductLineItem that qualified the basket for this bonus product. Returns null if this is not a bonus product, or if there was no distinct qualifying product."
              },
              "description": "Returns the ProductLineItem that qualified the basket for this bonus product.\n \n This method is only applicable if the product line item is a bonus product line item, and if the promotion is a\n product promotion with number of qualifying products granting a bonus-product discount. If these conditions\n aren't met, the method returns null. If there are multiple product line items that triggered this bonus product,\n this method returns the last one by position within the order.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity of the product."
              },
              "description": "Returns the quantity of the product represented by this ProductLineItem.",
              "deprecated": false
            },
            "getQuantityValue": {
              "name": "getQuantityValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "quantity value of product line item"
              },
              "description": "Returns the value of the quantity of this ProductLineItem.",
              "deprecated": false
            },
            "getRelatedBonusProductLineItems": {
              "name": "getRelatedBonusProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the bonus product line items triggered by the addition of this product to the cart."
              },
              "description": "Returns all bonus product line items for which this line item is a\n qualifying product line item. This method is usually called when\n rendering the cart so that bonus products can be shown next to the\n products that triggered their creation.",
              "deprecated": false
            },
            "getShipment": {
              "name": "getShipment",
              "args": [],
              "class": {
                "name": "Shipment",
                "description": "The shipment of the product line item"
              },
              "description": "Returns the associated Shipment.",
              "deprecated": false
            },
            "getShippingLineItem": {
              "name": "getShippingLineItem",
              "args": [],
              "class": {
                "name": "ProductShippingLineItem",
                "description": "the shipping line item of this line item or null"
              },
              "description": "Returns the dependent shipping line item of this line item.\n The shipping line item can define product-specific shipping\n costs for this product line item.",
              "deprecated": false
            },
            "getStepQuantity": {
              "name": "getStepQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "step quantity allowed for the product."
              },
              "description": "Returns step quantity allowed for the product represented by the ProductLineItem\n (copied from product on initialization).\n Note: the quantity of a ProductLineItem must obey the limits set by the\n ProductLineItem's attributes 'MinOrderQuantity' and 'StepQuantity', i.e.\n for a 'MinOrderQuantity' of 2.0 and a 'StepQuantity' of 2.5 then values\n 2.0, 4.5, 7.0... are allowed values.",
              "deprecated": false
            },
            "getStepQuantityValue": {
              "name": "getStepQuantityValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "step quantity value allowed for the product."
              },
              "description": "Return the value portion of getStepQuantity().",
              "deprecated": false
            },
            "isBonusProductLineItem": {
              "name": "isBonusProductLineItem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product line item represents a bonus line item, false otherwise."
              },
              "description": "Identifies if the product line item represents a bonus line item.",
              "deprecated": false
            },
            "isBundledProductLineItem": {
              "name": "isBundledProductLineItem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product line item represents a bundled line item."
              },
              "description": "Identifies if the product line item represents a bundled line item.",
              "deprecated": false
            },
            "isCatalogProduct": {
              "name": "isCatalogProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if product line item represents catalog product, otherwise false"
              },
              "description": "Returns true if the product line item represents a catalog product.\n \n That flag is determined during product line item creation with\n LineItemCtnr.createProductLineItem(String, Shipment), stored at the line item container and can\n be accessed as productLineItem.catalogProduct. It represents what can be evaluated with\n\n  dw.catalog.ProductMgr.getProduct( productID ) != null\n     && dw.catalog.ProductMgr.getProduct( productID ).isAssignedToSiteCatalog()\n \n\n If the product is not available during product line item creation it is considered a non catalog product line item without\n connection to a product.",
              "deprecated": false
            },
            "isGift": {
              "name": "isGift",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this line item represents a gift, false otherwise."
              },
              "description": "Returns true if this line item represents a gift, false otherwise.",
              "deprecated": false
            },
            "isOptionProductLineItem": {
              "name": "isOptionProductLineItem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the product line item represents an option line item, false otherwise."
              },
              "description": "Identifies if the product line item represents an option line item.\n Option line items do not represent true products but rather options of\n products.  An option line item always has a parent product line item\n representing a true product.",
              "deprecated": false
            },
            "isReserved": {
              "name": "isReserved",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if line item is reserved, false otherwise."
              },
              "description": "Returns if the product line item is reserved.\n \n Reservations for the basket can be created with e.g. Basket.reserveInventory(Number).\n \n Method must only be called for basket product line items. Exception is thrown if called for order product line\n item.",
              "deprecated": false
            },
            "removePriceAdjustment": {
              "name": "removePriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustmentLineItem",
                  "description": "The price adjustment to remove",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified price adjustment from the product line item.",
              "deprecated": false
            },
            "removeShippingLineItem": {
              "name": "removeShippingLineItem",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the dependent shipping line item for this line item.",
              "deprecated": false
            },
            "replaceProduct": {
              "name": "replaceProduct",
              "args": [
                {
                  "name": "newProduct",
                  "description": "The new product of the product line item",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Replaces the current product of the product line item with the product specified in parameter newProduct.\n \n The following rules apply:\n \n Preserve line item attributes UUID, Quantity, CategoryID, ExternalLineItemStatus, ExternalLineItemText,\n isGift, GiftMessage, Position, Parent, Shipment\n Replace product-specific attributes ProductID, ProductName, MinOrderQuantity, StepQuantity, ManufacturerName,\n ManufacturerSKU\n Remove all price adjustments related to the product line item\n Remove the shipping line item related to the product line item\n Remove all bundled line items of current product, and add bundled line items if new product is a bundle\n Remove all option line items of current product, and add option line items if new product is an option\n product; use default option selections\n Set all price attributes to N/A\n Preserve all custom attributes of line item, but override order-required attributes with values from new\n product\n \n \n \n The primary use is to replace one variation product with another, without having to both create a new line item\n for the replacement and remove the line item for the replaced product.",
              "deprecated": false
            },
            "setCategory": {
              "name": "setCategory",
              "args": [
                {
                  "name": "category",
                  "description": "Category instance or null",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the specified category as the product line item category context.",
              "deprecated": false
            },
            "setCategoryID": {
              "name": "setCategoryID",
              "args": [
                {
                  "name": "categoryID",
                  "description": "the Category ID or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the ID of the category the product line item is associated with.",
              "deprecated": false
            },
            "setExternalLineItemStatus": {
              "name": "setExternalLineItemStatus",
              "args": [
                {
                  "name": "status",
                  "description": "the value to set for the external line item status.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value to set for the external line item status.",
              "deprecated": false
            },
            "setExternalLineItemText": {
              "name": "setExternalLineItemText",
              "args": [
                {
                  "name": "text",
                  "description": "the value to set for the external line item text.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value to set for the external line item text.",
              "deprecated": false
            },
            "setGift": {
              "name": "setGift",
              "args": [
                {
                  "name": "isGift",
                  "description": "set to true if you want this line item to represent a gift.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Controls if this line item is a gift or not.",
              "deprecated": false
            },
            "setGiftMessage": {
              "name": "setGiftMessage",
              "args": [
                {
                  "name": "message",
                  "description": "the value to set for the gift message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value to set for the gift message.",
              "deprecated": false
            },
            "setManufacturerName": {
              "name": "setManufacturerName",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the manfacturer of this product",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the manufacturer of this product.",
              "deprecated": false
            },
            "setManufacturerSKU": {
              "name": "setManufacturerSKU",
              "args": [
                {
                  "name": "sku",
                  "description": "The SKU of the manfacturer of this product",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the SKU of the manufacturer of this product.",
              "deprecated": false
            },
            "setMinOrderQuantityValue": {
              "name": "setMinOrderQuantityValue",
              "args": [
                {
                  "name": "quantityValue",
                  "description": "The minimal order quantity allowed for the product or null.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the minimum order quantity value for this object.\n \n This will be used to validate and adjust quantities when setQuantityValue() is called. For typical catalog\n product line items, it is usually desirable to have this value inherited from the product attributes, but for\n non-catalog products, it is sometimes desirable to set this value programmatically.\n \n \n Null is accepted and represents Quantity.NA. Otherwise, the quantity value must be > 0.",
              "deprecated": false
            },
            "setPosition": {
              "name": "setPosition",
              "args": [
                {
                  "name": "aValue",
                  "description": "the position within the line item container.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the position within the line item container. This value may be used as a sort-order.\n \n The position is updated in the following way:\n \n When a ProductLineItem is added to the LineItemCtnr, it is assigned the next available position, based on the\n current count\n When a ProductLineItem is removed from the LineItemCtnr then LineItemCtnr method reassignPositions is called,\n so that the 'gap' left by the removed line-item is refilled. This method is dependent on no 2 ProductLineItem\n having the same position.\n When a LineItemCtnr is copied (e.g. when an Order is created from a Basket), no special position handling is\n necessary as the ProductLineItems are added according to their current position ordering in the source\n LineItemCtnr.",
              "deprecated": false
            },
            "setPriceValue": {
              "name": "setPriceValue",
              "args": [
                {
                  "name": "value",
                  "description": "Price value or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets price attributes of the line item based on the current\n purchase currency, taxation policy and line item quantity.\n \n The method sets the 'basePrice' attribute of the line item.\n Additionally, it sets the 'netPrice' attribute of the line item\n if the current taxation policy is 'net', and the 'grossPrice'\n attribute, if the current taxation policy is 'gross'. The\n 'netPrice'/'grossPrice' attributes are set by multiplying the\n specified price value with the line item quantity.\n \n \n If null is specified as value, the price attributes are reset to\n Money.NA.",
              "deprecated": false
            },
            "setProductInventoryList": {
              "name": "setProductInventoryList",
              "args": [
                {
                  "name": "productInventoryList",
                  "description": "ProductInventoryList instance or null",
                  "class": {
                    "name": "ProductInventoryList"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the specified inventory list as the product line item inventory context.",
              "deprecated": false
            },
            "setProductInventoryListID": {
              "name": "setProductInventoryListID",
              "args": [
                {
                  "name": "productInventoryListID",
                  "description": "the ProductInventoryList ID or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the ID of the inventory list the product line item is associated with.",
              "deprecated": false
            },
            "setProductName": {
              "name": "setProductName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the name of the product.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the product.",
              "deprecated": false
            },
            "setQuantityValue": {
              "name": "setQuantityValue",
              "args": [
                {
                  "name": "quantityValue",
                  "description": "Quantity value.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the quantity value of the product line item.\n \n Validates the specified quantity value against the line item's min order and step quantity and adjusts it if\n necessary. In particular, if 0 is passed, then the value will be adjusted to the min order quantity, not removed\n from the line item container.\n \n \n Null values or values < 0.0 are not accepted.",
              "deprecated": false
            },
            "setShipment": {
              "name": "setShipment",
              "args": [
                {
                  "name": "shipment",
                  "description": "The new shipment of the product line item",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Associates the specified product line item with the specified shipment.\n \n The method is only applicable for independent product line items. If called for any dependent line item (option\n or bundled line item), the method will throw an exception. The shipment for all dependent line items will be\n updated automatically by the method. Product line item and shipment must belong to the same line item ctnr.",
              "deprecated": false
            },
            "setStepQuantityValue": {
              "name": "setStepQuantityValue",
              "args": [
                {
                  "name": "quantityValue",
                  "description": "The minimal order quantity allowed for the product or null.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the step quantity value for this object.\n \n This will be used to validate and adjust quantities when updateQuantity() is called. For typical catalog product\n line items, it is usually desirable to have this value inherited from the product attributes, but for non-catalog\n products, it is sometimes desirable to set this value programmatically.\n \n \n Null is accepted and represents Quantity.NA. Otherwise, the quantity value must be > 0.",
              "deprecated": false
            },
            "updateOptionPrice": {
              "name": "updateOptionPrice",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Determines and sets the price of a option line item based on the\n selected option value the line item represents.",
              "deprecated": false
            },
            "updateOptionValue": {
              "name": "updateOptionValue",
              "args": [
                {
                  "name": "optionValue",
                  "description": "The value to update the option line item with",
                  "class": {
                    "name": "ProductOptionValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates an option line item with a new option value.\n\n This method will not do anything if the current line item is no\n option line item, if the specified value does not exist for the\n current option or if this value is already selected.\n\n Note, that this method will update the attributes optionValueID,\n productID, productName and lineItemText. It will not update the price\n attributes of the line item. To update the price of the line item you\n need to call updateOptionPrice() in addition. This is\n usually done during calculation in the calculate hook.",
              "deprecated": false
            },
            "updatePrice": {
              "name": "updatePrice",
              "args": [
                {
                  "name": "price",
                  "description": "The price to use when performing the update. This price must not be null and must either be equal to NOT_AVAIALBLE or must have a currency code equal to that of the parent container.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the price attributes of the line item based\n on the specified price.  The base price is set to the specified\n value.  If the line item is based on net pricing then the net price\n attribute is set.  If the line item is based on  gross pricing then the\n gross price attribute is set.  Whether or not a line item is based\n on net or gross pricing is a site-wide configuration parameter.\n In either case, this price is equal to the product of the base price\n and the quantity of this line item in its container.",
              "deprecated": true
            },
            "updateQuantity": {
              "name": "updateQuantity",
              "args": [
                {
                  "name": "quantityValue",
                  "description": "Numeric quantity value.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "Adjusted quantity value"
              },
              "description": "Updates the quantity value of the product line item and all its dependent product line items.\n \n Validates the specified quantity value against the line item's min order and step quantity and adjusts it if\n necessary. The adjusted quantity value is returned.\n \n \n In general, quantity values < 0.0 are not accepted.",
              "deprecated": true
            }
          }
        },
        "TrackingInfo": {
          "fullClassName": "dw.order.TrackingInfo",
          "package": "dw.order",
          "description": "Provides basic information about a tracking info. An instance is identified by an ID and can be referenced from n ShippingOrderItems\n using <a href=\"class_dw_order_TrackingRef.html\">TrackingRef</a>s. This also allows one <a href=\"class_dw_order_ShippingOrderItem.html\">ShippingOrderItem</a> to be associated with n TrackingInfo.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.Extensible"
            }
          ],
          "constants": {},
          "properties": {
            "carrier": {
              "name": "carrier",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Get the Carrier.",
              "deprecated": false,
              "type": "property"
            },
            "carrierService": {
              "name": "carrierService",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Get the service(ship method) of the used carrier.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the mandatory identifier for this tracking information. The id allows the tracking information to be referenced from\n TrackingRefs. To support short shipping a shipping-order-item can manage a list of\n TrackingRefs, each with an optional quantity value allowing individual items to ship in multiple\n parcels with known item quantity in each.",
              "deprecated": false,
              "type": "property"
            },
            "shipDate": {
              "name": "shipDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "Get the ship date.",
              "deprecated": false,
              "type": "property"
            },
            "shippingOrder": {
              "name": "shippingOrder",
              "class": {
                "name": "ShippingOrder"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the shipping order.",
              "deprecated": false,
              "type": "property"
            },
            "trackingNumber": {
              "name": "trackingNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Get the tracking number.",
              "deprecated": false,
              "type": "property"
            },
            "trackingRefs": {
              "name": "trackingRefs",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the tracking refs (shipping order items) which are assigned to this tracking info.",
              "deprecated": false,
              "type": "property"
            },
            "warehouseID": {
              "name": "warehouseID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Get the id of the shipping warehouse.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCarrier": {
              "name": "getCarrier",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Carrier"
              },
              "description": "Get the Carrier.",
              "deprecated": false
            },
            "getCarrierService": {
              "name": "getCarrierService",
              "args": [],
              "class": {
                "name": "String",
                "description": "the carrier service (ship method)"
              },
              "description": "Get the service(ship method) of the used carrier.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the id"
              },
              "description": "Get the mandatory identifier for this tracking information. The id allows the tracking information to be referenced from\n TrackingRefs. To support short shipping a shipping-order-item can manage a list of\n TrackingRefs, each with an optional quantity value allowing individual items to ship in multiple\n parcels with known item quantity in each.",
              "deprecated": false
            },
            "getShipDate": {
              "name": "getShipDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the ship date"
              },
              "description": "Get the ship date.",
              "deprecated": false
            },
            "getShippingOrder": {
              "name": "getShippingOrder",
              "args": [],
              "class": {
                "name": "ShippingOrder",
                "description": "the shipping order"
              },
              "description": "Gets the shipping order.",
              "deprecated": false
            },
            "getTrackingNumber": {
              "name": "getTrackingNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the TrackingNumber"
              },
              "description": "Get the tracking number.",
              "deprecated": false
            },
            "getTrackingRefs": {
              "name": "getTrackingRefs",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the tracking refs (shipping order items) which are assigned to this tracking info."
              },
              "description": "Gets the tracking refs (shipping order items) which are assigned to this tracking info.",
              "deprecated": false
            },
            "getWarehouseID": {
              "name": "getWarehouseID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the id of the shipping warehouse"
              },
              "description": "Get the id of the shipping warehouse.",
              "deprecated": false
            },
            "setCarrier": {
              "name": "setCarrier",
              "args": [
                {
                  "name": "carrier",
                  "description": "the Carrier",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the Carrier.",
              "deprecated": false
            },
            "setCarrierService": {
              "name": "setCarrierService",
              "args": [
                {
                  "name": "carrierService",
                  "description": "the carrier service, eg. the ship method",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the service(ship method) of the used carrier.",
              "deprecated": false
            },
            "setShipDate": {
              "name": "setShipDate",
              "args": [
                {
                  "name": "shipDate",
                  "description": "the ship date",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the ship date.",
              "deprecated": false
            },
            "setTrackingNumber": {
              "name": "setTrackingNumber",
              "args": [
                {
                  "name": "trackingNumber",
                  "description": "the TrackingNumber",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the TrackingNumber.",
              "deprecated": false
            },
            "setWarehouseID": {
              "name": "setWarehouseID",
              "args": [
                {
                  "name": "warehouseID",
                  "description": "the id of the shipping warehouse",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the id of the shipping warehouse.",
              "deprecated": false
            }
          }
        },
        "hooks": {
          "CalculateHooks": {
            "fullClassName": "dw.order.hooks.CalculateHooks",
            "package": "dw.order.hooks",
            "description": "This interface represents all script hooks that can be registered to customize the order and basket calculation\n functionality. It contains the extension points (hook names), and the functions that are called by each extension\n point. A function must be defined inside a JavaScript source and must be exported. The script with the exported hook\n function must be located inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks'\n entry must exist.\n\n <pre> \"hooks\": \"./hooks.json\"\n </pre>\n\n The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks\n inside the hooks property:\n\n <pre> \"hooks\": [\n      {\"name\": \"dw.order.calculate\", \"script\": \"./calculate.js\"}\n ]\n </pre>\n\n A hook entry has a 'name' and a 'script' property.\n <ul>\n <li>The 'name' contains the extension point, the hook name.</li>\n <li>The 'script' contains the script relative to the hooks file, with the exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointCalculate": {
                "name": "extensionPointCalculate",
                "value": "\"dw.order.calculate\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.calculate.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointCalculateShipping": {
                "name": "extensionPointCalculateShipping",
                "value": "\"dw.order.calculateShipping\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.calculateShipping.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointCalculateTax": {
                "name": "extensionPointCalculateTax",
                "value": "\"dw.order.calculateTax\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.calculateTax.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "calculate": {
                "name": "calculate",
                "args": [
                  {
                    "name": "lineItemCtnr",
                    "description": "the line item container to be (re)calculated.",
                    "class": {
                      "name": "LineItemCtnr"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": ""
                },
                "description": "The function is called by extension point extensionPointCalculate. It provides a single place for\n the line item container calculation.\n \n To provide a fallback for existing implementations, the default implementation calls the hook\n dw.ocapi.shop.basket.calculate. However, this hook is deprecated, and calling it will create entries in the\n deprecated API usage logs. You should override this function to use dw.order.calculate instead.\n \n \n If you provide your own implementation, you should provide and use the following hooks. Best practice is\n to use the hook manager to retrieve them in the calculate hook, and avoid calling them directly.\n \n \n extensionPointCalculateTax for tax calculation\n extensionPointCalculateShipping for shipping calculation",
                "deprecated": false
              },
              "calculateShipping": {
                "name": "calculateShipping",
                "args": [
                  {
                    "name": "lineItemCtnr",
                    "description": "the line item container to be (re)calculated.",
                    "class": {
                      "name": "LineItemCtnr"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": ""
                },
                "description": "The function is called by extension point extensionPointCalculateShipping. It provides a single\n place for shipping calculation during the line item container calculation.",
                "deprecated": false
              },
              "calculateTax": {
                "name": "calculateTax",
                "args": [
                  {
                    "name": "lineItemCtnr",
                    "description": "the line item container to be (re)calculated.",
                    "class": {
                      "name": "LineItemCtnr"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": ""
                },
                "description": "The function is called by extension point extensionPointCalculateTax. It provides a single place\n for tax calculation during the line item container calculation.",
                "deprecated": false
              }
            }
          }
        }
      },
      "rpc": {
        "WebReference": {
          "fullClassName": "dw.rpc.WebReference",
          "package": "dw.rpc",
          "description": "Represents a web service defined in a WSDL file. The implementation is backed by a JAX-RPC framework.\n You should use the newer dw.ws package and <a href=\"class_dw_ws_WebReference2.html\">WebReference2</a> class instead, which is based on JAX-WS.\n <p>\n Use the Services module in Business Manager to set timeout values, not the methods for this class.\n The Services module provides better analytics and timeout management.\n\n To create an instance of a WebReference object, in a B2C Commerce Script file, reference a WSDL file in the <code>webreferences</code>\n directory and request the service <a href=\"class_dw_rpc_Stub.html\">Stub</a> using one of the get service methods.\n For example, if your WSDL file is <code>MyWSDL.wsdl</code>,\n to create an instance of WebReference and access the <a href=\"class_dw_rpc_Stub.html\">Stub</a>:\n <br>\n </p><pre><code>\n var webref : WebReference = webreferences.MyWSDL;\n var stub : Stub = webref.getDefaultService();\n </code></pre>\n\n <b>Note:</b> script classes representing your WSDL file are are generated by the platform and then placed in the <code>WebReferences</code>\n package. You do not need to include the <code>importPackage</code>\n statement in your B2C Commerce Script file to use classes in the <code>WebReferences</code> package.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "defaultService": {
              "name": "defaultService",
              "class": {
                "name": "Stub"
              },
              "static": false,
              "readonly": true,
              "description": "The default service of the WebReference object. If you have more than one service\n defined in your WSDL, the default service is the first service alphabetically. If the service\n has multiple ports defined, the default service uses the SOAP port name that is first alphabetically.",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {
            "WebReference": {
              "name": "WebReference",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "getDefaultService": {
              "name": "getDefaultService",
              "args": [],
              "class": {
                "name": "Stub",
                "description": "the default service of the WebReference object."
              },
              "description": "Returns the default service of the WebReference object. If you have more than one service\n defined in your WSDL, the default service is the first service alphabetically. If the service\n has multiple ports defined, the default service uses the SOAP port name that is first alphabetically.",
              "deprecated": true
            },
            "getService": {
              "name": "getService",
              "args": [
                {
                  "name": "service",
                  "description": "the service to locate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "the port name to use.  var port = webref.getService(\"SampleServiceName\",\"SamplePortName\");",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Stub",
                "description": "a specific service from this WebReference."
              },
              "description": "Returns a specific service from this WebReference.",
              "deprecated": true
            }
          }
        }
      },
      "suggest": {
        "BrandSuggestions": {
          "fullClassName": "dw.suggest.BrandSuggestions",
          "package": "dw.suggest",
          "description": "The brands suggestion container provides access to\n brands found using the suggested terms.\n <p>\n The method <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedPhrases_DetailAnchor\">SearchPhraseSuggestions.getSuggestedPhrases()</a> can be used to\n get the list of found brand names. The brand lookup\n is being executed in the current catalog and locale.\n </p><p>\n Furthermore the list of suggested terms, after processing\n the original user input search query, is accessible\n through <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedTerms_DetailAnchor\">SearchPhraseSuggestions.getSuggestedTerms()</a> method.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.suggest.Suggestions"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "CategorySuggestions": {
          "fullClassName": "dw.suggest.CategorySuggestions",
          "package": "dw.suggest",
          "description": "The category suggestion container provides access to\n categories found using the suggested terms as search criteria.\n The method <a href=\"class_dw_suggest_CategorySuggestions.html#dw_suggest_CategorySuggestions_getSuggestedCategories_DetailAnchor\">getSuggestedCategories()</a> can be used to\n get the list of found categories.\n <p>\n Furthermore the list of suggested terms, after processing\n the original user input search query, is accessible\n through <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedTerms_DetailAnchor\">SearchPhraseSuggestions.getSuggestedTerms()</a> method.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.suggest.Suggestions"
            }
          ],
          "constants": {},
          "properties": {
            "suggestedCategories": {
              "name": "suggestedCategories",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns a list of categories which were found\n using the suggested terms as search criteria.\n The category lookup is being executed in the current catalog and locale.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSuggestedCategories": {
              "name": "getSuggestedCategories",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a iterator containing a SuggestedCategory instance for each found category, the iterator might be empty"
              },
              "description": "This method returns a list of categories which were found\n using the suggested terms as search criteria.\n The category lookup is being executed in the current catalog and locale.",
              "deprecated": false
            }
          }
        },
        "ContentSuggestions": {
          "fullClassName": "dw.suggest.ContentSuggestions",
          "package": "dw.suggest",
          "description": "The content suggestion container provides access to\n content pages found using the suggested terms as search criteria.\n The method <a href=\"class_dw_suggest_ContentSuggestions.html#dw_suggest_ContentSuggestions_getSuggestedContent_DetailAnchor\">getSuggestedContent()</a> can be used to\n get the list of found content pages.\n <p>\n Furthermore the list of suggested terms, after processing\n the original user input search query, is accessible\n through <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedTerms_DetailAnchor\">SearchPhraseSuggestions.getSuggestedTerms()</a> method.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.suggest.Suggestions"
            }
          ],
          "constants": {},
          "properties": {
            "suggestedContent": {
              "name": "suggestedContent",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns a list of content pages which were found\n using the suggested terms as search criteria.\n The content lookup is being executed in the current library and locale.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSuggestedContent": {
              "name": "getSuggestedContent",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a iterator containing a SuggestedContent instance for each found content, the iterator might be empty"
              },
              "description": "This method returns a list of content pages which were found\n using the suggested terms as search criteria.\n The content lookup is being executed in the current library and locale.",
              "deprecated": false
            }
          }
        },
        "CustomSuggestions": {
          "fullClassName": "dw.suggest.CustomSuggestions",
          "package": "dw.suggest",
          "description": "The custom suggestion container provides access to\n merchant provided search phrases\n found using the suggested terms as search criteria.\n <p>\n The method <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedPhrases_DetailAnchor\">SearchPhraseSuggestions.getSuggestedPhrases()</a> can be used to\n get the list of found search phrases. The custom phrases\n lookup is being executed in the current site.\n </p><p>\n Furthermore the list of suggested terms is accessible\n through <a href=\"class_dw_suggest_SearchPhraseSuggestions.html#dw_suggest_SearchPhraseSuggestions_getSuggestedTerms_DetailAnchor\">SearchPhraseSuggestions.getSuggestedTerms()</a> method.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.suggest.Suggestions"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        }
      },
      "svc": {
        "FTPService": {
          "fullClassName": "dw.svc.FTPService",
          "package": "dw.svc",
          "description": "Represents an FTP or SFTP Service.\n <p>\n There are two basic styles of configuration for this service.\n </p><p>\n In the first style, <code>createRequest</code> is implemented to call the setOperation method on the Service. This\n will cause the single operation to be performed and returned as the data object in the <code>parseResponse</code>\n method. Any error status is set automatically based on the returned value of the operation.\n </p><p>\n In the second style, <code>execute</code> is implemented to perform one or more operations using the serviceClient\n available on the Service object. This serviceClient will be either an <a href=\"class_dw_net_FTPClient.html\">FTPClient</a> or an\n <a href=\"class_dw_net_SFTPClient.html\">SFTPClient</a>. The return value of execute will be passed as the data object in the\n <code>parseResponse</code> method.\n </p><p>\n Note that the use of the FTP client is deprecated, and SFTP should be used instead.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.Service"
            }
          ],
          "constants": {},
          "properties": {
            "autoDisconnect": {
              "name": "autoDisconnect",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether the underlying FTP connection will be disconnected after the service call.",
              "deprecated": false,
              "type": "property"
            },
            "client": {
              "name": "client",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The underlying client object.\n \n This is either an FTPClient or SFTPClient, depending on the protocol.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getClient": {
              "name": "getClient",
              "args": [],
              "class": {
                "name": "Object",
                "description": "(S)FTP Client object."
              },
              "description": "Returns the underlying client object.\n \n This is either an FTPClient or SFTPClient, depending on the protocol.",
              "deprecated": false
            },
            "isAutoDisconnect": {
              "name": "isAutoDisconnect",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "The auto-disconnect flag."
              },
              "description": "Returns the status of whether the underlying FTP connection will be disconnected after the service call.",
              "deprecated": false
            },
            "setAutoDisconnect": {
              "name": "setAutoDisconnect",
              "args": [
                {
                  "name": "b",
                  "description": "true to enable auto-disconnect, false otherwise.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "FTPService",
                "description": "this FTP or SFTP Service."
              },
              "description": "Sets the auto-disconnect flag.\n \n If true, the underlying FTP connection will be disconnected after the service call. If false then it will remain\n open. The default value is true.",
              "deprecated": false
            },
            "setOperation": {
              "name": "setOperation",
              "args": [
                {
                  "name": "name",
                  "description": "Method name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "Method arguments.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "FTPService",
                "description": "this FTP or SFTP Service."
              },
              "description": "Sets a single operation to perform during the execute phase of the service.\n \n The given arguments make up a method name and arguments on the underlying getClient() object. This\n method will be invoked during execution, with the result passed into the callback's parseResponse method.\n \n This is required unless the callback defines an execute method.",
              "deprecated": false
            }
          }
        },
        "FTPServiceDefinition": {
          "fullClassName": "dw.svc.FTPServiceDefinition",
          "package": "dw.svc",
          "description": "Represents an FTP or SFTP Service Definition.\n <p>\n There are two basic styles of configuration for this service.\n </p><p>\n In the first style, <code>createRequest</code> is implemented to call the setOperation method on the Service. This\n will cause the single operation to be performed and returned as the data object in the <code>parseResponse</code>\n method. Any error status is set automatically based on the returned value of the operation.\n </p><p>\n In the second style, <code>execute</code> is implemented to perform one or more operations using the serviceClient\n available on the Service object. This serviceClient will be either an <a href=\"class_dw_net_FTPClient.html\">FTPClient</a> or an\n <a href=\"class_dw_net_SFTPClient.html\">SFTPClient</a>. The return value of execute will be passed as the data object in the\n <code>parseResponse</code> method.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.ServiceDefinition"
            }
          ],
          "constants": {},
          "properties": {
            "autoDisconnect": {
              "name": "autoDisconnect",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether the underlying FTP connection will be disconnected after the service call.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "isAutoDisconnect": {
              "name": "isAutoDisconnect",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "The auto-disconnect flag."
              },
              "description": "Returns the status of whether the underlying FTP connection will be disconnected after the service call.",
              "deprecated": false
            },
            "setAutoDisconnect": {
              "name": "setAutoDisconnect",
              "args": [
                {
                  "name": "b",
                  "description": "true to enable auto-disconnect, false otherwise.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "FTPServiceDefinition",
                "description": "this FTP or SFTP Service Definition."
              },
              "description": "Sets the auto-disconnect flag.\n \n If true, the underlying FTP connection will be disconnected after the service call. If false then it will remain\n open. The default value is true.",
              "deprecated": false
            }
          }
        },
        "HTTPFormService": {
          "fullClassName": "dw.svc.HTTPFormService",
          "package": "dw.svc",
          "description": "Represents an HTTP Form POST Service.\n <p>\n All arguments passed to the <a href=\"class_dw_svc_Service.html#dw_svc_Service_call_Object_DetailAnchor\"> call</a> method will be URL-encoded and set as name/value\n pairs in the HTTP request body. The HTTP request will be a POST with a content-type of\n <code>application/x-www-form-urlencoded</code>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.Service"
            },
            {
              "name": "dw.svc.HTTPService"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "HTTPFormServiceDefinition": {
          "fullClassName": "dw.svc.HTTPFormServiceDefinition",
          "package": "dw.svc",
          "description": "Represents an HTTP Form POST Service Definition.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.ServiceDefinition"
            },
            {
              "name": "dw.svc.HTTPServiceDefinition"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "HTTPService": {
          "fullClassName": "dw.svc.HTTPService",
          "package": "dw.svc",
          "description": "Represents an HTTP Service.\n <p>\n The HTTP Service will use the return value of the createRequest callback as the request body (if supported by the\n HTTP method). If this is an array of non-null <a href=\"class_dw_net_HTTPRequestPart.html\">HTTPRequestPart</a> objects, then a multi-part request will\n be formed. Otherwise the object is converted to a String and used.\n </p><p>\n See also <a href=\"class_TopLevel_XML.html#TopLevel_XML_toXMLString_DetailAnchor\">XML.toXMLString()</a> and <a href=\"class_TopLevel_JSON.html#TopLevel_JSON_stringify_Object_DetailAnchor\">JSON.stringify(Object)</a>, which must be\n explicitly called if needed.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.Service"
            }
          ],
          "constants": {},
          "properties": {
            "authentication": {
              "name": "authentication",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The authentication type.",
              "deprecated": false,
              "type": "property"
            },
            "cachingTTL": {
              "name": "cachingTTL",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The caching time to live value.",
              "deprecated": false,
              "type": "property"
            },
            "client": {
              "name": "client",
              "class": {
                "name": "HTTPClient"
              },
              "static": false,
              "readonly": true,
              "description": "The underlying HTTP client object.",
              "deprecated": false,
              "type": "property"
            },
            "encoding": {
              "name": "encoding",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The request body encoding to declare.",
              "deprecated": false,
              "type": "property"
            },
            "identity": {
              "name": "identity",
              "class": {
                "name": "KeyRef"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the identity used for mutual TLS (mTLS).",
              "deprecated": false,
              "type": "property"
            },
            "outFile": {
              "name": "outFile",
              "class": {
                "name": "File"
              },
              "static": false,
              "readonly": false,
              "description": "The output file, or null if there is none.",
              "deprecated": false,
              "type": "property"
            },
            "requestMethod": {
              "name": "requestMethod",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The request method.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addHeader": {
              "name": "addHeader",
              "args": [
                {
                  "name": "name",
                  "description": "Header name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "val",
                  "description": "Header value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Adds an HTTP Header.",
              "deprecated": false
            },
            "addParam": {
              "name": "addParam",
              "args": [
                {
                  "name": "name",
                  "description": "Parameter name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "val",
                  "description": "Parameter value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Adds a query parameter that will be appended to the URL.",
              "deprecated": false
            },
            "getAuthentication": {
              "name": "getAuthentication",
              "args": [],
              "class": {
                "name": "String",
                "description": "Authentication type."
              },
              "description": "Returns the authentication type.",
              "deprecated": false
            },
            "getCachingTTL": {
              "name": "getCachingTTL",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The caching time to live value in seconds."
              },
              "description": "Returns the caching time to live value.",
              "deprecated": false
            },
            "getClient": {
              "name": "getClient",
              "args": [],
              "class": {
                "name": "HTTPClient",
                "description": "HTTP client object."
              },
              "description": "Returns the underlying HTTP client object.",
              "deprecated": false
            },
            "getEncoding": {
              "name": "getEncoding",
              "args": [],
              "class": {
                "name": "String",
                "description": "Request encoding."
              },
              "description": "Returns the request body encoding to declare.",
              "deprecated": false
            },
            "getIdentity": {
              "name": "getIdentity",
              "args": [],
              "class": {
                "name": "KeyRef",
                "description": "Reference to the private key, or null if not configured"
              },
              "description": "Gets the identity used for mutual TLS (mTLS).",
              "deprecated": false
            },
            "getOutFile": {
              "name": "getOutFile",
              "args": [],
              "class": {
                "name": "File",
                "description": "Output file or null."
              },
              "description": "Returns the output file, or null if there is none.",
              "deprecated": false
            },
            "getRequestMethod": {
              "name": "getRequestMethod",
              "args": [],
              "class": {
                "name": "String",
                "description": "HTTP Request method."
              },
              "description": "Returns the request method.",
              "deprecated": false
            },
            "setAuthentication": {
              "name": "setAuthentication",
              "args": [
                {
                  "name": "authentication",
                  "description": "Type of authentication.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Sets the type of authentication. Valid values include \"BASIC\" and \"NONE\".\n \n The default value is BASIC.",
              "deprecated": false
            },
            "setCachingTTL": {
              "name": "setCachingTTL",
              "args": [
                {
                  "name": "ttl",
                  "description": "The time to live for the cached content in seconds. A value of 0 disables caching.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": ""
              },
              "description": "Enables caching for GET requests.\n \n This only caches status codes 2xx with a content length and size of less than 50k that are not immediately\n written to file. The URL and the user name are used as cache keys. The total size of cacheable content and the\n number of cached items is limited and automatically managed by the system.\n \n Cache control information sent by the remote server is ignored.\n \n Caching HTTP responses should be done very carefully. It is important to ensure that the response really depends\n only on the URL and doesn't contain any remote state information or time information which is independent of the\n URL. It is also important to verify that the application sends exactly the same URL multiple times.",
              "deprecated": false
            },
            "setEncoding": {
              "name": "setEncoding",
              "args": [
                {
                  "name": "encoding",
                  "description": "Encoding of the request body.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Sets the encoding of the request body (if any).\n \n The default value is UTF-8.",
              "deprecated": false
            },
            "setIdentity": {
              "name": "setIdentity",
              "args": [
                {
                  "name": "keyRef",
                  "description": "Reference to the private key",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": ""
              },
              "description": "Sets the identity (private key) to use when mutual TLS (mTLS) is configured.\n \n If this is not set and mTLS is used then the private key will be chosen from the key store based on the host\n name.\n If this is set to a reference named \"__NONE__\" then no private key will be used even if one is requested by the remote server.",
              "deprecated": false
            },
            "setOutFile": {
              "name": "setOutFile",
              "args": [
                {
                  "name": "outFile",
                  "description": "Output file, or null to disable.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Sets the output file in which to write the HTTP response body.\n \n The default behavior is to not write a file.",
              "deprecated": false
            },
            "setRequestMethod": {
              "name": "setRequestMethod",
              "args": [
                {
                  "name": "requestMethod",
                  "description": "HTTP request method.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPService",
                "description": "this HTTP Service."
              },
              "description": "Sets the HTTP request method.\n \n Valid values include GET, PUT, POST, and DELETE.\n \n The default value is POST.",
              "deprecated": false
            }
          }
        },
        "HTTPServiceDefinition": {
          "fullClassName": "dw.svc.HTTPServiceDefinition",
          "package": "dw.svc",
          "description": "Represents an HTTP Service Definition.\n <p>\n The HTTP Service will use the return value of the createRequest callback as the request body (if supported by the\n HTTP method). If this is an array of non-null <a href=\"class_dw_net_HTTPRequestPart.html\">HTTPRequestPart</a> objects, then a multi-part request will\n be formed. Otherwise the object is converted to a String and used.\n </p><p>\n See also <a href=\"class_TopLevel_XML.html#TopLevel_XML_toXMLString_DetailAnchor\">XML.toXMLString()</a> and <a href=\"class_TopLevel_JSON.html#TopLevel_JSON_stringify_Object_DetailAnchor\">JSON.stringify(Object)</a>, which must be\n explicitly called if needed.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.ServiceDefinition"
            }
          ],
          "constants": {},
          "properties": {
            "authentication": {
              "name": "authentication",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The authentication type.",
              "deprecated": false,
              "type": "property"
            },
            "cachingTTL": {
              "name": "cachingTTL",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The caching time to live value.",
              "deprecated": false,
              "type": "property"
            },
            "encoding": {
              "name": "encoding",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The request body encoding to declare.",
              "deprecated": false,
              "type": "property"
            },
            "outFile": {
              "name": "outFile",
              "class": {
                "name": "File"
              },
              "static": false,
              "readonly": false,
              "description": "The output file, or null if there is none.",
              "deprecated": false,
              "type": "property"
            },
            "requestMethod": {
              "name": "requestMethod",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The request method.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addHeader": {
              "name": "addHeader",
              "args": [
                {
                  "name": "name",
                  "description": "Header name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "val",
                  "description": "Header value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Adds an HTTP Header.",
              "deprecated": false
            },
            "addParam": {
              "name": "addParam",
              "args": [
                {
                  "name": "name",
                  "description": "Parameter name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "val",
                  "description": "Parameter value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Adds a query parameter that will be appended to the URL.",
              "deprecated": false
            },
            "getAuthentication": {
              "name": "getAuthentication",
              "args": [],
              "class": {
                "name": "String",
                "description": "Authentication type."
              },
              "description": "Returns the authentication type.",
              "deprecated": false
            },
            "getCachingTTL": {
              "name": "getCachingTTL",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The caching time to live value in seconds."
              },
              "description": "Returns the caching time to live value.",
              "deprecated": false
            },
            "getEncoding": {
              "name": "getEncoding",
              "args": [],
              "class": {
                "name": "String",
                "description": "Request encoding."
              },
              "description": "Returns the request body encoding to declare.",
              "deprecated": false
            },
            "getOutFile": {
              "name": "getOutFile",
              "args": [],
              "class": {
                "name": "File",
                "description": "Output file or null."
              },
              "description": "Returns the output file, or null if there is none.",
              "deprecated": false
            },
            "getRequestMethod": {
              "name": "getRequestMethod",
              "args": [],
              "class": {
                "name": "String",
                "description": "HTTP Request method."
              },
              "description": "Returns the request method.",
              "deprecated": false
            },
            "setAuthentication": {
              "name": "setAuthentication",
              "args": [
                {
                  "name": "authentication",
                  "description": "Type of authentication.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Sets the type of authentication. Valid values include \"BASIC\" and \"NONE\".\n \n The default value is BASIC.",
              "deprecated": false
            },
            "setCachingTTL": {
              "name": "setCachingTTL",
              "args": [
                {
                  "name": "ttl",
                  "description": "The time to live for the cached content in seconds. A value of 0 or less disables caching.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": ""
              },
              "description": "Enables caching for GET requests.\n \n This only caches status codes 2xx with a content length and size of less than 50k that are not immediately\n written to file. The URL and the user name are used as cache keys. The total size of cacheable content and the\n number of cached items is limited and automatically managed by the system.\n \n Cache control information sent by the remote server is ignored.\n \n Caching HTTP responses should be done very carefully. It is important to ensure that the response really depends\n only on the URL and doesn't contain any remote state information or time information which is independent of the\n URL. It is also important to verify that the application sends exactly the same URL multiple times.",
              "deprecated": false
            },
            "setEncoding": {
              "name": "setEncoding",
              "args": [
                {
                  "name": "encoding",
                  "description": "Encoding of the request body.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Sets the encoding of the request body (if any).\n \n The default value is UTF-8.",
              "deprecated": false
            },
            "setOutFile": {
              "name": "setOutFile",
              "args": [
                {
                  "name": "outFile",
                  "description": "Output file, or null to disable.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Sets the output file in which to write the HTTP response body.\n \n The default behavior is to not write a file.",
              "deprecated": false
            },
            "setRequestMethod": {
              "name": "setRequestMethod",
              "args": [
                {
                  "name": "requestMethod",
                  "description": "HTTP request method.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HTTPServiceDefinition",
                "description": "this HTTP Service Definition."
              },
              "description": "Sets the HTTP request method.\n \n Valid values include GET, PUT, POST, and DELETE.\n \n The default value is POST.",
              "deprecated": false
            }
          }
        },
        "LocalServiceRegistry": {
          "fullClassName": "dw.svc.LocalServiceRegistry",
          "package": "dw.svc",
          "description": "The LocalServiceRegistry is responsible for managing Service instances.\n <p>\n Typical usage involves several steps:\n </p><ol>\n <li>The service is defined in the Business Manager and configured with necessary credentials.</li>\n <li>An instance of the service is created and configured in a script:\n\n <pre> var myFTPService = LocalServiceRegistry.createService(\"MyFTPService\", {\n &nbsp;&nbsp;&nbsp;&nbsp;mockExec : function(svc:FTPService, params) {\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return [\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ \"name\": \"file1\", \"timestamp\": new Date(2011, 02, 21)},\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ \"name\": \"file2\", \"timestamp\": new Date(2012, 02, 21)},\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ \"name\": \"file3\", \"timestamp\": new Date(2013, 02, 21)}\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];\n &nbsp;&nbsp;&nbsp;&nbsp;},\n &nbsp;&nbsp;&nbsp;&nbsp;createRequest: function(svc:FTPService, params) {\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;svc.setOperation(\"list\", \"/\");\n &nbsp;&nbsp;&nbsp;&nbsp;},\n &nbsp;&nbsp;&nbsp;&nbsp;parseResponse : function(svc:FTPService, listOutput) {\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var x : Array = [];\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var resp : Array = listOutput;\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var i = 0; i &lt; resp.length; i++) {\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var f = resp[i];\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x.push( { \"name\": f['name'], \"timestamp\": f['timestamp'] } );\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return x;\n &nbsp;&nbsp;&nbsp;&nbsp;}\n });\n </pre>\n\n </li>\n <li>The service is called in order to perform the operation:\n\n <pre> var result : Result = myFTPService.call();\n if(result.status == 'OK') {\n     // The result.object is the object returned by the 'after' callback.\n } else {\n     // Handle the error. See result.error for more information.\n }\n </pre>\n\n </li>\n </ol>\n\n Unlike <a href=\"class_dw_svc_ServiceRegistry.html\">ServiceRegistry</a>, the configured service is local to the current script call,\n so this deals directly with <a href=\"class_dw_svc_Service.html\">Service</a> instances rather than the intermediate <a href=\"class_dw_svc_ServiceDefinition.html\">ServiceDefinition</a>.\n This means that a cartridge-level initialization script (and the package.json) is no longer needed.\n <p>\n See <a href=\"class_dw_svc_ServiceCallback.html\">ServiceCallback</a> for all the callback options, and individual <a href=\"class_dw_svc_Service.html\">Service</a>\n classes for customization specific to a service type.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "createService": {
              "name": "createService",
              "args": [
                {
                  "name": "serviceId",
                  "description": "Unique Service ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "configObj",
                  "description": "Configuration callback. See ServiceCallback for a description of available callback methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Service",
                "description": "Associated Service, which can be used for further protocol-specific configuration."
              },
              "description": "Constructs and configures a service with a callback.",
              "deprecated": false
            }
          }
        }
      },
      "system": {
        "AgentUserStatusCodes": {
          "fullClassName": "dw.system.AgentUserStatusCodes",
          "package": "dw.system",
          "description": "AgentUserStatusCodes contains constants representing status codes that can be\n used with a <a href=\"class_dw_system_Status.html\">Status</a> object to indicate the success or failure of the agent\n user login process.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.customer.AgentUserStatusCodes"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "AgentUserStatusCodes": {
              "name": "AgentUserStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "Cache": {
          "fullClassName": "dw.system.Cache",
          "package": "dw.system",
          "description": "The Cache class represents a custom cache.\n <p>\n A cache stores data over multiple requests. Each cartridge can define its own\n caches for different business requirements. To limit the\n visibility of cache entries by scope, for example, by site, catalog, or\n external system, include the scope reference when constructing the\n key. For example:\n\n </p><pre>    var cache = CacheMgr.getCache( 'SiteConfigurations' );\n    cache.get( Site.current.ID + \"config\", function loadSiteConfiguration() {return loadCfg( Site.current );} );\n </pre>\n\n <p>\n Do not build the cache key using personal user data, since the key might be\n visible in log messages.\n\n </p><p>\n There is never a guarantee that a stored object can be retrieved from the\n cache. The storage allocated for entries is limited and clearing or\n invalidation might occur at any time. To maintain the cache size limits, the\n cache evicts entries that are less likely to be used again. For example, the\n cache might evict an entry because it hasn't been used recently or very\n often. Cache entries aren't synchronized between different application\n servers.\n\n </p><p>\n The cache returns immutable copies of the original objects put into the\n cache. Lists are converted to arrays during this process. Only JavaScript\n primitive values and tree-like object structures can be stored as entries.\n Object structures can consist of arrays, lists, and basic JavaScript\n objects. Script API classes are not supported, except <a href=\"class_dw_util_List.html\">List</a>\n and its subclasses. <code>null</code> can be stored as a value.\n <code>undefined</code> can't be stored.\n\n </p><p>\n See <a href=\"class_dw_system_CacheMgr.html\">CacheMgr</a> for details about how to configure a custom cache.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "key",
                  "description": "The cache key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "loader",
                  "description": "The loader function that is called if no value is stored in the cache.",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "The value found in the cache or the value returned from the loader function call."
              },
              "description": "Returns the value associated with key in this cache, or invokes the loader function to generate the entry if\n there is no entry found. The generated entry is stored for future retrieval. If the loader function returns\n undefined, this value is not stored in the cache.",
              "deprecated": false
            },
            "get0": {
              "name": "get",
              "args": [
                {
                  "name": "key",
                  "description": "The cache key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "The stored value or undefined if no value is found in the cache."
              },
              "description": "Returns the value associated with key in this cache. If there is no entry in the cache then\n undefined is returned.",
              "deprecated": false
            },
            "invalidate": {
              "name": "invalidate",
              "args": [
                {
                  "name": "key",
                  "description": "The cache key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the cache entry for key (if one exists) manually before the cache's eviction strategy goes into effect.",
              "deprecated": false
            },
            "put": {
              "name": "put",
              "args": [
                {
                  "name": "key",
                  "description": "The cache key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The value to be store in the cache.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Stores the specified entry directly into the cache, replacing any previously cached entry for key if one exists.\n Storing undefined as value has the same effect as calling invalidate(String) for that key.",
              "deprecated": false
            }
          }
        },
        "CacheMgr": {
          "fullClassName": "dw.system.CacheMgr",
          "package": "dw.system",
          "description": "The CacheMgr class is the entry point for using custom caches.\n <p>\n The CacheMgr can manage multiple custom caches that share one storage space. Each individual cache has a unique ID\n and an optional expiration time that specifies the maximum time (in seconds) an entry is stored in the cache. For\n registering caches inside the cartridge root folder, a 'package.json' file with a 'caches' entry must exist. The\n registration of caches is independent of any site context.\n\n </p><pre> \"caches\": \"./caches.json\"\n </pre>\n\n The caches entry links to a JSON file, with a path relative to the 'package.json' file. This file lists all\n registered caches inside the caches property:\n\n <pre> {\n   \"caches\": [\n     {\n       \"id\": \"UnlimitedTestCache\"\n     },\n     {\n       \"id\": \"TestCacheWithExpiration\",\n       \"expireAfterSeconds\": 10\n     }\n   ]\n }\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "getCache": {
              "name": "getCache",
              "args": [
                {
                  "name": "cacheID",
                  "description": "The ID of the cache.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Cache",
                "description": "The registered cache."
              },
              "description": "Returns the defined cache instance for the given ID. Throws an exception when the requested cache has not been\n defined in any caches.json descriptor.",
              "deprecated": false
            }
          }
        },
        "HookMgr": {
          "fullClassName": "dw.system.HookMgr",
          "package": "dw.system",
          "description": "This class provides functionality to call hooks. A hook is an extension point in the business logic,\n where you can register scripts to customize functionality.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "callHook": {
              "name": "callHook",
              "args": [
                {
                  "name": "extensionPoint",
                  "description": "the extension point to call",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "function",
                  "description": "the script function to call",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the Array of function parameters",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Object",
                "description": "the object returned by the hook or undefined"
              },
              "description": "Calls a hook on base of the specified extensionPoint and function. If a hook throws an exception, then\n this method will also throw an exception. If no hook and no system default implementation is provided,\n then this method will return undefined.\n\n Sample:\n  dw.system.HookMgr.callHook( \"dw.order.calculate\", \"calculate\", basket );",
              "deprecated": false
            },
            "hasHook": {
              "name": "hasHook",
              "args": [
                {
                  "name": "extensionPoint",
                  "description": "the extension point",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true, if a hook is registered or a default implementation exists, otherwise false"
              },
              "description": "Checks whether a hook is registered or a system default implementation exists for this extension point.\n extensionPoint refers to the same name used to register a script as implementation. With this method it's only\n possible to check for a whole script registered but it is not possible to check, whether an individual function\n is implemented.\n\n Sample:\n  dw.system.HookMgr.hasHook( \"dw.order.calculate\" );",
              "deprecated": false
            }
          }
        },
        "InternalObject": {
          "fullClassName": "dw.system.InternalObject",
          "package": "dw.system",
          "description": "Class used to wrap internal objects to hide them from\n B2C Commerce Script code.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this object."
              },
              "description": "Returns a string representation of this object.",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this object."
              },
              "description": "Returns a string representation of this object.",
              "deprecated": false
            }
          }
        },
        "JobProcessMonitor": {
          "fullClassName": "dw.system.JobProcessMonitor",
          "package": "dw.system",
          "description": "<b><u>Reserved for future use</u></b>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "totalWork": {
              "name": "totalWork",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "Reserved for future use. Gets the total work count.",
              "deprecated": false,
              "type": "property"
            },
            "workMessage": {
              "name": "workMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Reserved for future use. Gets the work message.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getTotalWork": {
              "name": "getTotalWork",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the total work count."
              },
              "description": "Reserved for future use. Gets the total work count.",
              "deprecated": false
            },
            "getWorkMessage": {
              "name": "getWorkMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the work message."
              },
              "description": "Reserved for future use. Gets the work message.",
              "deprecated": false
            },
            "setTotalWork": {
              "name": "setTotalWork",
              "args": [
                {
                  "name": "totalWork",
                  "description": "the total work count.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Reserved for future use. Sets the total work count.",
              "deprecated": false
            },
            "setWorkMessage": {
              "name": "setWorkMessage",
              "args": [
                {
                  "name": "msg",
                  "description": "the messageto use. If msg is null, then an empty string will be used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Reserved for future use. Sets the work message.",
              "deprecated": false
            },
            "worked": {
              "name": "worked",
              "args": [
                {
                  "name": "worked",
                  "description": "the number of items worked.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Reserved for future use. Increments the count of work items by the value of the specified\n parameter.",
              "deprecated": false
            }
          }
        },
        "Log": {
          "fullClassName": "dw.system.Log",
          "package": "dw.system",
          "description": "A log4j like logger instance. To obtain such an instance, use the <a href=\"class_dw_system_Logger.html#dw_system_Logger_getRootLogger_DetailAnchor\">Logger.getRootLogger()</a> or\n <a href=\"class_dw_system_Logger.html#dw_system_Logger_getLogger_String_DetailAnchor\">Logger.getLogger(String)</a> or <a href=\"class_dw_system_Logger.html#dw_system_Logger_getLogger_String_String_DetailAnchor\">Logger.getLogger(String, String)</a> methods.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "debugEnabled": {
              "name": "debugEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if debug logging is enabled for this logging instance.",
              "deprecated": false,
              "type": "property"
            },
            "errorEnabled": {
              "name": "errorEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if error logging is enabled for this logging instance.",
              "deprecated": false,
              "type": "property"
            },
            "infoEnabled": {
              "name": "infoEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if information logging is enabled for this logging instance.",
              "deprecated": false,
              "type": "property"
            },
            "NDC": {
              "name": "NDC",
              "class": {
                "name": "LogNDC"
              },
              "static": true,
              "readonly": true,
              "description": "The Nested Diagnostic Context for this script call.",
              "deprecated": false,
              "type": "property"
            },
            "warnEnabled": {
              "name": "warnEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if warning logging is enabled for this logging instance.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "debug": {
              "name": "debug",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an debug level message. Arguments can be embedded into the message, e.g. like \"Failure {0} in\n {1}\". The method implements the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "error": {
              "name": "error",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an error level message. Arguments can be embedded into the message, e.g. like \"Failure {0} in\n {1}\". The method implements the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "fatal": {
              "name": "fatal",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an warning level message. Arguments can be embedded into the message, e.g. like \"Failure {0}\n in {1}\". The method implements the Java MessageFormat.format() syntax. Note: Fatal log messages are always\n enabled and optionally send via E-Mail.",
              "deprecated": false
            },
            "getNDC": {
              "name": "getNDC",
              "args": [],
              "static": true,
              "class": {
                "name": "LogNDC",
                "description": "the nested diagnostic context"
              },
              "description": "Returns the Nested Diagnostic Context for this script call.",
              "deprecated": false
            },
            "info": {
              "name": "info",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an information level message. Arguments can be embedded into the message, e.g. like \"Failure\n {0} in {1}\". The method implements the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "isDebugEnabled": {
              "name": "isDebugEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if logging of debug messages is enabled, false otherwise."
              },
              "description": "This method returns true if debug logging is enabled for this logging instance.",
              "deprecated": false
            },
            "isErrorEnabled": {
              "name": "isErrorEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if logging of error messages is enabled, false otherwise."
              },
              "description": "This method returns true if error logging is enabled for this logging instance.",
              "deprecated": false
            },
            "isInfoEnabled": {
              "name": "isInfoEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if logging of information messages is enabled, false otherwise."
              },
              "description": "This method returns true if information logging is enabled for this logging instance.",
              "deprecated": false
            },
            "isWarnEnabled": {
              "name": "isWarnEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if logging of warning messages is enabled, false otherwise."
              },
              "description": "This method returns true if warning logging is enabled for this logging instance.",
              "deprecated": false
            },
            "warn": {
              "name": "warn",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an warning level message. Arguments can be embedded into the message, e.g. like \"Failure {0}\n in {1}\". The method implements the Java MessageFormat.format() syntax.",
              "deprecated": false
            }
          }
        },
        "LogNDC": {
          "fullClassName": "dw.system.LogNDC",
          "package": "dw.system",
          "description": "A Nested Diagnostic Context, or NDC in short, is an instrument to distinguish \n interleaved log output from different sources. Log output is typically \n interleaved when a server handles multiple script calls near-simultaneously.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "peek": {
              "name": "peek",
              "args": [],
              "class": {
                "name": "String",
                "description": "String The innermost diagnostic context."
              },
              "description": "Looks at the last diagnostic context at the top of this NDC without \n removing it.\n The returned value is the value that was pushed last. If no context is \n available, then the empty string \"\" is returned.",
              "deprecated": false
            },
            "pop": {
              "name": "pop",
              "args": [],
              "class": {
                "name": "String",
                "description": "String The innermost diagnostic context."
              },
              "description": "Clients should call this method before leaving a diagnostic context.\n The returned value is the value that was pushed last. \n If no context is available, then the empty string \"\" is returned.\n NOTE: The NDC is removed after every script execution.",
              "deprecated": false
            },
            "push": {
              "name": "push",
              "args": [
                {
                  "name": "message",
                  "description": "- The new diagnostic context information.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Push new diagnostic context information for the current script execution.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Remove the diagnostic context for this script call.",
              "deprecated": false
            }
          }
        },
        "Logger": {
          "fullClassName": "dw.system.Logger",
          "package": "dw.system",
          "description": "The Logger class provides logging utility methods.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "debugEnabled": {
              "name": "debugEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if debug logging is enabled.",
              "deprecated": false,
              "type": "property"
            },
            "errorEnabled": {
              "name": "errorEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if error logging is enabled.",
              "deprecated": false,
              "type": "property"
            },
            "infoEnabled": {
              "name": "infoEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if info logging is enabled.",
              "deprecated": false,
              "type": "property"
            },
            "rootLogger": {
              "name": "rootLogger",
              "class": {
                "name": "Log"
              },
              "static": true,
              "readonly": true,
              "description": "The root logger object.",
              "deprecated": false,
              "type": "property"
            },
            "warnEnabled": {
              "name": "warnEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns true if warning logging is enabled.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "debug": {
              "name": "debug",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an debug level message. Arguments can be embedded\n into the message, e.g. like \"Failure {0} in {1}\". The method implements\n the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "error": {
              "name": "error",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an error level message. Arguments can be embedded\n into the message, e.g. like \"Failure {0} in {1}\". The method implements\n the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "getLogger": {
              "name": "getLogger",
              "args": [
                {
                  "name": "category",
                  "description": "- the category to get the logger for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Log",
                "description": "the logger object for the given category."
              },
              "description": "Returns the logger object for the given category.",
              "deprecated": false
            },
            "getLogger0": {
              "name": "getLogger",
              "args": [
                {
                  "name": "fileNamePrefix",
                  "description": "- the file name prefix to identify the logger must not be null or an empty string, must be at least 3 characters long, can contain characters a-z A-Z 0-9 '-' '_' only, can have up to 25 characters must not start or end with '-' or '_' can only start or end with a-z A-Z 0-9",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "category",
                  "description": "- the category to get the logger for, must not be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Log",
                "description": "the logger object for the given category."
              },
              "description": "Returns the logger object for the given file name prefix and category.\n Throws an exception if maximum number of custom log files per day has already been obtained.",
              "deprecated": false
            },
            "getRootLogger": {
              "name": "getRootLogger",
              "args": [],
              "static": true,
              "class": {
                "name": "Log",
                "description": "the root logger object."
              },
              "description": "Returns the root logger object.",
              "deprecated": false
            },
            "info": {
              "name": "info",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an information level message. Arguments can be embedded\n into the message, e.g. like \"Failure {0} in {1}\". The method implements\n the Java MessageFormat.format() syntax.",
              "deprecated": false
            },
            "isDebugEnabled": {
              "name": "isDebugEnabled",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if logging of debug messages is enabled, false otherwise."
              },
              "description": "This method returns true if debug logging is enabled.",
              "deprecated": false
            },
            "isErrorEnabled": {
              "name": "isErrorEnabled",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if logging of error messages is enabled, false otherwise."
              },
              "description": "This method returns true if error logging is enabled.",
              "deprecated": false
            },
            "isInfoEnabled": {
              "name": "isInfoEnabled",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if logging of info messages is enabled, false otherwise."
              },
              "description": "This method returns true if info logging is enabled.",
              "deprecated": false
            },
            "isWarnEnabled": {
              "name": "isWarnEnabled",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if logging of warn messages is enabled, false otherwise."
              },
              "description": "This method returns true if warning logging is enabled.",
              "deprecated": false
            },
            "warn": {
              "name": "warn",
              "args": [
                {
                  "name": "msg",
                  "description": "the message to log.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to insert into the message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method reports an warning level message. Arguments can be embedded\n into the message, e.g. like \"Failure {0} in {1}\". The method implements\n the Java MessageFormat.format() syntax.",
              "deprecated": false
            }
          }
        },
        "Pipeline": {
          "fullClassName": "dw.system.Pipeline",
          "package": "dw.system",
          "description": "A helper for executing pipelines from JavaScript. The main purpose for this API is to invoke process pipelines from\n JavaScript controllers, e.g. pipelines that return with an end node and that do not perform user interactions.\n Pipelines that span across multiple requests (e.g. that contain Interaction-Continue-Nodes) are not supported and may\n not work as expected. The pipeline will be executed within the current request and not by a remote call, so this API\n works roughly like a Call node in a pipeline. The called pipeline will get its own local pipeline dictionary. The\n dictionary can be populated with initial values from an argument object. Any results from the pipeline can be read\n from the pipeline dictionary that is returned by the <a href=\"class_dw_system_Pipeline.html#dw_system_Pipeline_execute_String_DetailAnchor\">execute(String)</a> methods.\n <p>\n If an exception occurs during the pipeline processing, the Error-branch of the pipeline will be called. If no error\n handling exists for the pipeline, the exception will be propagated and can be handled by the script code.\n </p><p>\n If the pipeline finishes with an End node, the name of the end node can be obtained from the returned pipeline\n dictionary under the key 'EndNodeName'.\n </p><p>\n Example:\n\n </p><pre> let Pipeline = require('dw/system/Pipeline');\n let pdict = Pipeline.execute('MyPipeline-Start', {\n     MyArgString:     'someStringValue',\n     MyArgNumber:     12345,\n     MyArgBoolean:    true\n });\n let result = pdict.MyReturnValue;\n </pre>\n\n This feature requires an API version &gt;=15.5.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "execute": {
              "name": "execute",
              "args": [
                {
                  "name": "pipeline",
                  "description": "the pipeline identifier, must consist of the pipeline name and the start node name, like 'PipelineName-StartNodeName'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PipelineDictionary",
                "description": "the pipeline dictionary with the pipeline results"
              },
              "description": "Executes a pipeline.",
              "deprecated": false
            },
            "execute0": {
              "name": "execute",
              "args": [
                {
                  "name": "pipeline",
                  "description": "the pipeline identifier, must consist of a pipeline name and a start node name, like 'PipelineName-StartNodeName'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "an object whose properties represent the initial values of the pipeline dictionary",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PipelineDictionary",
                "description": "the pipeline dictionary with the pipeline results"
              },
              "description": "Executes a pipeline. The pipeline dictionary will be initialized with the provided arguments.",
              "deprecated": false
            }
          }
        },
        "PipelineDictionary": {
          "fullClassName": "dw.system.PipelineDictionary",
          "package": "dw.system",
          "description": "The class provides access to the values in the pipeline dictionary. You use\n dynamic properties to access values, such as pdict.myvalue or\n pdict['myvalue'];\n <p>\n The class is used in two different contexts, one where access is limited to\n the declared input/output values and second to a context with full access.\n Inside scripts, the PipelineDictionary allows you to access declared in/out\n values (regardless of the alias used in the pipeline and the actual key under\n which the value is stored). In templates and pipelines, all values can be\n accessed. In templates the pipeline dictionary is exposed as variable pdict\n (e.g. ${pdict.Product.ID}).\n </p><p>\n There are several values that are automatically stored in the\n PipelineDictionary with each request. These include but are not limited to:\n\n </p><ul>\n <li>CurrentSession</li>\n <li>CurrentRequest</li>\n <li>CurrentHttpParameterMap</li>\n <li>CurrentForms</li>\n <li>CurrentCustomer</li>\n <li>etc.</li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "Status": {
          "fullClassName": "dw.system.Status",
          "package": "dw.system",
          "description": "A Status is used for communicating an API status code back to a client. A status\n consists of multiple StatusItem. Most often a Status contains only one StatusItem.\n For convenience, a message with parameters is formatted using standard\n formatting patterns. If you want to display locale-specific messages in your\n application, you should use the Status.getCode() as key for a resource bundle.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "code": {
              "name": "code",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The status code either of the first ERROR StatusItem or when there\n is no ERROR StatusITEM, the first StatusItem in the overall list.\n\n The status code is the unique identifier for the message and can be used by\n client programs to check for a specific status and to generate a localized\n message.",
              "deprecated": false,
              "type": "property"
            },
            "details": {
              "name": "details",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The details either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.",
              "deprecated": false,
              "type": "property"
            },
            "error": {
              "name": "error",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Checks if the status is an ERROR. The Status is an ERROR if one of the\n contained StatusItems is an ERROR.",
              "deprecated": false,
              "type": "property"
            },
            "ERROR": {
              "name": "ERROR",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "status value to indicate an ERROR status",
              "deprecated": false,
              "type": "property"
            },
            "items": {
              "name": "items",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "All status items.",
              "deprecated": false,
              "type": "property"
            },
            "message": {
              "name": "message",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The message either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.\n\n Note: Custom code and client programs must not use this message to identify\n a specific status. The getCode() must be used for that purpose. The actual\n message can change from release to release.",
              "deprecated": false,
              "type": "property"
            },
            "OK": {
              "name": "OK",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "status value to indicate an OK status",
              "deprecated": false,
              "type": "property"
            },
            "parameters": {
              "name": "parameters",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The parameters either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The overall status. If all StatusItems are OK, the method returns\n OK. If one StatusItem is an ERROR it returns ERROR.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Status": {
              "name": "Status",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Creates a Status object with no StatusItems.",
              "deprecated": false
            },
            "Status0": {
              "name": "Status",
              "args": [
                {
                  "name": "status",
                  "description": "either OK or ERROR",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a Status with a single StatusItem. The status is set to the given\n value.",
              "deprecated": false
            },
            "Status01": {
              "name": "Status",
              "args": [
                {
                  "name": "status",
                  "description": "either OK or ERROR",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "code",
                  "description": "a string representing a more detailed status code, e.g. \"IMPEX-120\"",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a Status with a single StatusItem. The StatusItem is initialized\n with the given values.",
              "deprecated": false
            },
            "Status012": {
              "name": "Status",
              "args": [
                {
                  "name": "status",
                  "description": "either OK or ERROR",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "code",
                  "description": "a string representing a more detailed status code, e.g. \"IMPEX-120\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "message",
                  "description": "a default human readable message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "a list of parameters to construct a custom message",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a Status with a single StatusItem. The StatusItem is initialized\n with the given values.",
              "deprecated": false
            }
          },
          "methods": {
            "addDetail": {
              "name": "addDetail",
              "args": [
                {
                  "name": "key",
                  "description": "the key of the first ERROR StatusItem or the first StatusItem in the list.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the detail value.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Add detail information for the given key of the first ERROR StatusItem\n or when there is no ERROR StatusItem, the first StatusItem in the overall list.",
              "deprecated": false
            },
            "addItem": {
              "name": "addItem",
              "args": [
                {
                  "name": "item",
                  "description": "the status item to add.",
                  "class": {
                    "name": "StatusItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds an additional status item to this status instance.",
              "deprecated": false
            },
            "getCode": {
              "name": "getCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the status code"
              },
              "description": "Returns the status code either of the first ERROR StatusItem or when there\n is no ERROR StatusITEM, the first StatusItem in the overall list.\n\n The status code is the unique identifier for the message and can be used by\n client programs to check for a specific status and to generate a localized\n message.",
              "deprecated": false
            },
            "getDetail": {
              "name": "getDetail",
              "args": [
                {
                  "name": "key",
                  "description": "the key for the detail to return.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the detail value for the given key of the first ERROR StatusItem or when there is no ERROR StatusItem, the first StatusItem in the overall list."
              },
              "description": "Returns the detail value for the given key of the first ERROR StatusItem\n or when there is no ERROR StatusItem, the first StatusItem in the\n overall list.",
              "deprecated": false
            },
            "getDetails": {
              "name": "getDetails",
              "args": [],
              "class": {
                "name": "Map",
                "description": "the details either of the first ERROR StatusItem or when there is no ERROR StatusItem, the first StatusItem in the overall list."
              },
              "description": "Returns the details either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "List",
                "description": "all status items."
              },
              "description": "Returns all status items.",
              "deprecated": false
            },
            "getMessage": {
              "name": "getMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the message either of the first ERROR StatusItem or when there is no ERROR StatusItem, the first StatusItem in the overall list."
              },
              "description": "Returns the message either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.\n\n Note: Custom code and client programs must not use this message to identify\n a specific status. The getCode() must be used for that purpose. The actual\n message can change from release to release.",
              "deprecated": false
            },
            "getParameters": {
              "name": "getParameters",
              "args": [],
              "class": {
                "name": "List",
                "description": "the parameters either of the first ERROR StatusItem or when there is no ERROR StatusItem, the first StatusItem in the overall list."
              },
              "description": "Returns the parameters either of the first ERROR StatusItem or when there\n is no ERROR StatusItem, the first StatusItem in the overall list.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "either OK or ERROR"
              },
              "description": "Returns the overall status. If all StatusItems are OK, the method returns\n OK. If one StatusItem is an ERROR it returns ERROR.",
              "deprecated": false
            },
            "isError": {
              "name": "isError",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if status is an ERROR, false otherwise."
              },
              "description": "Checks if the status is an ERROR. The Status is an ERROR if one of the\n contained StatusItems is an ERROR.",
              "deprecated": false
            }
          }
        },
        "StatusItem": {
          "fullClassName": "dw.system.StatusItem",
          "package": "dw.system",
          "description": "A StatusItem holds all the status information. Multi StatusItems are bundled\n together into a Status.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "code": {
              "name": "code",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The status code is the unique identifier for the message and can be used by\n client programs to check for a specific status and to generate a localized\n message.",
              "deprecated": false,
              "type": "property"
            },
            "details": {
              "name": "details",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The optional details for this StatusItem.",
              "deprecated": false,
              "type": "property"
            },
            "error": {
              "name": "error",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether this Status Item represents and error.",
              "deprecated": false,
              "type": "property"
            },
            "message": {
              "name": "message",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The default human readable message for this Status.\n\n Note: Custom code and client programs must not use this message to identify\n a specific status. The getCode() must be used for that purpose. The actual\n message can change from release to release.",
              "deprecated": false,
              "type": "property"
            },
            "parameters": {
              "name": "parameters",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "The parameters to construct a custom message.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The status.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "StatusItem": {
              "name": "StatusItem",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new OK StatusItem.",
              "deprecated": false
            },
            "StatusItem0": {
              "name": "StatusItem",
              "args": [
                {
                  "name": "status",
                  "description": "either Status.OK or Status.ERROR.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new StatusItem with the given status.",
              "deprecated": false
            },
            "StatusItem01": {
              "name": "StatusItem",
              "args": [
                {
                  "name": "status",
                  "description": "either Status.OK or Status.ERROR.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "code",
                  "description": "a string representing a more detailed status code, e.g. \"IMPEX-120\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new StatusItem with the given status and code.",
              "deprecated": false
            },
            "StatusItem012": {
              "name": "StatusItem",
              "args": [
                {
                  "name": "status",
                  "description": "Status.OK or Status.ERROR.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "code",
                  "description": "a string representing a more detailed status code, e.g. \"IMPEX-120\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "message",
                  "description": "a default human readable message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "a list of parameters to construct a custom message",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new StatusItem with the given values.",
              "deprecated": false
            }
          },
          "methods": {
            "addDetail": {
              "name": "addDetail",
              "args": [
                {
                  "name": "key",
                  "description": "the key for the detail.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the detail value.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Add an additional detail to this StatusItem.",
              "deprecated": false
            },
            "getCode": {
              "name": "getCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the status code."
              },
              "description": "The status code is the unique identifier for the message and can be used by\n client programs to check for a specific status and to generate a localized\n message.",
              "deprecated": false
            },
            "getDetails": {
              "name": "getDetails",
              "args": [],
              "class": {
                "name": "Map",
                "description": "the optional details for this StatusItem."
              },
              "description": "Returns the optional details for this StatusItem.",
              "deprecated": false
            },
            "getMessage": {
              "name": "getMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the default human readable message for this Status."
              },
              "description": "Returns the default human readable message for this Status.\n\n Note: Custom code and client programs must not use this message to identify\n a specific status. The getCode() must be used for that purpose. The actual\n message can change from release to release.",
              "deprecated": false
            },
            "getParameters": {
              "name": "getParameters",
              "args": [],
              "class": {
                "name": "List",
                "description": "the parameters to construct a custom message."
              },
              "description": "Returns the parameters to construct a custom message.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "either Status.OK or Status.ERROR."
              },
              "description": "Returns the status.",
              "deprecated": false
            },
            "isError": {
              "name": "isError",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true is this item represents an error, false otherwise."
              },
              "description": "Returns whether this Status Item represents and error.",
              "deprecated": false
            },
            "setCode": {
              "name": "setCode",
              "args": [
                {
                  "name": "code",
                  "description": "the status code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Method to set the status code.\n The status code is the unique identifier for the message and can be used by\n client programs to check for a specific status and to generate a localized\n message.",
              "deprecated": false
            },
            "setMessage": {
              "name": "setMessage",
              "args": [
                {
                  "name": "message",
                  "description": "the default human readable message for this Status.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the default human readable message for this Status.",
              "deprecated": false
            },
            "setParameters": {
              "name": "setParameters",
              "args": [
                {
                  "name": "parameters",
                  "description": "the parameters for a custom message.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the parameters for a custom message.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "either Status.OK or Status.ERROR.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the status.",
              "deprecated": false
            }
          }
        }
      },
      "template": {
        "ISML": {
          "fullClassName": "dw.template.ISML",
          "package": "dw.template",
          "description": "This class provides support for rendering ISML templates. For more details about the ISML syntax, refer to the\n Commerce Cloud Digital developer documentation. Templates are stored as *.isml files. They are located in a\n locale-specific folder under the '/cartridge/templates' folder, with '/cartridge/template/default' being the default\n locale. The template name arguments of the various render methods represent the template path (without file ending)\n within this folder structure.\n <p>\n Example for rendering a template with arguments from JavaScript code:\n\n </p><pre> let isml = require('dw/template/ISML');\n isml.renderTemplate('helloworld', {\n     Message: 'Hello, World!'\n });\n </pre>\n\n Example code for accessing the template arguments in the 'helloworld.isml' template from the above code snippet:\n\n <pre> The message is: &lt;isprint value=\"${pdict.Message}\" /&gt;\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "renderTemplate": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "template",
                  "description": "the template path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an ISML template and writes the output to the current response. The template may contain ISML tags which\n control the character encoding, content type, caching behavior and so on of the response (see ISML\n documentation).",
              "deprecated": false
            },
            "renderTemplate0": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "template",
                  "description": "the template path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "templateArgs",
                  "description": "the template arguments object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an ISML template and writes the output to the current response. The template may contain ISML tags which\n control the character encoding, content type, caching behavior and so on of the response (see ISML\n documentation). This method takes an additional JavaScript object as argument. Its properties are accessible for\n script expressions in the template under the \"pdict.*\" variable.",
              "deprecated": false
            },
            "renderTemplate01": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "template",
                  "description": "the template path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an ISML template and writes the output to the current response. The template may contain ISML tags which\n control the character encoding, content type, caching behavior and so on of the response (see ISML\n documentation).",
              "deprecated": false
            },
            "renderTemplate012": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "template",
                  "description": "the template path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "templateArgs",
                  "description": "the template arguments object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an ISML template and writes the output to the current response. The template may contain ISML tags which\n control the character encoding, content type, caching behavior and so on of the response (see ISML\n documentation). This method takes an additional JavaScript object as argument. Its properties are accessible for\n script expressions in the template under the \"pdict.*\" variable.",
              "deprecated": false
            }
          }
        }
      },
      "util": {
        "ArrayList": {
          "fullClassName": "dw.util.ArrayList",
          "package": "dw.util",
          "description": "The ArrayList class is a container for a list of objects.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            },
            {
              "name": "dw.util.List"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "ArrayList": {
              "name": "ArrayList",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new ArrayList.",
              "deprecated": false
            },
            "ArrayList0": {
              "name": "ArrayList",
              "args": [
                {
                  "name": "collection",
                  "description": "the elements to insert into the list.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new ArrayList. The constructor initializes the\n ArrayList with the elements of the given collection.",
              "deprecated": false
            },
            "ArrayList01": {
              "name": "ArrayList",
              "args": [
                {
                  "name": "iterator",
                  "description": "the iterator that provides access to the elements to insert into the list.",
                  "class": {
                    "name": "Iterator"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new ArrayList. The constructor initializes the\n ArrayList with the elements of the given iterator.",
              "deprecated": false
            },
            "ArrayList012": {
              "name": "ArrayList",
              "args": [
                {
                  "name": "values",
                  "description": "the set of objects to insert into the list.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new ArrayList. The constructor initializes the\n ArrayList with the arguments given as constructor parameters. The method\n can also be called with an ECMA array as argument.\n\n If called with a single ECMA array as argument the individual elements of\n that array are used to initialize the ArrayList. To create an ArrayList\n with a single array as element, create an empty ArrayList and then call\n the method add1() on it.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "ArrayList",
                "description": "a shallow copy of this array list."
              },
              "description": "Returns a shallow copy of this array list.",
              "deprecated": false
            }
          }
        },
        "Assert": {
          "fullClassName": "dw.util.Assert",
          "package": "dw.util",
          "description": "The Assert class provides utility methods for assertion events.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "areEqual": {
              "name": "areEqual",
              "args": [
                {
                  "name": "arg1",
                  "description": "the first object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg2",
                  "description": "the second object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion\n if the specified objects are not equal.",
              "deprecated": false
            },
            "areEqual0": {
              "name": "areEqual",
              "args": [
                {
                  "name": "arg1",
                  "description": "the first object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg2",
                  "description": "the second object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified objects are not equal.",
              "deprecated": false
            },
            "areSame": {
              "name": "areSame",
              "args": [
                {
                  "name": "arg1",
                  "description": "the first object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg2",
                  "description": "the second object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion\n if the specified objects are not the same.",
              "deprecated": false
            },
            "areSame0": {
              "name": "areSame",
              "args": [
                {
                  "name": "arg1",
                  "description": "the first object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg2",
                  "description": "the second object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified objects are not the same.",
              "deprecated": false
            },
            "fail": {
              "name": "fail",
              "args": [],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates a failure assertion.",
              "deprecated": false
            },
            "fail0": {
              "name": "fail",
              "args": [
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates a failure assertion using the\n specified message.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion\n if the specified check does not evaluate to\n an empty object.",
              "deprecated": false
            },
            "isEmpty0": {
              "name": "isEmpty",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified check does not evaluate to\n an empty object.",
              "deprecated": false
            },
            "isFalse": {
              "name": "isFalse",
              "args": [
                {
                  "name": "check",
                  "description": "the condition to check.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion if the\n specified check does not evaluate to false.",
              "deprecated": false
            },
            "isFalse0": {
              "name": "isFalse",
              "args": [
                {
                  "name": "check",
                  "description": "the condition to check.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified check does not evaluate to false.",
              "deprecated": false
            },
            "isInstanceOf": {
              "name": "isInstanceOf",
              "args": [
                {
                  "name": "clazz",
                  "description": "the scripting class to use to check the object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion if the specified object 'arg' is not an instance\n of the specified class 'clazz'.\n \n For example, the following call does not propagate an assertion:\n  \n     var test = new dw.util.HashMap();\n     dw.util.Assert.isInstanceOf(dw.util.HashMap, test);\n \n \n \n But the following call will propagate an assertion:\n  \n     var test = new dw.util.Set();\n     dw.util.Assert.isInstanceOf(dw.util.HashMap, test);\n \n \n \n Note that 'clazz' can only be a Demandware API Scripting class.",
              "deprecated": false
            },
            "isInstanceOf0": {
              "name": "isInstanceOf",
              "args": [
                {
                  "name": "clazz",
                  "description": "the scripting class to use to check the object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified object is not an instance of the specified class.\n \n For example, the following call does not propagate an assertion:\n  \n     var test = new dw.util.HashMap();\n     dw.util.Assert.isInstanceOf(dw.util.HashMap, test);\n \n \n \n But the following call will propagate an assertion:\n  \n     var test = new dw.util.Set();\n     dw.util.Assert.isInstanceOf(dw.util.HashMap, test);\n \n \n \n Note that 'clazz' can only be a Demandware API Scripting class.",
              "deprecated": false
            },
            "isNotEmpty": {
              "name": "isNotEmpty",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion\n if the specified object is empty.",
              "deprecated": false
            },
            "isNotEmpty0": {
              "name": "isNotEmpty",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified object is empty.",
              "deprecated": false
            },
            "isNotNull": {
              "name": "isNotNull",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion if the\n specified object is null.",
              "deprecated": false
            },
            "isNotNull0": {
              "name": "isNotNull",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified object is null.",
              "deprecated": false
            },
            "isNull": {
              "name": "isNull",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion\n if the specified object is not null.",
              "deprecated": false
            },
            "isNull0": {
              "name": "isNull",
              "args": [
                {
                  "name": "arg",
                  "description": "the object to check.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified object is not null.",
              "deprecated": false
            },
            "isTrue": {
              "name": "isTrue",
              "args": [
                {
                  "name": "check",
                  "description": "the condition to check.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion if the\n specified check does not evaluate to true.",
              "deprecated": false
            },
            "isTrue0": {
              "name": "isTrue",
              "args": [
                {
                  "name": "check",
                  "description": "the condition to check.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "msg",
                  "description": "the assertion message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Propagates an assertion using the specified message\n if the specified check does not evaluate to true.",
              "deprecated": false
            }
          }
        },
        "BigInteger": {
          "fullClassName": "dw.util.BigInteger",
          "package": "dw.util",
          "description": "The Integer class is a helper class to represent an arbitrary long integer number.\n The Demandware framework doesn't use this class, but in some special cases\n web services that declare a XML element with \"xsd:integer\", which is by definition\n an arbitrary long integer number, require the use of this class.\n\n The class is designed in a way that it can be used very similar to a\n desktop calculator. For example:\n\n <code>\n var i = new Integer( 10 );\n var result = d.add( 2 ).sub( 3 ).get();\n </code>\n\n The above code will return 9 as result.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "BigInteger": {
              "name": "BigInteger",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new Integer with the value 0.",
              "deprecated": false
            },
            "BigInteger0": {
              "name": "BigInteger",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new Integer using the specified Number value.",
              "deprecated": false
            },
            "BigInteger01": {
              "name": "BigInteger",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new Integer using the specified string representation of\n a number.",
              "deprecated": false
            }
          },
          "methods": {
            "abs": {
              "name": "abs",
              "args": [],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer"
              },
              "description": "Returns a new Integer with the absolute value of this Integer.",
              "deprecated": false
            },
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this Integer.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer with the value added."
              },
              "description": "Adds a Number value to this Integer and returns the new Integer.",
              "deprecated": false
            },
            "add0": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this Integer.",
                  "class": {
                    "name": "BigInteger"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer with the value added."
              },
              "description": "Adds an Integer value to this Integer and returns the new Integer.",
              "deprecated": false
            },
            "divide": {
              "name": "divide",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use to divide this Integer.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer."
              },
              "description": "Divides this Integer by the specified Integer and returns the new Integer.",
              "deprecated": false
            },
            "divide0": {
              "name": "divide",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use to divide this Integer.",
                  "class": {
                    "name": "BigInteger"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer."
              },
              "description": "Divides this Integer by the specified Integer and returns the new Integer.",
              "deprecated": false
            },
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "other",
                  "description": "the object to compare against this Integer.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Compares two Integer values whether they are equivalent.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the Integer."
              },
              "description": "Returns the value of the Integer as a Number.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Calculates the hash code for this Integer;",
              "deprecated": false
            },
            "multiply": {
              "name": "multiply",
              "args": [
                {
                  "name": "value",
                  "description": "the value to multiply with this Integer.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer."
              },
              "description": "Multiples the specified Number value with this Integer and returns the new Integer.",
              "deprecated": false
            },
            "multiply0": {
              "name": "multiply",
              "args": [
                {
                  "name": "value",
                  "description": "the value to multiply with this Integer.",
                  "class": {
                    "name": "BigInteger"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer."
              },
              "description": "Multiples the specified Integer value with this Integer and returns the new Integer.",
              "deprecated": false
            },
            "negate": {
              "name": "negate",
              "args": [],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer"
              },
              "description": "Returns a new Integer with the negated value of this Integer.",
              "deprecated": false
            },
            "subtract": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this Integer.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer with the value subtraced."
              },
              "description": "Subtracts the specified Number value from this Integer and returns the new Integer.",
              "deprecated": false
            },
            "subtract0": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this Integer.",
                  "class": {
                    "name": "BigInteger"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "BigInteger",
                "description": "the new Integer with the value subtraced."
              },
              "description": "Subtracts the specified Integer value from this Integer and returns the new Integer.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this object."
              },
              "description": "Returns a string representation of this object.",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the value of this object."
              },
              "description": "The valueOf() method is called by the ECMAScript interpret to return\n the \"natural\" value of an object. The Inetger object returns its\n current value as number. With this behavior script snippets can\n be written like:\n\n \n var i = new Integer( 10 );\n var x = 1 + d.add( 2 );\n \n\n where x will be at the end 13.",
              "deprecated": false
            }
          }
        },
        "Bytes": {
          "fullClassName": "dw.util.Bytes",
          "package": "dw.util",
          "description": "A simple immutable class representing an array of bytes, used for working\n with binary data in a scripting context.\n <p>\n It acts as a view to <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a>. The buffer can be accessed through <a href=\"class_dw_util_Bytes.html#dw_util_Bytes_asUint8Array_DetailAnchor\">asUint8Array()</a>.\n\n <b>Limitation:</b>\n The size of the resulting byte representation is limited by the quota <i>api.jsArrayBufferSize</i> that is defining the max size for a <a href=\"class_TopLevel_ArrayBuffer.html\">ArrayBuffer</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "MAX_BYTES": {
              "name": "MAX_BYTES",
              "value": "10240L",
              "class": {
                "name": "Number"
              },
              "description": "The maximum number of bytes that a Bytes object can represent == 10KB",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {
            "length": {
              "name": "length",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of bytes represented by this object.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Bytes": {
              "name": "Bytes",
              "args": [
                {
                  "name": "arrayBufferOrView",
                  "description": "An ArrayBuffer or view to a buffer that is the storage.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a Bytes object from the given ArrayBuffer or view. The bytes object also acts as a\n view on the underlying ArrayBuffer. If a view is given that makes only a part of the storage\n array visible then this Bytes object will also make only the same part visible. The storage data is not copied.",
              "deprecated": false
            },
            "Bytes0": {
              "name": "Bytes",
              "args": [
                {
                  "name": "string",
                  "description": "The string to encode into a Bytes object, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a Bytes object from the given string using the default\n encoding. Convenience for Bytes( string, \"UTF-8\" ).",
              "deprecated": false
            },
            "Bytes01": {
              "name": "Bytes",
              "args": [
                {
                  "name": "string",
                  "description": "The string to encode into a Bytes object, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "The name of a supported encoding, or null in which case the default encoding (UTF-8) is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a Bytes object from the given string using the given encoding.\n This method always replaces malformed input and unmappable character\n sequences with encoding defaults.",
              "deprecated": false
            }
          },
          "methods": {
            "asUint8Array": {
              "name": "asUint8Array",
              "args": [],
              "class": {
                "name": "Object",
                "description": "A newly created Uint8Array based on the existing ArrayBuffer."
              },
              "description": "Returns a Uint8Array based on the ArrayBuffer used for this Bytes object.\n Changes to the returned ArrayBuffer will be visible in the Bytes object.",
              "deprecated": false
            },
            "byteAt": {
              "name": "byteAt",
              "args": [
                {
                  "name": "index",
                  "description": "The index of the byte.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The byte value at the specified index."
              },
              "description": "Returns the value of the byte at position index as an integer. If index\n is out of range an exception is thrown. The byte is interpreted as signed\n and so the value returned will always be between -128 and +127.",
              "deprecated": false
            },
            "bytesAt": {
              "name": "bytesAt",
              "args": [
                {
                  "name": "index",
                  "description": "The initial index for the new view, inclusive.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "length",
                  "description": "The number of bytes visible in the new view.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "a new Bytes object representing a subsequence of this Bytes object."
              },
              "description": "Return a new Bytes object containing the subsequence of this object's bytes specified by the index and length\n parameters. The returned object is a new view onto the same data, no data is copied.",
              "deprecated": false
            },
            "getLength": {
              "name": "getLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The number of bytes."
              },
              "description": "Returns the number of bytes represented by this object.",
              "deprecated": false
            },
            "intAt": {
              "name": "intAt",
              "args": [
                {
                  "name": "index",
                  "description": "The byte index at which to read the number.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The read number."
              },
              "description": "Absolute get method for reading a signed integer value (32 bit) in\n network byte order(= big endian).",
              "deprecated": false
            },
            "reverse": {
              "name": "reverse",
              "args": [],
              "class": {
                "name": "Bytes",
                "description": "a new Bytes object representing the reverse of this Bytes object."
              },
              "description": "Return a new Bytes object which has the same bytes as this one in reverse\n order.",
              "deprecated": false
            },
            "shortAt": {
              "name": "shortAt",
              "args": [
                {
                  "name": "index",
                  "description": "The byte index at which to read the number.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The read number."
              },
              "description": "Absolute get method for reading a signed short value (16 bit) in network\n byte order(= big endian).",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "A String representing the decoded array of bytes."
              },
              "description": "Constructs a new String by decoding this array of bytes using the\n default encoding. Convenience for toString( \"UTF-8\" ).\n Limitation:\n The method is protected by the quota api.jsStringLength that prevents creation of too long strings.",
              "deprecated": false
            },
            "toString01": {
              "name": "toString",
              "args": [
                {
                  "name": "encoding",
                  "description": "The name of a supported encoding.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "A String representing the decoded array of bytes."
              },
              "description": "Constructs a new String by decoding this array of bytes using the\n specified encoding.\n Limitation:\n The method is protected by the quota api.jsStringLength that prevents creation of too long strings.",
              "deprecated": false
            }
          }
        },
        "Calendar": {
          "fullClassName": "dw.util.Calendar",
          "package": "dw.util",
          "description": "Represents a Calendar and is based on the java.util.Calendar\n class. Refer to the java.util.Calendar documentation for\n more information.<br><br>\n <b>IMPORTANT NOTE:</b> Please use the <a href=\"class_dw_util_StringUtils.html#dw_util_StringUtils_formatCalendar_Calendar_DetailAnchor\">StringUtils.formatCalendar(Calendar)</a>\n functions to convert a Calendar object into a String.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "AM_PM": {
              "name": "AM_PM",
              "value": "9",
              "class": {
                "name": "Number"
              },
              "description": "Indicates whether the HOUR is before or after noon.",
              "deprecated": false,
              "type": "constant"
            },
            "APRIL": {
              "name": "APRIL",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing April.",
              "deprecated": false,
              "type": "constant"
            },
            "AUGUST": {
              "name": "AUGUST",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing August.",
              "deprecated": false,
              "type": "constant"
            },
            "DATE": {
              "name": "DATE",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Represents a date.",
              "deprecated": false,
              "type": "constant"
            },
            "DAY_OF_MONTH": {
              "name": "DAY_OF_MONTH",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Represents a day of the month.",
              "deprecated": false,
              "type": "constant"
            },
            "DAY_OF_WEEK": {
              "name": "DAY_OF_WEEK",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Represents a day of the week.",
              "deprecated": false,
              "type": "constant"
            },
            "DAY_OF_WEEK_IN_MONTH": {
              "name": "DAY_OF_WEEK_IN_MONTH",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "Represents a day of the week in a month.",
              "deprecated": false,
              "type": "constant"
            },
            "DAY_OF_YEAR": {
              "name": "DAY_OF_YEAR",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Represents a day of the year.",
              "deprecated": false,
              "type": "constant"
            },
            "DECEMBER": {
              "name": "DECEMBER",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing December.",
              "deprecated": false,
              "type": "constant"
            },
            "DST_OFFSET": {
              "name": "DST_OFFSET",
              "value": "16",
              "class": {
                "name": "Number"
              },
              "description": "Indicates the daylight savings offset in milliseconds.",
              "deprecated": false,
              "type": "constant"
            },
            "ERA": {
              "name": "ERA",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Indicates the era such as 'AD' or 'BC' in the Julian calendar.",
              "deprecated": false,
              "type": "constant"
            },
            "FEBRUARY": {
              "name": "FEBRUARY",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing February.",
              "deprecated": false,
              "type": "constant"
            },
            "FRIDAY": {
              "name": "FRIDAY",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Friday.",
              "deprecated": false,
              "type": "constant"
            },
            "HOUR": {
              "name": "HOUR",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "Represents an hour.",
              "deprecated": false,
              "type": "constant"
            },
            "HOUR_OF_DAY": {
              "name": "HOUR_OF_DAY",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "Represents an hour of the day.",
              "deprecated": false,
              "type": "constant"
            },
            "INPUT_DATE_PATTERN": {
              "name": "INPUT_DATE_PATTERN",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "The input date pattern, for instance MM/dd/yyyy",
              "deprecated": false,
              "type": "constant"
            },
            "INPUT_DATE_TIME_PATTERN": {
              "name": "INPUT_DATE_TIME_PATTERN",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "The input date time pattern, for instance MM/dd/yyyy h:mm a",
              "deprecated": false,
              "type": "constant"
            },
            "INPUT_TIME_PATTERN": {
              "name": "INPUT_TIME_PATTERN",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "The input time pattern, for instance h:mm a",
              "deprecated": false,
              "type": "constant"
            },
            "JANUARY": {
              "name": "JANUARY",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing January.",
              "deprecated": false,
              "type": "constant"
            },
            "JULY": {
              "name": "JULY",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing July.",
              "deprecated": false,
              "type": "constant"
            },
            "JUNE": {
              "name": "JUNE",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing June.",
              "deprecated": false,
              "type": "constant"
            },
            "LONG_DATE_PATTERN": {
              "name": "LONG_DATE_PATTERN",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "The long date pattern, for instance MMM/d/yyyy",
              "deprecated": false,
              "type": "constant"
            },
            "MARCH": {
              "name": "MARCH",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing March.",
              "deprecated": false,
              "type": "constant"
            },
            "MAY": {
              "name": "MAY",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing May.",
              "deprecated": false,
              "type": "constant"
            },
            "MILLISECOND": {
              "name": "MILLISECOND",
              "value": "14",
              "class": {
                "name": "Number"
              },
              "description": "Represents a millisecond.",
              "deprecated": false,
              "type": "constant"
            },
            "MINUTE": {
              "name": "MINUTE",
              "value": "12",
              "class": {
                "name": "Number"
              },
              "description": "Represents a minute.",
              "deprecated": false,
              "type": "constant"
            },
            "MONDAY": {
              "name": "MONDAY",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Monday.",
              "deprecated": false,
              "type": "constant"
            },
            "MONTH": {
              "name": "MONTH",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents a month where the first month of the year is 0.",
              "deprecated": false,
              "type": "constant"
            },
            "NOVEMBER": {
              "name": "NOVEMBER",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing November.",
              "deprecated": false,
              "type": "constant"
            },
            "OCTOBER": {
              "name": "OCTOBER",
              "value": "9",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing October.",
              "deprecated": false,
              "type": "constant"
            },
            "SATURDAY": {
              "name": "SATURDAY",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Saturday.",
              "deprecated": false,
              "type": "constant"
            },
            "SECOND": {
              "name": "SECOND",
              "value": "13",
              "class": {
                "name": "Number"
              },
              "description": "Represents a second.",
              "deprecated": false,
              "type": "constant"
            },
            "SEPTEMBER": {
              "name": "SEPTEMBER",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "Value for the month of year field representing September.",
              "deprecated": false,
              "type": "constant"
            },
            "SHORT_DATE_PATTERN": {
              "name": "SHORT_DATE_PATTERN",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "The short date pattern, for instance M/d/yy",
              "deprecated": false,
              "type": "constant"
            },
            "SUNDAY": {
              "name": "SUNDAY",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Sunday.",
              "deprecated": false,
              "type": "constant"
            },
            "THURSDAY": {
              "name": "THURSDAY",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Thursday.",
              "deprecated": false,
              "type": "constant"
            },
            "TIME_PATTERN": {
              "name": "TIME_PATTERN",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "The time pattern, for instance h:mm:ss a",
              "deprecated": false,
              "type": "constant"
            },
            "TUESDAY": {
              "name": "TUESDAY",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Tuesday.",
              "deprecated": false,
              "type": "constant"
            },
            "WEDNESDAY": {
              "name": "WEDNESDAY",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Value for the day of the week field representing Wednesday.",
              "deprecated": false,
              "type": "constant"
            },
            "WEEK_OF_MONTH": {
              "name": "WEEK_OF_MONTH",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Represents a week of the month.",
              "deprecated": false,
              "type": "constant"
            },
            "WEEK_OF_YEAR": {
              "name": "WEEK_OF_YEAR",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Represents a week in the year.",
              "deprecated": false,
              "type": "constant"
            },
            "YEAR": {
              "name": "YEAR",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents a year.",
              "deprecated": false,
              "type": "constant"
            },
            "ZONE_OFFSET": {
              "name": "ZONE_OFFSET",
              "value": "15",
              "class": {
                "name": "Number"
              },
              "description": "Indicates the raw offset from GMT in milliseconds.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "firstDayOfWeek": {
              "name": "firstDayOfWeek",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The first day of the week base on locale context. For example, in the US\n the first day of the week is SUNDAY. However, in France the\n first day of the week is MONDAY.",
              "deprecated": false,
              "type": "property"
            },
            "time": {
              "name": "time",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "The current time stamp of this calendar. This method\n is also used to convert a Calendar into a Date.\n \n WARNING: Keep in mind that the returned Date object's time is always\n          interpreted in the time zone GMT. This means time zone information\n          set at the calendar object will not be honored and gets lost.",
              "deprecated": false,
              "type": "property"
            },
            "timeZone": {
              "name": "timeZone",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The current time zone of this calendar.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Calendar": {
              "name": "Calendar",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Creates a new Calendar object that is set to the current\n time. The default time zone of the Calendar object is GMT.\n \n WARNING: Keep in mind that the time stamp represented by the new calendar\n          is always interpreted in the time zone GMT. This means time zone\n          information at the calendar object needs to be set separately by\n          using the setTimeZone(String) method.",
              "deprecated": false
            },
            "Calendar0": {
              "name": "Calendar",
              "args": [
                {
                  "name": "date",
                  "description": "the date for which the calendar will be set.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new Calendar object for the given Date object. The time is set to\n the given Date object's time. The default time zone of the Calendar object is GMT.\n \n WARNING: Keep in mind that the given Date object is always\n          interpreted in the time zone GMT. This means time zone\n          information at the calendar object needs to be set separately by\n          using the setTimeZone(String) method.",
              "deprecated": false
            }
          },
          "methods": {
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the amount of date or time to be added to the field",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds or subtracts the specified amount of time to the given\n calendar field, based on the calendar's rules.",
              "deprecated": false
            },
            "after": {
              "name": "after",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to test.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this Calendar represents a time after the time represented by the specified Object, false otherwise."
              },
              "description": "Indicates if this Calendar represents a time after\n the time represented by the specified Object.",
              "deprecated": false
            },
            "before": {
              "name": "before",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to test.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this Calendar represents a time before the time represented by the specified Object, false otherwise."
              },
              "description": "Indicates if this Calendar represents a time before\n the time represented by the specified Object.",
              "deprecated": false
            },
            "clear": {
              "name": "clear",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets all the calendar field values and the time value\n (millisecond offset from the Epoch) of this Calendar undefined.",
              "deprecated": false
            },
            "clear0": {
              "name": "clear",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field to be cleared.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the given calendar field value and the time value\n (millisecond offset from the Epoch) of this Calendar undefined.",
              "deprecated": false
            },
            "compareTo": {
              "name": "compareTo",
              "args": [
                {
                  "name": "anotherCalendar",
                  "description": "the Calendar to be compared.",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the value 0 if the time represented by the argument is equal to the time represented by this Calendar; a value less than 0 if the time of this Calendar is before the time represented by the argument; and a value greater than 0 if the time of this Calendar is after the time represented by the argument."
              },
              "description": "Compares the time values (millisecond offsets from the Epoch)\n represented by two Calendar objects.",
              "deprecated": false
            },
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "other",
                  "description": "the object to compare against this calendar.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Compares two calendar values whether they are equivalent.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field to retrieve.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the value for the given calendar field."
              },
              "description": "Returns the value of the given calendar field.",
              "deprecated": false
            },
            "getActualMaximum": {
              "name": "getActualMaximum",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the maximum value that the specified calendar field could have."
              },
              "description": "Returns the maximum value that the specified calendar\n field could have.",
              "deprecated": false
            },
            "getActualMinimum": {
              "name": "getActualMinimum",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the minimum value that the specified calendar field could have."
              },
              "description": "Returns the minimum value that the specified calendar\n field could have.",
              "deprecated": false
            },
            "getFirstDayOfWeek": {
              "name": "getFirstDayOfWeek",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the first day of the week base on locale context. For example, in the US the first day of the week is SUNDAY. However, in France the first day of the week is MONDAY."
              },
              "description": "Returns the first day of the week base on locale context. For example, in the US\n the first day of the week is SUNDAY. However, in France the\n first day of the week is MONDAY.",
              "deprecated": false
            },
            "getMaximum": {
              "name": "getMaximum",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the maximum value for the given calendar field."
              },
              "description": "Returns the maximum value for the given calendar\n field.",
              "deprecated": false
            },
            "getMinimum": {
              "name": "getMinimum",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the minimum value for the given calendar field."
              },
              "description": "Returns the minimum value for the given calendar\n field.",
              "deprecated": false
            },
            "getTime": {
              "name": "getTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the current time stamp of this calendar as a Date."
              },
              "description": "Returns the current time stamp of this calendar. This method\n is also used to convert a Calendar into a Date.\n \n WARNING: Keep in mind that the returned Date object's time is always\n          interpreted in the time zone GMT. This means time zone information\n          set at the calendar object will not be honored and gets lost.",
              "deprecated": false
            },
            "getTimeZone": {
              "name": "getTimeZone",
              "args": [],
              "class": {
                "name": "String",
                "description": "the current time zone of this calendar."
              },
              "description": "Returns the current time zone of this calendar.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Calculates the hash code for a calendar;",
              "deprecated": false
            },
            "isLeapYear": {
              "name": "isLeapYear",
              "args": [
                {
                  "name": "year",
                  "description": "the year to test.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified year is a leap year."
              },
              "description": "Indicates if the specified year is a leap year.",
              "deprecated": false
            },
            "isSameDay": {
              "name": "isSameDay",
              "args": [
                {
                  "name": "other",
                  "description": "the calendar to compare against this calendar.",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Checks, whether two calendar dates fall on the same day.\n \n The method performs comparison based on both calendar's\n field values by honoring the defined time zones.\n \n \n Examples:\n \n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDay( new Calendar( new Date( \"2002/02/28 06:01\" ) ) );\n would return true.\n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDay( new Calendar( new Date( \"2002/02/12 13:45\" ) ) );\n would return false.\n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDay( new Calendar( new Date( \"1970/02/28 13:45\" ) ) );\n would return false.\n  var cal1 = new Calendar( new Date( \"2002/02/28 02:00\" );\n cal1.setTimeZone( \"Etc/GMT+1\" );\n var cal2 = new Calendar( new Date( \"2002/02/28 00:00\" );\n cal2.setTimeZone( \"Etc/GMT+1\" );\n cal1.isSameDay( cal2 );\n would return false since the time zone is applied first which results in comparing 2002/02/28 01:00 for cal1\n with 2002/02/27 23:00 for cal2.",
              "deprecated": false
            },
            "isSameDayByTimestamp": {
              "name": "isSameDayByTimestamp",
              "args": [
                {
                  "name": "other",
                  "description": "the calendar to compare against this calendar.",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Checks, whether two calendar dates fall on the same day.\n \n The method performs comparison based on both calendar's\n time stamps by ignoring any defined time zones.\n \n \n Examples:\n \n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDayByTimestamp( new Calendar( new Date( \"2002/02/28 06:01\" ) ) );\n would return true.\n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDayByTimestamp( new Calendar( new Date( \"2002/02/12 13:45\" ) ) );\n would return false.\n new Calendar( new Date( \"2002/02/28 13:45\" ).isSameDayByTimestamp( new Calendar( new Date( \"1970/02/28 13:45\" ) ) );\n would return false.\n  var cal1 = new Calendar( new Date( \"2002/02/28 02:00\" );\n cal1.setTimeZone( \"Etc/GMT+1\" );\n var cal2 = new Calendar( new Date( \"2002/02/28 00:00\" );\n cal2.setTimeZone( \"Etc/GMT+1\" );\n cal1.isSameDayByTimestamp( cal2 );\n would return true since the time zone is not applied first which results in comparing 2002/02/28 02:00 for cal1\n with 2002/02/28 00:00 for cal2.",
              "deprecated": false
            },
            "isSet": {
              "name": "isSet",
              "args": [
                {
                  "name": "field",
                  "description": "the field to test.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the field is set, false otherwise."
              },
              "description": "Indicates if the field is set.",
              "deprecated": false
            },
            "parseByFormat": {
              "name": "parseByFormat",
              "args": [
                {
                  "name": "timeString",
                  "description": "the time string to parsed",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the time format string",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Parses the string according to the date and time format pattern and set\n the time at this calendar object. For the specification of the date and\n time format pattern see the javadoc of the JDK class java.text.SimpleDateFormat.\n If a time zone is included in the format string,\n this time zone is used to interpet the time. Otherwise the currently set\n calendar time zone is used to parse the given time string.",
              "deprecated": false
            },
            "parseByLocale": {
              "name": "parseByLocale",
              "args": [
                {
                  "name": "timeString",
                  "description": "the time string to parsed",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the locale id, which defines the date format pattern",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "pattern",
                  "description": "the pattern is one of calendar pattern e.g. SHORT_DATE_PATTERN as defined in the regional settings for the locale",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Parses the string according the date format pattern of the given locale.\n If the locale name is invalid, an exception is thrown. The currently set\n calendar time zone is used to parse the given time string.",
              "deprecated": false
            },
            "roll": {
              "name": "roll",
              "args": [
                {
                  "name": "field",
                  "description": "the field to roll.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "up",
                  "description": "if true rolls the field up, if false rolls the field down.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Rolls the specified field up or down one value.",
              "deprecated": false
            },
            "roll0": {
              "name": "roll",
              "args": [
                {
                  "name": "field",
                  "description": "the field to roll.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "amount",
                  "description": "the amount to roll the field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Rolls the specified field using the specified value.",
              "deprecated": false
            },
            "set": {
              "name": "set",
              "args": [
                {
                  "name": "field",
                  "description": "the calendar field to set.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to set in the field.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the given calendar field to the given value.",
              "deprecated": false
            },
            "set0": {
              "name": "set",
              "args": [
                {
                  "name": "year",
                  "description": "the value for year.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "month",
                  "description": "the value for month.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "date",
                  "description": "the value for date.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH.",
              "deprecated": false
            },
            "set01": {
              "name": "set",
              "args": [
                {
                  "name": "year",
                  "description": "the value for year.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "month",
                  "description": "the value for month.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "date",
                  "description": "the value for date.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "hourOfDay",
                  "description": "the value for hour of day.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "minute",
                  "description": "the value for minute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the values for the calendar fields YEAR, MONTH,\n DAY_OF_MONTH, HOUR_OF_DAY, and MINUTE.",
              "deprecated": false
            },
            "set012": {
              "name": "set",
              "args": [
                {
                  "name": "year",
                  "description": "the value for year.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "month",
                  "description": "the value for month.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "date",
                  "description": "the value for date.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "hourOfDay",
                  "description": "the value for hour of day.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "minute",
                  "description": "the value for minute.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "second",
                  "description": "the value for second.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the values for the calendar fields YEAR, MONTH,\n DAY_OF_MONTH, HOUR_OF_DAY, MINUTE and SECOND.",
              "deprecated": false
            },
            "setFirstDayOfWeek": {
              "name": "setFirstDayOfWeek",
              "args": [
                {
                  "name": "value",
                  "description": "the day to set as the first day of the week.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets what the first day of the week is.",
              "deprecated": false
            },
            "setTime": {
              "name": "setTime",
              "args": [
                {
                  "name": "date",
                  "description": "the current time stamp of this calendar.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the current time stamp of this calendar.\n \n WARNING: Keep in mind that the set Date object's time is always\n          interpreted in the time zone GMT. This means that time zone\n          information at the calendar object needs to be set separately by\n          using the setTimeZone(String) method.",
              "deprecated": false
            },
            "setTimeZone": {
              "name": "setTimeZone",
              "args": [
                {
                  "name": "timeZone",
                  "description": "the current time zone value to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the current time zone of this calendar.\n \n WARNING: Keep in mind that the time stamp represented by the calendar is\n          always interpreted in the time zone GMT. Changing the time zone will not\n          change the calendar's time stamp.",
              "deprecated": false
            }
          }
        },
        "Collection": {
          "fullClassName": "dw.util.Collection",
          "package": "dw.util",
          "description": "Represents a collection of objects.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the collection is empty.",
              "deprecated": false,
              "type": "property"
            },
            "length": {
              "name": "length",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The length of the collection. This is similar to\n to a ECMA array of 'products.length'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "values",
                  "description": "the values to add.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the values were added, false otherwise."
              },
              "description": "Adds the specified objects to the collection. The method can also\n be called with an ECMA array as argument.\n\n If called with a single ECMA array as argument the individual elements of\n that array are added to the collection. If the array object itself should\n be added use the method add1().",
              "deprecated": false
            },
            "add1": {
              "name": "add1",
              "args": [
                {
                  "name": "object",
                  "description": "the object to add.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the object was added, false otherwise."
              },
              "description": "The method adds a single object to the collection.",
              "deprecated": false
            },
            "addAll": {
              "name": "addAll",
              "args": [
                {
                  "name": "objs",
                  "description": "the objects to add.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the objects were added, false otherwise."
              },
              "description": "Adds the collection of objects to the collection.",
              "deprecated": false
            },
            "clear": {
              "name": "clear",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Clears the collection.",
              "deprecated": false
            },
            "contains": {
              "name": "contains",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to locate in this collection.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the collection contains the specified object, false otherwise."
              },
              "description": "Returns true if the collection contains the specified object.",
              "deprecated": false
            },
            "containsAll": {
              "name": "containsAll",
              "args": [
                {
                  "name": "objs",
                  "description": "the collection of objects to locate in this collection.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the collection contains all of the specified objects, false otherwise."
              },
              "description": "Returns true if the collection contains all of the objects\n in the specified collection.",
              "deprecated": false
            },
            "getLength": {
              "name": "getLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the length of the collection."
              },
              "description": "Returns the length of the collection. This is similar to\n to a ECMA array of 'products.length'.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the collection is empty, false otherwise"
              },
              "description": "Returns true if the collection is empty.",
              "deprecated": false
            },
            "iterator": {
              "name": "iterator",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "an iterator that can be used to access the members of the collection."
              },
              "description": "Returns an iterator that can be used to access\n the members of the collection.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to remove.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified object was removed, false otherwise."
              },
              "description": "Removes the specified object from the collection.",
              "deprecated": false
            },
            "removeAll": {
              "name": "removeAll",
              "args": [
                {
                  "name": "objs",
                  "description": "the collection of objects to remove.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the all of the specified objects were removed, false otherwise."
              },
              "description": "Removes all of object in the specified object from the collection.",
              "deprecated": false
            },
            "retainAll": {
              "name": "retainAll",
              "args": [
                {
                  "name": "objs",
                  "description": "the collection of objects to retain in the collection.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the collection retains all of the specified objects, false otherwise."
              },
              "description": "Removes all of object in the collection that are not in the\n specified collection.",
              "deprecated": false
            },
            "size": {
              "name": "size",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size of the collection."
              },
              "description": "Returns the size of the collection.",
              "deprecated": false
            },
            "toArray": {
              "name": "toArray",
              "args": [],
              "class": {
                "name": "Array",
                "description": "a newly created array."
              },
              "description": "Returns all elements of this collection in a newly created array. The returned array is independent of this collection and\n can be modified without changing the collection. The elements in the array are in the same order as they are returned when\n iterating over this collection.",
              "deprecated": false
            },
            "toArray0": {
              "name": "toArray",
              "args": [
                {
                  "name": "start",
                  "description": "the number of elements to iterate before adding elements to the array. Negative values are treated as 0.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "size",
                  "description": "the maximum number of elements to add to the array. Nonpositive values always result in empty array.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Array",
                "description": "a newly created array."
              },
              "description": "Returns a subset of the elements of this collection in a newly created array. The returned array is independent of this collection and\n can be modified without changing the collection. The elements in the array are in the same order as they are returned when\n iterating over this collection.",
              "deprecated": false
            }
          }
        },
        "Currency": {
          "fullClassName": "dw.util.Currency",
          "package": "dw.util",
          "description": "Represents a currency supported by the system.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the ISO 4217 mnemonic currency code of this currency.",
              "deprecated": false,
              "type": "property"
            },
            "defaultFractionDigits": {
              "name": "defaultFractionDigits",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the default number of fraction digits used with this currency.\n For example, the default number of fraction digits for the Euro is 2,\n while for the Japanese Yen it's 0.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets a long name for this currency. e.g. \"United States Dollar\".\n The returned name is the one stored in the system for this currency.\n Currently only English names are available, but in the future\n this method may return a locale-specific name.",
              "deprecated": false,
              "type": "property"
            },
            "symbol": {
              "name": "symbol",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the symbol of this currency. e.g. \"$\" for the US Dollar.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCurrency": {
              "name": "getCurrency",
              "args": [
                {
                  "name": "currencyCode",
                  "description": "the ISO 4217 mnemonic code of the currency.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Currency",
                "description": "the Currency instance for the given currency code."
              },
              "description": "Returns a Currency instance for the given currency code,\n or null if there is no such currency.",
              "deprecated": false
            },
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ISO 4217 mnemonic currency code of this currency."
              },
              "description": "Gets the ISO 4217 mnemonic currency code of this currency.",
              "deprecated": false
            },
            "getDefaultFractionDigits": {
              "name": "getDefaultFractionDigits",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the default number of fraction digits used with this currency."
              },
              "description": "Gets the default number of fraction digits used with this currency.\n For example, the default number of fraction digits for the Euro is 2,\n while for the Japanese Yen it's 0.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "a long name for this currency. e.g. \"United States Dollar\"."
              },
              "description": "Gets a long name for this currency. e.g. \"United States Dollar\".\n The returned name is the one stored in the system for this currency.\n Currently only English names are available, but in the future\n this method may return a locale-specific name.",
              "deprecated": false
            },
            "getSymbol": {
              "name": "getSymbol",
              "args": [],
              "class": {
                "name": "String",
                "description": "the symbol of this currency."
              },
              "description": "Gets the symbol of this currency. e.g. \"$\" for the US Dollar.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ISO 4217 mnemonic currency code of this currency."
              },
              "description": "Returns the ISO 4217 mnemonic currency code of this currency.",
              "deprecated": false
            }
          }
        },
        "DateUtils": {
          "fullClassName": "dw.util.DateUtils",
          "package": "dw.util",
          "description": "A class with several utility methods for Date objects.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "nowForInstance": {
              "name": "nowForInstance",
              "args": [],
              "static": true,
              "class": {
                "name": "Date",
                "description": "the current time stamp in the time zone of the instance."
              },
              "description": "Returns the current time stamp in the time zone of the\n instance.",
              "deprecated": true
            },
            "nowForSite": {
              "name": "nowForSite",
              "args": [],
              "static": true,
              "class": {
                "name": "Date",
                "description": "the current timestamp in the time zone of the current site."
              },
              "description": "Returns the current timestamp in the time zone of the \n current site.",
              "deprecated": true
            },
            "nowInUTC": {
              "name": "nowInUTC",
              "args": [],
              "static": true,
              "class": {
                "name": "Date",
                "description": "the current time stamp in UTC."
              },
              "description": "Returns the current time stamp in UTC.",
              "deprecated": true
            }
          }
        },
        "Decimal": {
          "fullClassName": "dw.util.Decimal",
          "package": "dw.util",
          "description": "The Decimal class is a helper class to perform decimal arithmetic in\n scripts and to represent a decimal number with arbitray length. The decimal\n class avoids arithmetic errors, which are typical for calculating with\n floating numbers, that are based on a binary mantissa.\n\n The class is designed in a way that it can be used very similar to a\n desktop calculator.\n\n <code>\n var d = new Decimal( 10.0 );\n var result = d.add( 2.0 ).sub( 3.0 ).get();\n </code>\n\n The above code will return 9 as result.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "Decimal": {
              "name": "Decimal",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new Decimal with the value 0.",
              "deprecated": false
            },
            "Decimal0": {
              "name": "Decimal",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new decimal using the specified Number value.",
              "deprecated": false
            },
            "Decimal01": {
              "name": "Decimal",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "BigInt"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new decimal using the specified BigInt value.",
              "deprecated": false
            },
            "Decimal012": {
              "name": "Decimal",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new Decimal using the specified string representation of\n a number.",
              "deprecated": false
            }
          },
          "methods": {
            "abs": {
              "name": "abs",
              "args": [],
              "class": {
                "name": "Decimal",
                "description": "the new Decimal"
              },
              "description": "Returns a new Decimal with the absolute value of this Decimal.",
              "deprecated": false
            },
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this decimal.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal with the value added."
              },
              "description": "Adds a Number value to this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "add0": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this decimal.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal with the value added."
              },
              "description": "Adds a Decimal value to this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "addPercent": {
              "name": "addPercent",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "a new decimal with the added percentage value."
              },
              "description": "Adds a percentage value to the current value of the\n decimal. For example a value of 10 represent 10% or a value of\n 85 represents 85%.",
              "deprecated": false
            },
            "addPercent0": {
              "name": "addPercent",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "a new decimal with the added percentage value."
              },
              "description": "Adds a percentage value to the current value of the\n decimal. For example a value of 10 represent 10% or a value of\n 85 represents 85%.",
              "deprecated": false
            },
            "divide": {
              "name": "divide",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use to divide this decimal.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal."
              },
              "description": "Divides the specified Number value with this decimal and returns the new\n decimal.\n\n When performing the division, 34 digits precision and a rounding mode of\n HALF_EVEN is used to prevent quotients with nonterminating decimal\n expansions.",
              "deprecated": false
            },
            "divide0": {
              "name": "divide",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use to divide this decimal.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal."
              },
              "description": "Divides the specified Decimal value with this decimal and returns the new\n decimal.\n\n When performing the division, 34 digits precision and a rounding mode of\n HALF_EVEN is used to prevent quotients with nonterminating decimal\n expansions.",
              "deprecated": false
            },
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "other",
                  "description": "the object to comapre against this decimal.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Compares two decimal values whether they are equivalent.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the Decimal."
              },
              "description": "Returns the value of the Decimal as a Number.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Calculates the hash code for this decimal;",
              "deprecated": false
            },
            "multiply": {
              "name": "multiply",
              "args": [
                {
                  "name": "value",
                  "description": "the value to multiply with this decimal.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal."
              },
              "description": "Multiples the specified Number value with this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "multiply0": {
              "name": "multiply",
              "args": [
                {
                  "name": "value",
                  "description": "the value to multiply with this decimal.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal."
              },
              "description": "Multiples the specified Decimal value with this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "negate": {
              "name": "negate",
              "args": [],
              "class": {
                "name": "Decimal",
                "description": "the new Decimal"
              },
              "description": "Returns a new Decimal with the negated value of this Decimal.",
              "deprecated": false
            },
            "round": {
              "name": "round",
              "args": [
                {
                  "name": "decimals",
                  "description": "the number of decimals to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the decimal that has been rounded."
              },
              "description": "Rounds the current value of the decimal using the specified\n number of decimals. The parameter\n specifies the number of digest after the decimal point.",
              "deprecated": false
            },
            "subtract": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this decimal.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal with the value subtraced."
              },
              "description": "Subtracts the specified Number value from this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "subtract0": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "the value to add to this decimal.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "the new decimal with the value subtraced."
              },
              "description": "Subtracts the specified Decimal value from this Decimal and returns the new Decimal.",
              "deprecated": false
            },
            "subtractPercent": {
              "name": "subtractPercent",
              "args": [
                {
                  "name": "value",
                  "description": "the value to subtract.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "a new decimal with the subtracted percentage value."
              },
              "description": "Subtracts a percentage value from the current value of the\n decimal. For example a value of 10 represent 10% or a value of\n 85 represents 85%.",
              "deprecated": false
            },
            "subtractPercent0": {
              "name": "subtractPercent",
              "args": [
                {
                  "name": "value",
                  "description": "the value to subtract.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Decimal",
                "description": "a new decimal with the subtracted percentage value."
              },
              "description": "Subtracts a percentage value from the current value of the\n decimal. For example a value of 10 represent 10% or a value of\n 85 represents 85%.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this object."
              },
              "description": "Returns a string representation of this object.",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the value of this object."
              },
              "description": "The valueOf() method is called by the ECMAScript interpret to return\n the \"natural\" value of an object. The Decimal object returns its\n current value as number. With this behavior script snippets can\n be written like:\n\n \n var d = new Decimal( 10.0 );\n var x = 1.0 + d.add( 2.0 );\n \n\n where x will be at the end 13.0.",
              "deprecated": false
            }
          }
        },
        "FilteringCollection": {
          "fullClassName": "dw.util.FilteringCollection",
          "package": "dw.util",
          "description": "<a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> is an extension of\n <a href=\"class_dw_util_Collection.html\">Collection</a> which provides possibilities to\n\n <ul>\n <li><i>filter</i> the elements to return a new\n <a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> with a filtered set of elements</li>\n <li><i>sort</i> the elements to return a new\n <a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> with a defined sort order</li>\n <li><i>transform</i> the elements to return a new\n <a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> containing related elements</li>\n <li><i>provide a map</i> of the elements against a predefined key</li>\n </ul>\n\n <p>\n <b>Usage</b> - In the current version each\n <a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> provides a set of predefined\n <i>qualifier</i> constants which can be passed into the\n <a href=\"class_dw_util_FilteringCollection.html#dw_util_FilteringCollection_select_Object_DetailAnchor\">select(Object)</a> method used to <i>filter</i> the elements. Generally\n <i>qualifiers</i> have the prefix <i>QUALIFIER_</i>. A second method\n <a href=\"class_dw_util_FilteringCollection.html#dw_util_FilteringCollection_sort_Object_DetailAnchor\">sort(Object)</a> is used to create a new instance with a different\n element ordering, which takes an <i>orderB&lt;</i> constant. Generally\n <i>orderBys</i> have the prefix ORDERBY_: examples are\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_ORDERBY_ITEMID_DetailAnchor\">ShippingOrder.ORDERBY_ITEMID</a>,\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_ORDERBY_ITEMPOSITION_DetailAnchor\">ShippingOrder.ORDERBY_ITEMPOSITION</a>, and <a href=\"class_dw_util_FilteringCollection.html#dw_util_FilteringCollection_ORDERBY_REVERSE_DetailAnchor\">ORDERBY_REVERSE</a> can\n be used to provide a <a href=\"class_dw_util_FilteringCollection.html\">FilteringCollection</a> with the reverse\n ordering. An example with method <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_getItems_DetailAnchor\">ShippingOrder.getItems()</a>:\n\n <br>\n <code>\n <br>var allItems     : FilteringCollection = shippingOrder.items;\n <br>var productItems : FilteringCollection = allItems.select(ShippingOrder.QUALIFIER_PRODUCTITEMS);\n <br>var serviceItems : FilteringCollection = allItems.select(ShippingOrder.QUALIFIER_SERVICEITEMS);\n <br>var byPosition   : FilteringCollection = productItems.sort(ShippingOrder.ORDERBY_ITEMPOSITION);\n <br>var revByPosition: FilteringCollection = byPosition.sort(FilteringCollection.ORDERBY_REVERSE);\n <br>var mapByItemID  : Map = allItems.asMap();\n </code></p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            }
          ],
          "constants": {
            "ORDERBY_REVERSE": {
              "name": "ORDERBY_REVERSE",
              "value": null,
              "class": {
                "name": "Object"
              },
              "description": "Pass this orderBy with the sort(Object) method to\n obtain a new FilteringCollection with the reversed sort\n order. Only use on a FilteringCollection which has been\n previously sorted.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {
            "asMap": {
              "name": "asMap",
              "args": [],
              "class": {
                "name": "Map",
                "description": "a Map containing the elements of this FilteringCollection against a predefined key."
              },
              "description": "Returns a Map containing the elements of this\n FilteringCollection against a predefined key. The key\n used is documented in the method returning the\n FilteringCollection and is typically the ItemID assigned\n to an element in the collection.",
              "deprecated": false
            },
            "select": {
              "name": "select",
              "args": [
                {
                  "name": "qualifier",
                  "description": "- possible qualifiers are documented in the method returning the FilteringCollection",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "FilteringCollection",
                "description": "a new FilteringCollection instance"
              },
              "description": "Select a new FilteringCollection instance by passing a\n predefined qualifier as an argument to this method. See\n FilteringCollection.",
              "deprecated": false
            },
            "sort": {
              "name": "sort",
              "args": [
                {
                  "name": "orderBy",
                  "description": "- possible orderBys are documented in the method returning the FilteringCollection",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "FilteringCollection",
                "description": "a new FilteringCollection instance"
              },
              "description": "Select a new FilteringCollection instance by passing a\n predefined orderBy as an argument to this method. See\n FilteringCollection.",
              "deprecated": false
            }
          }
        },
        "Geolocation": {
          "fullClassName": "dw.util.Geolocation",
          "package": "dw.util",
          "description": "Read-only class representing a position on the earth (latitude and longitude)\n and information associated with that location (e.g. country, city, etc). The\n Commerce Cloud Digital system can provide geolocation information for a Request\n and this information can be used in customer group segmentation rules.\n <p>\n Note: This class is not related to the store locator API (i.e. the\n GetNearestStores pipelet) which uses a static set of store locations loaded\n into the system by the merchant.\n </p><p>\n This product includes GeoLite2 data created by MaxMind, available from <a href=\"http://www.maxmind.com\">http://www.maxmind.com</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "available": {
              "name": "available",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if a valid GeoLocation was found for the IP address\n (meaning at least Latitude and Longitude were found), false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "city": {
              "name": "city",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the city name in English associated with this location.",
              "deprecated": false,
              "type": "property"
            },
            "countryCode": {
              "name": "countryCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the ISO country code associated with this location.",
              "deprecated": false,
              "type": "property"
            },
            "countryName": {
              "name": "countryName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the country name in English that the system associates with this location on the\n earth.",
              "deprecated": false,
              "type": "property"
            },
            "latitude": {
              "name": "latitude",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Get the latitude coordinate associated with this location which is a\n number between -90.0 and +90.0.",
              "deprecated": false,
              "type": "property"
            },
            "longitude": {
              "name": "longitude",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Get the longitude coordinate associated with this location which is a\n number between -180.0 and +180.0.",
              "deprecated": false,
              "type": "property"
            },
            "metroCode": {
              "name": "metroCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the metro code associated with this location.",
              "deprecated": false,
              "type": "property"
            },
            "postalCode": {
              "name": "postalCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the postal code associated with this location.",
              "deprecated": false,
              "type": "property"
            },
            "regionCode": {
              "name": "regionCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the region (e.g. province or state) code for this location.",
              "deprecated": false,
              "type": "property"
            },
            "regionName": {
              "name": "regionName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the region (e.g. province in state) name in English that the system\n associates with this location.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Geolocation": {
              "name": "Geolocation",
              "args": [
                {
                  "name": "countryCode",
                  "description": "the ISO country code associated with this location. The two-character ISO 3166-1 alpha code for the country.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "countryName",
                  "description": "the country name in English that the system associates with this location on the earth.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "regionCode",
                  "description": "the region (e.g. province or state) code for this location. This is a string up to three characters long containing the subdivision portion of the code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "regionName",
                  "description": "the region (e.g. province in state) name in English that the system associates with this location.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "metroCode",
                  "description": "the metro code associated with this location. The metro code of the location if the location is in the US. See the  Google AdWords API for values",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "city",
                  "description": "the city name in English associated with this location.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "postalCode",
                  "description": "the postal code associated with this location.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "latitude",
                  "description": "the latitude coordinate associated with this location which is a number between -90.0 and +90.0.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "longitude",
                  "description": "the longitude coordinate associated with this location which is a number between -180.0 and +180.0.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a Geolocation object",
              "deprecated": false
            }
          },
          "methods": {
            "getCity": {
              "name": "getCity",
              "args": [],
              "class": {
                "name": "String",
                "description": "the city that the system associates with this location on the earth."
              },
              "description": "Get the city name in English associated with this location.",
              "deprecated": false
            },
            "getCountryCode": {
              "name": "getCountryCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "The two-character ISO 3166-1 alpha code for the country."
              },
              "description": "Get the ISO country code associated with this location.",
              "deprecated": false
            },
            "getCountryName": {
              "name": "getCountryName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the country name that the system associates with this location on the earth."
              },
              "description": "Get the country name in English that the system associates with this location on the\n earth.",
              "deprecated": false
            },
            "getLatitude": {
              "name": "getLatitude",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The latitude of the location as a floating point number."
              },
              "description": "Get the latitude coordinate associated with this location which is a\n number between -90.0 and +90.0.",
              "deprecated": false
            },
            "getLongitude": {
              "name": "getLongitude",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The longitude of the location as a floating point number."
              },
              "description": "Get the longitude coordinate associated with this location which is a\n number between -180.0 and +180.0.",
              "deprecated": false
            },
            "getMetroCode": {
              "name": "getMetroCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "The metro code of the location if the location is in the US. See the Google AdWords API for returned values."
              },
              "description": "Get the metro code associated with this location.",
              "deprecated": false
            },
            "getPostalCode": {
              "name": "getPostalCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "The postal code of the location. Postal codes are not available for all countries. In some countries, this will only contain part of the postal code."
              },
              "description": "Get the postal code associated with this location.",
              "deprecated": false
            },
            "getRegionCode": {
              "name": "getRegionCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "This is a string up to three characters long containing the subdivision portion of the code."
              },
              "description": "Get the region (e.g. province or state) code for this location.",
              "deprecated": false
            },
            "getRegionName": {
              "name": "getRegionName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the region name that the system associates with this location on the earth."
              },
              "description": "Get the region (e.g. province in state) name in English that the system\n associates with this location.",
              "deprecated": false
            },
            "isAvailable": {
              "name": "isAvailable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "'true' if a valid GeoLocation was found for the IP address (meaning at least Latitude and Longitude were found), false otherwise."
              },
              "description": "Returns 'true' if a valid GeoLocation was found for the IP address\n (meaning at least Latitude and Longitude were found), false otherwise.",
              "deprecated": false
            }
          }
        },
        "HashMap": {
          "fullClassName": "dw.util.HashMap",
          "package": "dw.util",
          "description": "Represents a hash map of objects.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Map"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "HashMap": {
              "name": "HashMap",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new HashMap.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "HashMap",
                "description": "a shallow copy of this map."
              },
              "description": "Returns a shallow copy of this map.",
              "deprecated": false
            }
          }
        },
        "HashSet": {
          "fullClassName": "dw.util.HashSet",
          "package": "dw.util",
          "description": "Represents a HashSet",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            },
            {
              "name": "dw.util.Set"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "HashSet": {
              "name": "HashSet",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new HashMap.",
              "deprecated": false
            },
            "HashSet0": {
              "name": "HashSet",
              "args": [
                {
                  "name": "collection",
                  "description": "the collection to add to the set.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a new HashSet by\n initializing the HashSet with the elements of the\n given collection.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "HashSet",
                "description": "a shallow copy of this set."
              },
              "description": "Returns a shallow copy of this set.",
              "deprecated": false
            }
          }
        },
        "Iterator": {
          "fullClassName": "dw.util.Iterator",
          "package": "dw.util",
          "description": "The Iterator class allows you to access items in a collection.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "asList": {
              "name": "asList",
              "args": [],
              "class": {
                "name": "List",
                "description": "the iterator as a list."
              },
              "description": "Convert the iterator into a list. After this conversion the\n iterator is empty and hasNext() will always return false.\n\n Note: This method should be used with care. For example a large database\n result is pulled into memory completely with this method and can cause\n an OutOfMemory situation.",
              "deprecated": false
            },
            "asList0": {
              "name": "asList",
              "args": [
                {
                  "name": "start",
                  "description": "the number of elements to iterate before adding elements to the sublist. Negative values are treated as 0.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "size",
                  "description": "the maximum number of elements to add to the sublist. Nonpositive values always result in empty list.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "a sub-sequence within the iterator into a list."
              },
              "description": "Converts a sub-sequence within the iterator into a list.\n\n Note: This method should be used with care. For example a large database\n result is pulled into memory completely with this method and can cause\n an OutOfMemory situation.",
              "deprecated": false
            },
            "hasNext": {
              "name": "hasNext",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if there are more elements, false otherwise."
              },
              "description": "Indicates if there are more elements.",
              "deprecated": false
            },
            "next": {
              "name": "next",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the next element from the Iterator."
              },
              "description": "Returns the next element from the Iterator.",
              "deprecated": false
            }
          }
        },
        "LinkedHashMap": {
          "fullClassName": "dw.util.LinkedHashMap",
          "package": "dw.util",
          "description": "This class implements a HashMap, which guarantees a iteration order\n according the put-order of the elements in the map.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Map"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "LinkedHashMap": {
              "name": "LinkedHashMap",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new LinkedHashMap.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "LinkedHashMap",
                "description": "a shallow copy of this map."
              },
              "description": "Returns a shallow copy of this map.",
              "deprecated": false
            }
          }
        },
        "LinkedHashSet": {
          "fullClassName": "dw.util.LinkedHashSet",
          "package": "dw.util",
          "description": "The class LinkedHashSet implements a hash set with a guaranteed iteration\n order. The elements are iterated in the order they have been added to the\n HashSet.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            },
            {
              "name": "dw.util.Set"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "LinkedHashSet": {
              "name": "LinkedHashSet",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new LinkHashSet.",
              "deprecated": false
            },
            "LinkedHashSet0": {
              "name": "LinkedHashSet",
              "args": [
                {
                  "name": "collection",
                  "description": "the collection of items to insert into this set.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new LinkedHashSet. The constructor\n initializes the LinkedHashSet with the elements of the\n given collection.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "LinkedHashSet",
                "description": "a shallow copy of this set."
              },
              "description": "Returns a shallow copy of this set.",
              "deprecated": false
            }
          }
        },
        "List": {
          "fullClassName": "dw.util.List",
          "package": "dw.util",
          "description": "An ordered collection of objects. The user of a List has precise control over\n where in the list each element is inserted. The user can access elements by\n their integer index (position in the list), and search for elements in the\n list. Lists are zero based similar to arrays. Unlike sets, lists allow\n duplicate elements.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            }
          ],
          "constants": {},
          "properties": {
            "EMPTY_LIST": {
              "name": "EMPTY_LIST",
              "class": {
                "name": "List"
              },
              "static": true,
              "readonly": false,
              "description": "Convenience variable, for an empty and immutable list.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addAt": {
              "name": "addAt",
              "args": [
                {
                  "name": "index",
                  "description": "the index to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the object to insert.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds the specified object into the list at the specified index.",
              "deprecated": false
            },
            "concat": {
              "name": "concat",
              "args": [
                {
                  "name": "values",
                  "description": "one or more objects to concatenate.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "List",
                "description": "a new List that is the result of concatenating this list with each of the specified values."
              },
              "description": "Creates and returns a new List that is the result of concatenating this\n list with each of the specified values. This list itself is unmodified.\n If any of the specified values is itself an array or a Collection, then\n the elements of that Collection or array are appended to the new list\n rather than the object itself.",
              "deprecated": false
            },
            "fill": {
              "name": "fill",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to use during replacement.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Replaces all of the elements in the list with the given object.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "index",
                  "description": "the index to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the object at the specified index."
              },
              "description": "Returns the object at the specified index.",
              "deprecated": false
            },
            "indexOf": {
              "name": "indexOf",
              "args": [
                {
                  "name": "value",
                  "description": "the element to use.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the index of the specified object or -1 if the passed object is not found in the list."
              },
              "description": "Returns the index of the first occurrence of the specified element in\n this list, or -1 if this list does not contain the element.",
              "deprecated": false
            },
            "join": {
              "name": "join",
              "args": [],
              "class": {
                "name": "String",
                "description": "The string that results from converting each element of the list to a string and then concatenating them together, with a comma between elements."
              },
              "description": "Converts all elements of the list to a string by calling the toString()\n method and then concatenates them together, with a comma between\n elements.",
              "deprecated": false
            },
            "join0": {
              "name": "join",
              "args": [
                {
                  "name": "separator",
                  "description": "The separator string. May be null in which case the comma character is used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "The string that results from converting each element of the list to a string and then concatenating them together, with the separator string between elements."
              },
              "description": "Converts all elements of the list to a string by calling the toString()\n method and then concatenates them together, with the separator string\n between elements. If null is passed, then the comma character is used as\n a separator.",
              "deprecated": false
            },
            "lastIndexOf": {
              "name": "lastIndexOf",
              "args": [
                {
                  "name": "value",
                  "description": "the element to use.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the last index of the specified object or -1 if the passed object is not found in the list."
              },
              "description": "Returns the index of the last occurrence of the specified element in this\n list, or -1 if this list does not contain the element.",
              "deprecated": false
            },
            "pop": {
              "name": "pop",
              "args": [],
              "class": {
                "name": "Object",
                "description": "The last element of the list or null if the list is already empty."
              },
              "description": "Removes and returns the last element from the list.",
              "deprecated": false
            },
            "push": {
              "name": "push",
              "args": [
                {
                  "name": "values",
                  "description": "One or more values to be appended to the end of the list.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "Number",
                "description": "The new length of the list, after the specified values are appended to it."
              },
              "description": "Appends the specified values to the end of the list in order.",
              "deprecated": false
            },
            "removeAt": {
              "name": "removeAt",
              "args": [
                {
                  "name": "index",
                  "description": "the index to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the object that was removed."
              },
              "description": "Removes the object at the specified index.",
              "deprecated": false
            },
            "replaceAll": {
              "name": "replaceAll",
              "args": [
                {
                  "name": "oldValue",
                  "description": "the old object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "newValue",
                  "description": "the new object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if one or more elements were replaced, false otherwise."
              },
              "description": "Replaces all occurrences of oldValue with newValue.",
              "deprecated": false
            },
            "reverse": {
              "name": "reverse",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Reverses the order of the elements in the list.",
              "deprecated": false
            },
            "rotate": {
              "name": "rotate",
              "args": [
                {
                  "name": "distance",
                  "description": "the distance to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Rotates the elements in the list by the specified distance.",
              "deprecated": false
            },
            "set": {
              "name": "set",
              "args": [
                {
                  "name": "index",
                  "description": "the index to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the object to use when replacing the existing object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the replaced object."
              },
              "description": "Replaces the object at the specified index in this list with the specified object.",
              "deprecated": false
            },
            "shift": {
              "name": "shift",
              "args": [],
              "class": {
                "name": "Object",
                "description": "The former first element of the list, or null is list is already empty."
              },
              "description": "Removes and returns the first element of the list. If the list is already\n empty, this method simply returns null.",
              "deprecated": false
            },
            "shuffle": {
              "name": "shuffle",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Randomly permutes the elements in the list.",
              "deprecated": false
            },
            "size": {
              "name": "size",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size of this list."
              },
              "description": "Returns the size of this list.",
              "deprecated": false
            },
            "slice": {
              "name": "slice",
              "args": [
                {
                  "name": "from",
                  "description": "The index at which the slice is to begin. If negative, this argument specifies a position measured from the end of this list. That, -1 indicates the last element, -2 indicates the next from the last element, and so on.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "A new List that contains the elements of this list from the element specified by from up to the end of this list."
              },
              "description": "Returns a slice, or sublist, of this list. The returned list contains the\n element specified by from and all subsequent elements up to\n the end of this list.",
              "deprecated": false
            },
            "slice0": {
              "name": "slice",
              "args": [
                {
                  "name": "from",
                  "description": "The index at which the slice is to begin. If negative, this argument specifies a position measured from the end of this list. That, -1 indicates the last element, -2 indicates the next from the last element, and so on.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "The index immediately after the end of the slice. If this argument is negative, it specifies an element measured from the end of this list.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "A new List that contains the elements of this list from the element specified by from up to, but not including, the element specified by to."
              },
              "description": "Returns a slice, or sublist, of this list. The returned list contains the\n element specified by from and all subsequent elements up to,\n but not including, the element specified by to.",
              "deprecated": false
            },
            "sort": {
              "name": "sort",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sorts the elements of the list based on their natural\n order.\n\n This sort is guaranteed to be stable:  equal elements will\n not be reordered as a result of the sort.",
              "deprecated": false
            },
            "sort0": {
              "name": "sort",
              "args": [
                {
                  "name": "comparator",
                  "description": "an instance of a PropertyComparator or a comparison function",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sorts the elements of a list. The order of the elements is\n determined with a comparator (see PropertyComparator) or with the help\n of the given function. The function must take two parameters and return\n a value <0 if the first parameter is smaller than the second, a value\n of 0 if both are equal and a value if >0 if the first one is greater\n than the second parameter.\n\n This sort is guaranteed to be stable:  equal elements will\n not be reordered as a result of the sort.",
              "deprecated": false
            },
            "subList": {
              "name": "subList",
              "args": [
                {
                  "name": "from",
                  "description": "the beginning index of the elements to move to the new list.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "the ending index of the elements to move to the new list.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "the new list containing the elements."
              },
              "description": "Returns a list containing the elements in this list identified\n by the specified arguments.",
              "deprecated": false
            },
            "swap": {
              "name": "swap",
              "args": [
                {
                  "name": "i",
                  "description": "the first element to swap.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "j",
                  "description": "the second element to swap.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Swaps the elements at the specified positions in the list.",
              "deprecated": false
            },
            "unshift": {
              "name": "unshift",
              "args": [
                {
                  "name": "values",
                  "description": "The values to insert into the list.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "Number",
                "description": "The new length of the lest."
              },
              "description": "Inserts values at the beginning of the list.  The first argument\n becomes the new element 0;  the second argument becomes element 1;\n and so on.",
              "deprecated": false
            }
          }
        },
        "Locale": {
          "fullClassName": "dw.util.Locale",
          "package": "dw.util",
          "description": "Represents a Locale supported by the system.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "country": {
              "name": "country",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The uppercase ISO 3166 2-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "displayCountry": {
              "name": "displayCountry",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of this Locale's country, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "displayLanguage": {
              "name": "displayLanguage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of this Locale's language, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of this Locale, in this Locale's language,\n not in the session locale's language.\n If no display name has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The String representation of the localeID.\n \n Combines the language and the country key, concatenated with \"_\". \n For example: \"en_US\". This attribute is the primary key of the class.",
              "deprecated": false,
              "type": "property"
            },
            "ISO3Country": {
              "name": "ISO3Country",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The uppercase ISO 3166 3-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "ISO3Language": {
              "name": "ISO3Language",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The 3-letter ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            },
            "language": {
              "name": "language",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The lowercase ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCountry": {
              "name": "getCountry",
              "args": [],
              "class": {
                "name": "String",
                "description": "the uppercase ISO 3166 2-letter country/region code for this Locale. If no country has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the uppercase ISO 3166 2-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getDisplayCountry": {
              "name": "getDisplayCountry",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of this Locale's country, in this Locale's language. If no country has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the display name of this Locale's country, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getDisplayLanguage": {
              "name": "getDisplayLanguage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of this Locale's language, in this Locale's language. If no language has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the display name of this Locale's language, in this Locale's language,\n not in the session locale's language.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of this Locale, in this Locale's language. If no display name has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the display name of this Locale, in this Locale's language,\n not in the session locale's language.\n If no display name has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the String representation of the localeID."
              },
              "description": "Returns the String representation of the localeID.\n \n Combines the language and the country key, concatenated with \"_\". \n For example: \"en_US\". This attribute is the primary key of the class.",
              "deprecated": false
            },
            "getISO3Country": {
              "name": "getISO3Country",
              "args": [],
              "class": {
                "name": "String",
                "description": "the uppercase ISO 3166 3-letter country/region code for this Locale. If no country has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the uppercase ISO 3166 3-letter country/region code for this Locale.\n If no country has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getISO3Language": {
              "name": "getISO3Language",
              "args": [],
              "class": {
                "name": "String",
                "description": "the 3-letter ISO 639 language code for this Locale. If no language has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the 3-letter ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getLanguage": {
              "name": "getLanguage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the lowercase ISO 639 language code for this Locale. If no language has been specified for this Locale, this value is an empty string."
              },
              "description": "Returns the lowercase ISO 639 language code for this Locale.\n If no language has been specified for this Locale, this value is an empty string.",
              "deprecated": false
            },
            "getLocale": {
              "name": "getLocale",
              "args": [
                {
                  "name": "localeId",
                  "description": "the localeID of the desired Locale",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Locale",
                "description": "the Locale instance for the given localeId, or null if no such Locale could be found."
              },
              "description": "Returns a Locale instance for the given localeId, or\n null if no such Locale could be found.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the String representation of the localeID."
              },
              "description": "Returns the String representation of the localeID.\n \n Combines the language and the country key, concatenated with \"_\". \n For example: \"en_US\". This attribute is the primary key of the class.",
              "deprecated": false
            }
          }
        },
        "Map": {
          "fullClassName": "dw.util.Map",
          "package": "dw.util",
          "description": "Represents a Map of objects.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this map is empty.",
              "deprecated": false,
              "type": "property"
            },
            "EMPTY_MAP": {
              "name": "EMPTY_MAP",
              "class": {
                "name": "Map"
              },
              "static": true,
              "readonly": false,
              "description": "Convenience variable, for an empty and immutable list.",
              "deprecated": false,
              "type": "property"
            },
            "length": {
              "name": "length",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The size of the map. This is a bean attribute method and\n supports the access to the collections\n length similar to a ECMA array, such as 'products.length'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "clear": {
              "name": "clear",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Clears the map of all objects.",
              "deprecated": false
            },
            "containsKey": {
              "name": "containsKey",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this map contains an element whose key is equal to the specified key."
              },
              "description": "Identifies if this map contains an element identfied\n by the specified key.",
              "deprecated": false
            },
            "containsValue": {
              "name": "containsValue",
              "args": [
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if this map contains an element whose value is equal to the specified value."
              },
              "description": "Identifies if this map contains an element identfied\n by the specified value.",
              "deprecated": false
            },
            "entrySet": {
              "name": "entrySet",
              "args": [],
              "class": {
                "name": "Set",
                "description": "a set of the map's entries."
              },
              "description": "Returns a set of the map's entries. The returned set is actually a view to the entries of this map.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the object associated with the key or null."
              },
              "description": "Returns the object associated with the key or null.",
              "deprecated": false
            },
            "getLength": {
              "name": "getLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of objects in the map."
              },
              "description": "REturns the size of the map. This is a bean attribute method and\n supports the access to the collections\n length similar to a ECMA array, such as 'products.length'.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the map is empty, false otherwise."
              },
              "description": "Identifies if this map is empty.",
              "deprecated": false
            },
            "keySet": {
              "name": "keySet",
              "args": [],
              "class": {
                "name": "Set",
                "description": "a set of the map's keys."
              },
              "description": "Returns a set of the map's keys. The returned set is actually a view to the keys of this map.",
              "deprecated": false
            },
            "put": {
              "name": "put",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use to identify the value.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the object to put into the map.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "previous value associated with specified key, or null if there was no mapping for key."
              },
              "description": "Puts the specified value into the map using the\n specified key to identify it.",
              "deprecated": false
            },
            "putAll": {
              "name": "putAll",
              "args": [
                {
                  "name": "other",
                  "description": "the map whose contents are copied into this map.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Copies all of the objects inside the specified map\n into this map.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [
                {
                  "name": "key",
                  "description": "the key that identifies the object to remove.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the removed object or null."
              },
              "description": "Removes the object from the map that is identified by the key.",
              "deprecated": false
            },
            "size": {
              "name": "size",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of objects in the map."
              },
              "description": "Returns the size of the map.",
              "deprecated": false
            },
            "values": {
              "name": "values",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of the values contained in this map"
              },
              "description": "Returns a collection of the values contained in this map.",
              "deprecated": false
            },
            "values0": {
              "name": "values",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of the values contained in this map"
              },
              "description": "Returns a collection of the values contained in this map.",
              "deprecated": false
            }
          }
        },
        "MapEntry": {
          "fullClassName": "dw.util.MapEntry",
          "package": "dw.util",
          "description": "The class represent an entry within a Map.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "key": {
              "name": "key",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The entry's key.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The entry's value.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getKey": {
              "name": "getKey",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the entry's key."
              },
              "description": "Returns the entry's key.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the entry's value."
              },
              "description": "Returns the entry's value.",
              "deprecated": false
            }
          }
        },
        "MappingKey": {
          "fullClassName": "dw.util.MappingKey",
          "package": "dw.util",
          "description": "Encapsulates the key for a mapping read in with the ImportKeyValueMapping job step. Can be either single or compound keys. For example, a\n single string (e.g. product id) or multiple string components (e.g. product id and site).",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "keyComponents": {
              "name": "keyComponents",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the (possible compound) key. If the key consists of only of a single value, the string array\n will simply contain a single element.",
              "deprecated": false,
              "type": "property"
            },
            "singleComponentKey": {
              "name": "singleComponentKey",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets a key that contains only a single key component (i.e. that is not a compound key). Returns null if this is\n not a single component key.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "MappingKey": {
              "name": "MappingKey",
              "args": [
                {
                  "name": "keyComponents",
                  "description": "the key components",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Instantiates a new key using compound key components. A key can consist of a single string (e.g. product id) or\n multiple string components (e.g. product id and site). Ctor accepts single string or multiple components for a\n compound key.",
              "deprecated": false
            }
          },
          "methods": {
            "getKeyComponents": {
              "name": "getKeyComponents",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "the key"
              },
              "description": "Gets the (possible compound) key. If the key consists of only of a single value, the string array\n will simply contain a single element.",
              "deprecated": false
            },
            "getSingleComponentKey": {
              "name": "getSingleComponentKey",
              "args": [],
              "class": {
                "name": "String",
                "description": "the single key"
              },
              "description": "Gets a key that contains only a single key component (i.e. that is not a compound key). Returns null if this is\n not a single component key.",
              "deprecated": false
            }
          }
        },
        "MappingMgr": {
          "fullClassName": "dw.util.MappingMgr",
          "package": "dw.util",
          "description": "Used to manage and interface with mappings loaded into the system via the ImportKeyValueMapping job step. Class can be\n used to retrieve values for known keys, iterate over all keys known in a mapping or list all known mappings.\n <p>\n Mappings are read into the system using the ImportKeyValueMapping job step.\n </p><p>\n Generic mapping capability enables you to map keys to values, with the mapping stored in a high-performance data\n store that is independent of the database. This supports large datasets, with high performance for lookup. An example\n of using this feature is to map SKUs from a backend system to Commerce Cloud Digital SKUs on-the-fly in Digital script, so\n that interaction with the backend system is transparent and does not require adding Digital SKUs to the third\n party system.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "mappingNames": {
              "name": "mappingNames",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "List all known mappings.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "mappingName",
                  "description": "the mapping name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "the key",
                  "class": {
                    "name": "MappingKey"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Map",
                "description": ""
              },
              "description": "Returns a map containing value(s) associated to the specified key for the specified mapping.",
              "deprecated": false
            },
            "getFirst": {
              "name": "getFirst",
              "args": [
                {
                  "name": "mappingName",
                  "description": "the mapping name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "the key",
                  "class": {
                    "name": "MappingKey"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the value if a single value. The first value sequentially if a compound value."
              },
              "description": "Gets the first string value of a mapping by name and key. Ordering is determined by the input CSV file. Throws an\n exception if mappingName does not exist.",
              "deprecated": false
            },
            "getMappingNames": {
              "name": "getMappingNames",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "the collection of mapping names"
              },
              "description": "List all known mappings.",
              "deprecated": false
            },
            "keyIterator": {
              "name": "keyIterator",
              "args": [
                {
                  "name": "mappingName",
                  "description": "the mapping name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "the seekable iterator"
              },
              "description": "Key iterator over known mapping keys by mapping name. Throws an exception if mappingName does not exist.",
              "deprecated": false
            }
          }
        },
        "SecureEncoder": {
          "fullClassName": "dw.util.SecureEncoder",
          "package": "dw.util",
          "description": "SecureEncoder contains many methods for manipulating untrusted data Strings\n into RFC-Compliant Strings for a given context by encoding \"bad\" data into\n the proper format.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "forHtmlContent": {
              "name": "forHtmlContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in a general HTML context. E.g.\n text content and text attributes. This method takes the UNION of allowed\n characters between the two context, so may be more imprecise that the\n more specific contexts. Generally, this method is preferred unless you\n specifically understand the context in which untrusted data will be\n output.\n \n\n Example Usage:\n  <div>${SecureEncoder.forHtmlContent(unsafeData)}</div>\n\n <input value=\"${SecureEncoder.forHtmlContent(unsafeData)}\" />\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between 0x7F and 0x9F)\n with &#xfffd;, the Unicode Replacement Character\n Replace special HTML characters with their HTML Entity equivalents",
              "deprecated": false
            },
            "forHtmlInDoubleQuoteAttribute": {
              "name": "forHtmlInDoubleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an HTML Attribute guarded by a double\n quote. This method is preferred if you understand exactly how the output\n of this will be used in the HTML document.\n \n\n Example Usage:\n  <div id=\"${SecureEncoder.forHtmlInDoubleQuoteAttribute(unsafeData)}\"></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between 0x7F and 0x9F)\n with &#xfffd;, the Unicode Replacement Character\n Replace special HTML characters with their HTML Entity equivalents",
              "deprecated": false
            },
            "forHtmlInSingleQuoteAttribute": {
              "name": "forHtmlInSingleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an HTML Attribute guarded by a single\n quote. This method is preferred if you understand exactly how the output\n of this will be used in the HTML document.\n \n\n Example Usage:\n  <div id='${SecureEncoder.forHtmlInSingleQuoteAttribute(unsafeData)}'></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between 0x7F and 0x9F)\n with &#xfffd;, the Unicode Replacement Character\n Replace special HTML characters with their HTML Entity equivalents",
              "deprecated": false
            },
            "forHtmlUnquotedAttribute": {
              "name": "forHtmlUnquotedAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an HTML Attribute left unguarded.\n This method is preferred if you understand exactly how the output\n of this will be used in the HTML document.\n \n\n Example Usage:\n  <div id=${SecureEncoder.forHtmlUnquotedAttribute(unsafeData)}></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between 0x7F and 0x9F)\n with &#xfffd;, the Unicode Replacement Character\n Replace special HTML characters with their HTML Entity equivalents",
              "deprecated": false
            },
            "forJavaScriptInAttribute": {
              "name": "forJavaScriptInAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in JavaScript inside an HTML attribute.\n This method is preferred if you understand exactly how the output\n of the will be used in the page\n \n\n Example Usage:\n  <button onclick=\"alert('${SecureEncoder.forJavaScriptInAttribute(unsafeData)}');\">\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Slash escape certain illegal characters\n Replace special JavaScript characters with their Hex Encoded\n equivalents prepended with \\\\x for character codes under 128 and\n \\\\u for character codes over 128",
              "deprecated": false
            },
            "forJavaScriptInBlock": {
              "name": "forJavaScriptInBlock",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in JavaScript inside an HTML block.\n This method is preferred if you understand exactly how the output\n of the will be used in the page\n \n\n Example Usage:\n  <script type=\"text/javascript\">\n     var data = \"${SecureEncoder.forJavaScriptInBlock(unsafeData)}\";\n </script>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Slash escape certain illegal characters\n Replace special JavaScript characters with their Hex Encoded\n equivalents prepended with \\\\x for character codes under 128 and\n \\\\u for character codes over 128",
              "deprecated": false
            },
            "forJavaScriptInHTML": {
              "name": "forJavaScriptInHTML",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in JavaScript inside an HTML context.\n This method takes the UNION of allowed characters among the other\n contexts, so may be more imprecise that the more specific contexts.\n Generally, this method is preferred unless you specifically understand\n the context in which untrusted data will be output.\n \n\n Example Usage:\n  <script type=\"text/javascript\">\n     var data = \"${SecureEncoder.forJavaScriptInHTML(unsafeData)}\";\n </script>\n\n <button onclick=\"alert('${SecureEncoder.forJavaScriptInHTML(unsafeData)}');\">\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Slash escape certain illegal characters\n Replace special JavaScript characters with their Hex Encoded\n equivalents prepended with \\\\x for character codes under 128 and\n \\\\u for character codes over 128",
              "deprecated": false
            },
            "forJavaScriptInSource": {
              "name": "forJavaScriptInSource",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in JavaScript inside a JavaScript source\n file. This method is preferred if you understand exactly how the output\n of the will be used in the page\n \n\n Example Usage:\n  <...inside foobar.js...>\n var data = \"${SecureEncoder.forJavaScriptInSource(unsafeData)}\";\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Slash escape certain illegal characters\n Replace special JavaScript characters with their Hex Encoded\n equivalents prepended with \\\\x for character codes under 128 and\n \\\\u for character codes over 128",
              "deprecated": false
            },
            "forJSONValue": {
              "name": "forJSONValue",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in a JSON Object Value to prevent\n escaping into a trusted context.\n \n\n Example Usage:\n  var json = {\"trusted_data\" : SecureEncoder.forJSONValue(unsafeData)};\n return JSON.stringify(json);\n \n\n Flow:\n \n Allow AlphaNumerics\n Slash escape certain illegal characters\n Replace all other characters with their Hex Encoded\n equivalents prepended with \\\\u",
              "deprecated": false
            },
            "forUriComponent": {
              "name": "forUriComponent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use as a component of a URI. This is\n equivalent to javascript's encodeURIComponent and does a realistic\n job of encoding.\n \n\n Example Usage:\n  <a href=\"http://host.com?value=${SecureEncoder.forUriComponent(unsafeData)}\"/>\n \n\n Allows:\n A-Z, a-z, 0-9, -, _, ., ~, !, *, ', (, )\n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Percent encode all other characters",
              "deprecated": false
            },
            "forUriComponentStrict": {
              "name": "forUriComponentStrict",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use as a component of a URI. This is a strict\n encoder and fully complies with RFC3986.\n \n\n Example Usage:\n  <a href=\"http://host.com?value=${SecureEncoder.forUriComponentStrict(unsafeData)}\"/>\n \n\n Allows:\n A-Z, a-z, 0-9, -, _, ., ~\n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Percent encode all other characters",
              "deprecated": false
            },
            "forXmlCommentContent": {
              "name": "forXmlCommentContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an XML comments.\n This method is preferred if you understand the context in which\n untrusted data will be output.\n \n\n Note: It is recommended that you use a real parser, as this method\n can be misused, but is left here if a parser is unavailable to you\n \n Example Usage:\n  <!-- ${SecureEncoder.forXmlCommentContent(unsafeData)} -->\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between\n 0x7F and 0x84 or between 0x86 and 0x9F or between 0xFDD0 and 0xFDDF)\n with an empty string\n Replace special XML characters with their default XML Entity equivalents",
              "deprecated": false
            },
            "forXmlContent": {
              "name": "forXmlContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in a general XML context. E.g.\n text content and text attributes. This method takes the UNION of allowed\n characters between the other contexts, so may be more imprecise that the\n more specific contexts. Generally, this method is preferred unless you\n specifically understand the context in which untrusted data will be\n output.\n \n\n Note: It is recommended that you use a real parser, as this method\n can be misused, but is left here if a parser is unavailable to you\n \n Example Usage:\n  <foo>${SecureEncoder.forXmlContent(unsafeData)}</foo>\n\n <bar attr=\"${SecureEncoder.forXmlContent(unsafeData)}\"></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between\n 0x7F and 0x84 or between 0x86 and 0x9F or between 0xFDD0 and 0xFDDF)\n with an empty string\n Replace special XML characters with their default XML Entity equivalents",
              "deprecated": false
            },
            "forXmlInDoubleQuoteAttribute": {
              "name": "forXmlInDoubleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an XML attribute guarded by a double\n quote. This method is preferred if you understand the context in which\n untrusted data will be output.\n \n\n Note: It is recommended that you use a real parser, as this method\n can be misused, but is left here if a parser is unavailable to you\n \n Example Usage:\n  <bar attr=\"${SecureEncoder.forXmlInDoubleQuoteAttribute(unsafeData)}\"></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between\n 0x7F and 0x84 or between 0x86 and 0x9F or between 0xFDD0 and 0xFDDF)\n with an empty string\n Replace special XML characters with their default XML Entity equivalents",
              "deprecated": false
            },
            "forXmlInSingleQuoteAttribute": {
              "name": "forXmlInSingleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be encoded, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly encoded string for the given input"
              },
              "description": "Encodes a given input for use in an XML attribute guarded by a single\n quote. This method is preferred if you understand the context in which\n untrusted data will be output.\n \n\n Note: It is recommended that you use a real parser, as this method\n can be misused, but is left here if a parser is unavailable to you\n \n Example Usage:\n  <bar attr='${SecureEncoder.forXmlInSingleQuoteAttribute(unsafeData)}'></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Replace Illegal Control Characters (Below 0x1F or between\n 0x7F and 0x84 or between 0x86 and 0x9F or between 0xFDD0 and 0xFDDF)\n with an empty string\n Replace special XML characters with their default XML Entity equivalents",
              "deprecated": false
            }
          }
        },
        "SeekableIterator": {
          "fullClassName": "dw.util.SeekableIterator",
          "package": "dw.util",
          "description": "A special Iterator, which is returned by the system to iterate through large\n sets of data. The iterator supports seeking forward to a random position.\n This is a typical action when paging forward in a result set. The Iterator is\n primarily returned from search operations.<br><br>\n Starting with API version 10.6, these iterators can only\n be iterated once to avoid possible memory problems for really large\n result sets. Putting them into the pipeline dictionary and trying to loop them\n multiple times is no longer possible because this would require buffering the\n iterated elements internally.<br><br>\n Prior to 10.6, and for all customers still running API version 10.4\n (compatibility mode), SeekableIterator instances stored in the pipeline\n dictionary could be iterated multiple times (for example, by several loop\n nodes).",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Iterator"
            }
          ],
          "constants": {},
          "properties": {
            "count": {
              "name": "count",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The total element count for this iterator. The\n method returns -1, if the total count is not known.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "asList": {
              "name": "asList",
              "args": [
                {
                  "name": "start",
                  "description": "the position from which to start the subsequence.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "size",
                  "description": "the number of items to collect.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "the list containing the subsequence."
              },
              "description": "Returns a list representing a subsequence within the iterator. The underlying\n system resources of the iterator will be closed at the end. The start\n position must be 0 or a positive number.",
              "deprecated": false
            },
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes all system resources associated with this iterator.\n \n Calling this method is strongly recommended if not all elements of this iterator are\n retrieved. This will allow the system to release system resources immediately.\n The SeekableIterator is closed automatically if all elements are retrieved.\n Then calling method close() is optional.",
              "deprecated": false
            },
            "first": {
              "name": "first",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the first element of an iterator and closes the iterator or returns null if the iterator doesn't have another element or the methods next(), forward(int) or forward(int,int) have already been called."
              },
              "description": "Returns the first element of this iterator and closes it.\n \n If the iterator does not contain another element null is returned.\n If any of the methods next(), forward(int) or forward(int,int) have been called before\n null is returned.\n This method is useful if only the first element of an iterator is needed.\n \n A possible example for the use of first() is:\n\n OrderMgr.queryOrders(\"queryString\", \"sortString\", args).first()",
              "deprecated": false
            },
            "forward": {
              "name": "forward",
              "args": [
                {
                  "name": "n",
                  "description": "the number of elements to seek forward.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Seeks forward by the given number of elements. The number of\n seek steps must be 0 or a positive number.",
              "deprecated": false
            },
            "forward0": {
              "name": "forward",
              "args": [
                {
                  "name": "n",
                  "description": "the number of elements to seek forward.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "size",
                  "description": "the maximum number of elements return from the iterator",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Seeks forward by the given number of elements and limits the\n iteration to the given number of elements. The method is typically\n used to position and trim an iterator for paging. The getCount()\n method will still return the total count of the underlying data\n collection.",
              "deprecated": false
            },
            "getCount": {
              "name": "getCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the total element count for this iterator or -1."
              },
              "description": "Returns the total element count for this iterator. The\n method returns -1, if the total count is not known.",
              "deprecated": false
            },
            "hasNext": {
              "name": "hasNext",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if there are more elements, false otherwise."
              },
              "description": "Indicates if there are more elements.",
              "deprecated": false
            },
            "next": {
              "name": "next",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the next element from the Iterator."
              },
              "description": "Returns the next element from the Iterator.",
              "deprecated": false
            }
          }
        }
      },
      "value": {
        "EnumValue": {
          "fullClassName": "dw.value.EnumValue",
          "package": "dw.value",
          "description": "The class represents a single value for an Enumeration type. Enumeration\n types can be configured through the business manager for custom attributes.\n Some system attributes, e.g. the order status, are also of Enumeration types.\n\n <p>Each EnumValue has a base value and a display value.  The type of the base\n value can be either String or Integer. Every EnumValue has a display value.</p>\n\n <p>If the value of an Enumeration type object attribute is\n <code>null</code>, when that attribute is accessed an EnumValue is returned\n that has a base value of <code>null</code>, rather than <code>null</code>\n itself.  This means that <code>empty(object.attribute)</code> would be\n <code>false</code>, and <code>empty(object.attribute.value)</code> would be\n <code>true</code></p>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "displayValue": {
              "name": "displayValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display value of the enumeration value. If no display value\n is configured the method return the string representation of the value.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the enumeration value. This is either an integer\n value or a string.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the display value of the enumeration value. If no display value\n is configured the method return the string representation of the value.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "Returns the value of the enumeration value. This is either an integer\n value or a string.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Same as getDisplayValue().",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "According the ECMA specification, this method returns the \"natural\"\n primitive value of this object. Here it is equivalent to getValue().",
              "deprecated": false
            }
          }
        },
        "MimeEncodedText": {
          "fullClassName": "dw.value.MimeEncodedText",
          "package": "dw.value",
          "description": "Container for an arbitrary text string its mime type, and encoding",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "encoding": {
              "name": "encoding",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The encoding of the text. Encoding is set at creation time and\n can't be changed afterwards",
              "deprecated": false,
              "type": "property"
            },
            "mimeType": {
              "name": "mimeType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The mime type of the text. Mime type is set at creation time and\n can't be changed afterwards.",
              "deprecated": false,
              "type": "property"
            },
            "text": {
              "name": "text",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The text. Text is set at creation time and can't be changed\n afterwards.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "MimeEncodedText": {
              "name": "MimeEncodedText",
              "args": [
                {
                  "name": "text",
                  "description": "text to be stored",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mimeType",
                  "description": "mime type of the text. For example, \"text/plain\" or \"text/html\"",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "Encoding of the text. For example, \"UTF-8\" or \"ISO-8859-1\"",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new MimeEncodedText with explicit values for mime type and\n encoding.",
              "deprecated": false
            },
            "MimeEncodedText0": {
              "name": "MimeEncodedText",
              "args": [
                {
                  "name": "text",
                  "description": "text to be stored",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new MimeEncodedText with the given String as text, mime type of\n \"text/plain;charset=UTF-8\" and encoding of \"UTF-8\"",
              "deprecated": false
            }
          },
          "methods": {
            "getEncoding": {
              "name": "getEncoding",
              "args": [],
              "class": {
                "name": "String",
                "description": "encoding of the text"
              },
              "description": "Returns the encoding of the text. Encoding is set at creation time and\n can't be changed afterwards",
              "deprecated": false
            },
            "getMimeType": {
              "name": "getMimeType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the MimeType of the text"
              },
              "description": "Returns the mime type of the text. Mime type is set at creation time and\n can't be changed afterwards.",
              "deprecated": false
            },
            "getText": {
              "name": "getText",
              "args": [],
              "class": {
                "name": "String",
                "description": "text stored"
              },
              "description": "Returns the text. Text is set at creation time and can't be changed\n afterwards.",
              "deprecated": false
            }
          }
        },
        "Money": {
          "fullClassName": "dw.value.Money",
          "package": "dw.value",
          "description": "Represents money in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "NOT_AVAILABLE": {
              "name": "NOT_AVAILABLE",
              "value": null,
              "class": {
                "name": "Money"
              },
              "description": "Represents that there is no money available.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "available": {
              "name": "available",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the instance contains settings for value and currency.",
              "deprecated": false,
              "type": "property"
            },
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ISO 4217 currency mnemonic (such as 'USD', 'EUR') of the currency the\n money value relates to.\n\n Note a money instance may also describe a price that is 'not available'.\n In this case the value of this attribute is N/A.",
              "deprecated": false,
              "type": "property"
            },
            "decimalValue": {
              "name": "decimalValue",
              "class": {
                "name": "Decimal"
              },
              "static": false,
              "readonly": true,
              "description": "The money as Decimal, null is returned when the money is not available.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the money instance.",
              "deprecated": false,
              "type": "property"
            },
            "valueOrNull": {
              "name": "valueOrNull",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return the value of the money instance or null if the\n Money instance is NOT_AVAILABLE.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Money": {
              "name": "Money",
              "args": [
                {
                  "name": "value",
                  "description": "The value of the money instance. Must not be null.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "currencyCode",
                  "description": "The ISO 4217 mnemonic of currency the amount is specified in. Must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new money instance with the specified amount for the specified\n currency. Note that each currency has a precision (number of digits after the\n decimal point) and that values beyond the precision are \"rounded up\" to their\n \"nearest neighbor\" following the rules of java.math.RoundingMode.HALF_UP.",
              "deprecated": false
            }
          },
          "methods": {
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "the Money object to add to this Money instance.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the Money object representing the sum of the operands."
              },
              "description": "Returns a Money instance by adding\n the specified Money object to the current object. Only objects representing the\n same currency can be added. If one of the Money values is N/A, the\n result is N/A.",
              "deprecated": false
            },
            "addPercent": {
              "name": "addPercent",
              "args": [
                {
                  "name": "percent",
                  "description": "the percent value",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "new Money object with the result of the calculation"
              },
              "description": "Adds a certain percentage to the money object. The percent value is given\n as true percent value, so for example 10 represent 10%. If this Money is\n N/A the result is also N/A.",
              "deprecated": false
            },
            "addRate": {
              "name": "addRate",
              "args": [
                {
                  "name": "value",
                  "description": "the rate to add.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "a new Money object with rate added."
              },
              "description": "Adds a rate (e.g. 0.05) to the money object. This is typically for example\n to add a tax rate.",
              "deprecated": false
            },
            "compareTo": {
              "name": "compareTo",
              "args": [
                {
                  "name": "other",
                  "description": "the money instance to comare against this money instance.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the comparison of 0 if the money instances are equal or non-0 if they are different."
              },
              "description": "Compares two Money values. An exception is thrown if the two Money values\n are of different currency. If one of the Money values represents the N/A value\n it is treated as 0.0.",
              "deprecated": false
            },
            "divide": {
              "name": "divide",
              "args": [
                {
                  "name": "divisor",
                  "description": "the divisor.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "Money object representing division result"
              },
              "description": "Divide Money object by specified divisor. If this Money is\n N/A the result is also N/A.",
              "deprecated": false
            },
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "other",
                  "description": "the object to compare against this money instance.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if equal, false otherwise."
              },
              "description": "Compares two money values whether they are equivalent.",
              "deprecated": false
            },
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the currency code."
              },
              "description": "Returns the ISO 4217 currency mnemonic (such as 'USD', 'EUR') of the currency the\n money value relates to.\n\n Note a money instance may also describe a price that is 'not available'.\n In this case the value of this attribute is N/A.",
              "deprecated": false
            },
            "getDecimalValue": {
              "name": "getDecimalValue",
              "args": [],
              "class": {
                "name": "Decimal",
                "description": "the money as Decimal"
              },
              "description": "Returns the money as Decimal, null is returned when the money is not available.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the value of the money instance."
              },
              "description": "Returns the value of the money instance.",
              "deprecated": false
            },
            "getValueOrNull": {
              "name": "getValueOrNull",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Value of money instance or null."
              },
              "description": "Return the value of the money instance or null if the\n Money instance is NOT_AVAILABLE.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Calculates the hash code for a money;",
              "deprecated": false
            },
            "isAvailable": {
              "name": "isAvailable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the instance is initialized with value and currency, false if the state is 'not available'."
              },
              "description": "Identifies if the instance contains settings for value and currency.",
              "deprecated": false
            },
            "isOfSameCurrency": {
              "name": "isOfSameCurrency",
              "args": [
                {
                  "name": "value",
                  "description": "the Money value passed to be tested",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if both instances have the same currency, false otherwise."
              },
              "description": "Identifies if two Money value have the same currency.",
              "deprecated": false
            },
            "multiply": {
              "name": "multiply",
              "args": [
                {
                  "name": "factor",
                  "description": "multiplication factor",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "Money object representing multiplication result."
              },
              "description": "Multiply Money object by specified factor. If this Money is\n N/A the result is also N/A.",
              "deprecated": false
            },
            "multiply0": {
              "name": "multiply",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to multiply the value by",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "a new Money representing the multiplication result."
              },
              "description": "Multiplies the Money object with the given quantity. If this Money is\n N/A the result is also N/A.",
              "deprecated": false
            },
            "newMoney": {
              "name": "newMoney",
              "args": [
                {
                  "name": "value",
                  "description": "as a decimal",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "new Money instance with same currency"
              },
              "description": "Method returns a new instance of Money with the same currency but\n different value. An N/A instance is returned if value is null.",
              "deprecated": false
            },
            "percentLessThan": {
              "name": "percentLessThan",
              "args": [
                {
                  "name": "value",
                  "description": "The price to compare to this price",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The percentage discount this price represents in relation to the passed base price."
              },
              "description": "Convenience method.\n Calculates and returns the percentage off this price represents in\n relation to the passed base price.  The result is generally equal to\n 100.0 - this.percentOf(value).  For example, if this value\n is $30 and the passed value is $50, then the return\n value will be 40.0, representing a 40% discount.\n \n This method will return null if the compare value is null, this value or\n the compare value is unavailable, or the compare value equals 0.0.",
              "deprecated": false
            },
            "percentOf": {
              "name": "percentOf",
              "args": [
                {
                  "name": "value",
                  "description": "The price to compare to this price",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The percentage of the compare price this price represents, or null."
              },
              "description": "Convenience method.\n Calculates and returns the percentage of the passed value this\n price represents.  For example, if this value is $30 and\n the passed value is $50, then the return value will be 60.0 (i.e. 60%).\n \n This method will return null if the compare value is null, this value or\n the compare value is unavailable, or the compare value equals 0.0.",
              "deprecated": false
            },
            "prorate": {
              "name": "prorate",
              "args": [
                {
                  "name": "dist",
                  "description": "the proration discount.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the values to prorate.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Money[]",
                "description": "the prorated values."
              },
              "description": "Prorates the specified values using the specified discount.",
              "deprecated": false
            },
            "subtract": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "the Money object to subtract",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the Money object representing the result of subtraction."
              },
              "description": "Returns a new Money instance by substracting the specified Money object\n from the current object. Only objects representing the\n same currency can be subtracted. If one of the Money values is N/A, the\n result is N/A.",
              "deprecated": false
            },
            "subtractPercent": {
              "name": "subtractPercent",
              "args": [
                {
                  "name": "percent",
                  "description": "the percent value",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "new Money object with the result of the calculation"
              },
              "description": "Subtracts a certain percentage from the money object. The percent value is given\n as true percent value, so for example 10 represent 10%. If this Money is\n N/A the result is also N/A.",
              "deprecated": false
            },
            "subtractRate": {
              "name": "subtractRate",
              "args": [
                {
                  "name": "value",
                  "description": "the rate to subtract.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "a new Money object with rate subtracted."
              },
              "description": "Subtracts a rate (e.g. 0.05) from the money object. This is typically for example\n to subtract a tax rates.",
              "deprecated": false
            },
            "toFormattedString": {
              "name": "toFormattedString",
              "args": [],
              "class": {
                "name": "String",
                "description": "The formatted String representation of the passed money. In case of an error the string 'N/A' is returned."
              },
              "description": "Returns a string representation of Money according to the regional settings configured for current request\n locale, for example '$59.00' or 'USD 59.00'.",
              "deprecated": false
            },
            "toNumberString": {
              "name": "toNumberString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation for the numeric value of this money."
              },
              "description": "Returns a string representation for the numeric value of this money.\n The number is formatted with the decimal symbols of the platforms\n default locale.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this Money object."
              },
              "description": "Returns a string representation of this Money object.",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "According to the ECMA spec returns the \"natural\" primitve value. Here\n the value portion of the Money is returned.",
              "deprecated": false
            }
          }
        }
      },
      "web": {
        "CSRFProtection": {
          "fullClassName": "dw.web.CSRFProtection",
          "package": "dw.web",
          "description": "Used to generate and validate CSRF tokens. CSRFProtection allows\n applications to protect themselves against CSRF attacks, using\n synchronizer tokens, a best practice. Once created, these tokens\n are tied to a user’s session and valid for 60 minutes.\n <p>\n Usage:<br>\n Adding CSRF token to forms:\n\n </p><pre> //CSRF token generation\n &lt;form ... action=\"<protected location=\"\">\"&gt;\n   &lt;input name=\"foo\" value=\"bar\"&gt;\n   &lt;input name=\"${dw.web.CSRFProtection.getTokenName()}\"\n             value=\"${dw.web.CSRFProtection.generateToken()\"&gt;\n &lt;/form&gt;\n </protected></pre>\n\n Then, in scripts call:\n\n <pre> dw.web.CSRFProtection.validateRequest();\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "tokenName": {
              "name": "tokenName",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The system generated CSRF token name. Currently, this name is not user configurable. Must be used for\n validateRequest() to work",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "generateToken": {
              "name": "generateToken",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "a new CSRF token"
              },
              "description": "Constructs a new unique CSRF token for this session.",
              "deprecated": false
            },
            "getTokenName": {
              "name": "getTokenName",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "System-generated CSRF token parameter name"
              },
              "description": "Returns the system generated CSRF token name. Currently, this name is not user configurable. Must be used for\n validateRequest() to work",
              "deprecated": false
            },
            "validateRequest": {
              "name": "validateRequest",
              "args": [],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if request contains a valid CSRF token, false otherwise"
              },
              "description": "Verifies that a client request contains a valid CSRF token, and that\n the token has not expired. Returns true if these conditions are met,\n and false otherwise",
              "deprecated": false
            }
          }
        },
        "ClickStream": {
          "fullClassName": "dw.web.ClickStream",
          "package": "dw.web",
          "description": "Represents the click stream in the session. A maximum number of 50 clicks is\n recorded per session. After the maximum is reached, each time the customer\n clicks on a new link, the oldest click stream entry is purged. The\n ClickStream always remembers the first click.\n <p>\n The click stream is consulted when the GetLastVisitedProducts pipelet is\n called to retrieve the products that the customer has recently visited.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "clicks": {
              "name": "clicks",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "A collection with all clicks. The first entry is the oldest\n entry. The last entry is the latest entry. The method returns a copy of\n the click stream, which makes it safe to work with the click stream,\n while it might be modified.",
              "deprecated": false,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the clickstream recording is enabled or not.\n It is considered enabled if either:\n the method Session.isTrackingAllowed() returns true\n or if the above method returns false but the preference 'ClickstreamHonorDNT' is set to false.\n \n When clickstream tracking is not enabled the getFirst method still operates as expected\n but the rest of the clicks are not collected.",
              "deprecated": false,
              "type": "property"
            },
            "first": {
              "name": "first",
              "class": {
                "name": "ClickStreamEntry"
              },
              "static": false,
              "readonly": true,
              "description": "The first click within this session. This first click\n is stored independent of whether entries are purged.",
              "deprecated": false,
              "type": "property"
            },
            "last": {
              "name": "last",
              "class": {
                "name": "ClickStreamEntry"
              },
              "static": false,
              "readonly": true,
              "description": "The last recorded click stream, which is also typically\n the current click. In where rare cases (e.g. RedirectURL pipeline) this\n is not the current click, but instead the last recorded click.",
              "deprecated": false,
              "type": "property"
            },
            "partial": {
              "name": "partial",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is only a partial click stream. If the maximum number\n of clicks (50) is recorded, the oldest entry is automatically purged with\n each additional click. In this case, this flag indicates that the click\n stream is only partial.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getClicks": {
              "name": "getClicks",
              "args": [],
              "class": {
                "name": "List",
                "description": "a collection of ClickStreamEntry instances, sorted chronologically."
              },
              "description": "Returns a collection with all clicks. The first entry is the oldest\n entry. The last entry is the latest entry. The method returns a copy of\n the click stream, which makes it safe to work with the click stream,\n while it might be modified.",
              "deprecated": false
            },
            "getFirst": {
              "name": "getFirst",
              "args": [],
              "class": {
                "name": "ClickStreamEntry",
                "description": "the first click within this session."
              },
              "description": "Returns the first click within this session. This first click\n is stored independent of whether entries are purged.",
              "deprecated": false
            },
            "getLast": {
              "name": "getLast",
              "args": [],
              "class": {
                "name": "ClickStreamEntry",
                "description": "the last recorded click stream, which is also typically the current click."
              },
              "description": "Returns the last recorded click stream, which is also typically\n the current click. In where rare cases (e.g. RedirectURL pipeline) this\n is not the current click, but instead the last recorded click.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "whether clickstream tracking is enabled"
              },
              "description": "Identifies if the clickstream recording is enabled or not.\n It is considered enabled if either:\n the method Session.isTrackingAllowed() returns true\n or if the above method returns false but the preference 'ClickstreamHonorDNT' is set to false.\n \n When clickstream tracking is not enabled the getFirst method still operates as expected\n but the rest of the clicks are not collected.",
              "deprecated": false
            },
            "isPartial": {
              "name": "isPartial",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this click stream is partial, false otherwise."
              },
              "description": "Identifies if this is only a partial click stream. If the maximum number\n of clicks (50) is recorded, the oldest entry is automatically purged with\n each additional click. In this case, this flag indicates that the click\n stream is only partial.",
              "deprecated": false
            }
          }
        },
        "ClickStreamEntry": {
          "fullClassName": "dw.web.ClickStreamEntry",
          "package": "dw.web",
          "description": "Represent an entry in the click stream.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "host": {
              "name": "host",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The host.",
              "deprecated": false,
              "type": "property"
            },
            "locale": {
              "name": "locale",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The locale sent from the user agent.",
              "deprecated": false,
              "type": "property"
            },
            "path": {
              "name": "path",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The path.",
              "deprecated": false,
              "type": "property"
            },
            "pipelineName": {
              "name": "pipelineName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the called pipeline. In most cases the\n name can be derived from the path, but not in all cases. If with\n URL rewritting a special landing page is defined for a DNS name, than\n the system internally might use a specific pipeline associated with\n this landing page.",
              "deprecated": false,
              "type": "property"
            },
            "queryString": {
              "name": "queryString",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The query string.",
              "deprecated": false,
              "type": "property"
            },
            "referer": {
              "name": "referer",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The referer.",
              "deprecated": false,
              "type": "property"
            },
            "remoteAddress": {
              "name": "remoteAddress",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The remote address.",
              "deprecated": false,
              "type": "property"
            },
            "timestamp": {
              "name": "timestamp",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The entry's timestamp.",
              "deprecated": false,
              "type": "property"
            },
            "url": {
              "name": "url",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The full URL for this click. The URL is returned as relative\n URL.",
              "deprecated": false,
              "type": "property"
            },
            "userAgent": {
              "name": "userAgent",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The user agent.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getHost": {
              "name": "getHost",
              "args": [],
              "class": {
                "name": "String",
                "description": "the host."
              },
              "description": "Returns the host.",
              "deprecated": false
            },
            "getLocale": {
              "name": "getLocale",
              "args": [],
              "class": {
                "name": "String",
                "description": "the locale sent from the user agent."
              },
              "description": "Returns the locale sent from the user agent.",
              "deprecated": false
            },
            "getParameter": {
              "name": "getParameter",
              "args": [
                {
                  "name": "name",
                  "description": "the name of the parameter.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the value associated with the specified parameter, or null."
              },
              "description": "Returns a specific parameter value from the stored query\n string. The method can be used to extract a source code or\n affiliate id out of the URLs in the click stream.\n\n The method returns null if there is no parameter with the given name.",
              "deprecated": false
            },
            "getPath": {
              "name": "getPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the path."
              },
              "description": "Returns the path.",
              "deprecated": false
            },
            "getPipelineName": {
              "name": "getPipelineName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the called pipeline."
              },
              "description": "Returns the name of the called pipeline. In most cases the\n name can be derived from the path, but not in all cases. If with\n URL rewritting a special landing page is defined for a DNS name, than\n the system internally might use a specific pipeline associated with\n this landing page.",
              "deprecated": false
            },
            "getQueryString": {
              "name": "getQueryString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the query string."
              },
              "description": "Returns the query string.",
              "deprecated": false
            },
            "getReferer": {
              "name": "getReferer",
              "args": [],
              "class": {
                "name": "String",
                "description": "the referer."
              },
              "description": "Returns the referer.",
              "deprecated": false
            },
            "getRemoteAddress": {
              "name": "getRemoteAddress",
              "args": [],
              "class": {
                "name": "String",
                "description": "the remote address."
              },
              "description": "Returns the remote address.",
              "deprecated": false
            },
            "getTimestamp": {
              "name": "getTimestamp",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the entry's timestamp."
              },
              "description": "Returns the entry's timestamp.",
              "deprecated": false
            },
            "getUrl": {
              "name": "getUrl",
              "args": [],
              "class": {
                "name": "String",
                "description": "the full URL for this click."
              },
              "description": "Returns the full URL for this click. The URL is returned as relative\n URL.",
              "deprecated": false
            },
            "getUserAgent": {
              "name": "getUserAgent",
              "args": [],
              "class": {
                "name": "String",
                "description": "the user agent."
              },
              "description": "Returns the user agent.",
              "deprecated": false
            }
          }
        },
        "Cookie": {
          "fullClassName": "dw.web.Cookie",
          "package": "dw.web",
          "description": "Represents an HTTP cookie used for storing information on a client browser. Cookies are passed along in the HTTP\n request and can be retrieved by calling dw.system.Request.getHttpCookies().\n <p>\n Cookies must comply with RFC6265. We recommend you use only printable ASCII characters without separators, such as a\n comma or equal sign. If JSON is used as a cookie value, it must be encoded.\n </p><p>\n <b>Note:</b> this class allows access to sensitive security-related data. Pay special attention to PCI DSS v3.\n requirements 2, 4, and 12.\n </p><p>\n See <a href=\"class_dw_system_Request.html#dw_system_Request_getHttpCookies_DetailAnchor\">Request.getHttpCookies()</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "EMPTYNAME": {
              "name": "EMPTYNAME",
              "value": "\"dw_emptyname__\"",
              "class": {
                "name": "String"
              },
              "description": "Default name for cookies with empty strings.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "comment": {
              "name": "comment",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The comment associated with the cookie.",
              "deprecated": false,
              "type": "property"
            },
            "domain": {
              "name": "domain",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The domain associated with the cookie.",
              "deprecated": false,
              "type": "property"
            },
            "httpOnly": {
              "name": "httpOnly",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Identifies if the cookie is http-only.",
              "deprecated": false,
              "type": "property"
            },
            "maxAge": {
              "name": "maxAge",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The maximum age of the cookie, specified in seconds.\n By default, -1 indicating the cookie will persist until client shutdown.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The cookie's name.",
              "deprecated": false,
              "type": "property"
            },
            "path": {
              "name": "path",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The path for the cookie.",
              "deprecated": false,
              "type": "property"
            },
            "secure": {
              "name": "secure",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Identifies if the cookie is secure.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The cookie's value.",
              "deprecated": false,
              "type": "property"
            },
            "version": {
              "name": "version",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The version for the cookie. 0 means original Netscape cookie and\n 1 means RFC 2109 compliant cookie.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Cookie": {
              "name": "Cookie",
              "args": [
                {
                  "name": "name",
                  "description": "the name for the cookie.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the cookie's value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new cookie using the specified name and value.",
              "deprecated": false
            }
          },
          "methods": {
            "getComment": {
              "name": "getComment",
              "args": [],
              "class": {
                "name": "String",
                "description": "the comment associated with the cookie."
              },
              "description": "Returns the comment associated with the cookie.",
              "deprecated": false
            },
            "getDomain": {
              "name": "getDomain",
              "args": [],
              "class": {
                "name": "String",
                "description": "the domain associated with the cookie."
              },
              "description": "Returns the domain associated with the cookie.",
              "deprecated": false
            },
            "getMaxAge": {
              "name": "getMaxAge",
              "args": [],
              "class": {
                "name": "Number",
                "description": "an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie persists until client shutdown"
              },
              "description": "Returns the maximum age of the cookie, specified in seconds.\n By default, -1 indicating the cookie will persist until client shutdown.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the cookie's name."
              },
              "description": "Returns the cookie's name.",
              "deprecated": false
            },
            "getPath": {
              "name": "getPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the path for the cookie."
              },
              "description": "Returns the path for the cookie.",
              "deprecated": false
            },
            "getSecure": {
              "name": "getSecure",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cookie is secure, false otherwise."
              },
              "description": "Identifies if the cookie is secure.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the cookie's value."
              },
              "description": "Returns the cookie's value.",
              "deprecated": false
            },
            "getVersion": {
              "name": "getVersion",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the version for the cookie."
              },
              "description": "Returns the version for the cookie. 0 means original Netscape cookie and\n 1 means RFC 2109 compliant cookie.",
              "deprecated": false
            },
            "isHttpOnly": {
              "name": "isHttpOnly",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the cookie is http-only, false otherwise."
              },
              "description": "Identifies if the cookie is http-only.",
              "deprecated": false
            },
            "setComment": {
              "name": "setComment",
              "args": [
                {
                  "name": "comment",
                  "description": "the comment associated with the cookie.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the comment associated with the cookie.\n\n Setting a comment automatically changes the cookie to be a RFC 2109\n (set-cookie2) compliant cookie, because comments are only supported with\n RFC cookies and not with Netscapes original cookie.",
              "deprecated": false
            },
            "setDomain": {
              "name": "setDomain",
              "args": [
                {
                  "name": "domain",
                  "description": "the comment associated with the cookie.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the domain associated with the cookie.",
              "deprecated": false
            },
            "setHttpOnly": {
              "name": "setHttpOnly",
              "args": [
                {
                  "name": "httpOnly",
                  "description": "sets http-only state for the cookie.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the http-only state for the cookie.",
              "deprecated": false
            },
            "setMaxAge": {
              "name": "setMaxAge",
              "args": [
                {
                  "name": "age",
                  "description": "an integer specifying the maximum age of the cookie in seconds; if negative, means the cookie is not stored; if zero, deletes the cookie",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the maximum age of the cookie in seconds.\n\n A positive value indicates that the cookie will expire after that many\n seconds have passed. Note that the value is the maximum age when the\n cookie will expire, not the cookie's current age.\n\n A negative value means that the cookie is not stored persistently and\n will be deleted when the client exits. A zero value causes the\n cookie to be deleted.",
              "deprecated": false
            },
            "setPath": {
              "name": "setPath",
              "args": [
                {
                  "name": "path",
                  "description": "the path for the cookie.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the path for the cookie.",
              "deprecated": false
            },
            "setSecure": {
              "name": "setSecure",
              "args": [
                {
                  "name": "secure",
                  "description": "sets secure state for the cookie.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the secure state for the cookie.",
              "deprecated": false
            },
            "setValue": {
              "name": "setValue",
              "args": [
                {
                  "name": "value",
                  "description": "the value to set in the cookie.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the cookie's value.",
              "deprecated": false
            },
            "setVersion": {
              "name": "setVersion",
              "args": [
                {
                  "name": "version",
                  "description": "the version for the cookie.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the version for the cookie. 0 means original Netscape cookie and\n 1 means RFC 2109 compliant cookie. The default is 0.",
              "deprecated": false
            }
          }
        },
        "Cookies": {
          "fullClassName": "dw.web.Cookies",
          "package": "dw.web",
          "description": "The class provides an index and associative array like access to the Cookies\n of the current request. Cookies can be retrieved by calling\n dw.system.Request.getHttpCookies().\n <p>\n <b>Note:</b> this class allows access to sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.\n </p><p>\n See <a href=\"class_dw_system_Request.html#dw_system_Request_getHttpCookies_DetailAnchor\">Request.getHttpCookies()</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "cookieCount": {
              "name": "cookieCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of known cookies.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCookieCount": {
              "name": "getCookieCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of cookies"
              },
              "description": "Returns the number of known cookies.",
              "deprecated": false
            }
          }
        },
        "Form": {
          "fullClassName": "dw.web.Form",
          "package": "dw.web",
          "description": "The class is the top level element in the form instance hierachy.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            },
            {
              "name": "dw.web.FormGroup"
            }
          ],
          "constants": {},
          "properties": {
            "secureKeyHtmlName": {
              "name": "secureKeyHtmlName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The secure key html name to be used for the hidden input field\n that will contain the secure key value.",
              "deprecated": false,
              "type": "property"
            },
            "secureKeyValue": {
              "name": "secureKeyValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The secure key value that is generated for the form to use\n in a hidden input field for authentication.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSecureKeyHtmlName": {
              "name": "getSecureKeyHtmlName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the secure key html name"
              },
              "description": "Returns the secure key html name to be used for the hidden input field\n that will contain the secure key value.",
              "deprecated": false
            },
            "getSecureKeyValue": {
              "name": "getSecureKeyValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the secure key value"
              },
              "description": "Returns the secure key value that is generated for the form to use\n in a hidden input field for authentication.",
              "deprecated": false
            }
          }
        },
        "FormAction": {
          "fullClassName": "dw.web.FormAction",
          "package": "dw.web",
          "description": "The FormAction class represents the action in form instance hierarchy.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The optional description for the action. The description could be used\n as tooltip for the action.",
              "deprecated": false,
              "type": "property"
            },
            "label": {
              "name": "label",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The optional label for the action. The label would be typically used\n as button text.",
              "deprecated": false,
              "type": "property"
            },
            "object": {
              "name": "object",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The object that was bound to the form in which the action\n is contained. The method is a convenience method for getParent().getObject().\n In most cases this is actually the object for which\n the specific action is triggered.",
              "deprecated": false,
              "type": "property"
            },
            "submitted": {
              "name": "submitted",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the form action was submitted from\n the client to the server.",
              "deprecated": false,
              "type": "property"
            },
            "triggered": {
              "name": "triggered",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies that this action is triggerd. An\n action is only triggered if it was submitted and the constraints, regarding\n a valid form, are met.",
              "deprecated": false,
              "type": "property"
            },
            "x": {
              "name": "x",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "In case of an image button, returns the x coordinate of the last click.",
              "deprecated": false,
              "type": "property"
            },
            "y": {
              "name": "y",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "In case of an image button, returns the y coordinate of the last click.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the optional description for the action."
              },
              "description": "Returns the optional description for the action. The description could be used\n as tooltip for the action.",
              "deprecated": false
            },
            "getLabel": {
              "name": "getLabel",
              "args": [],
              "class": {
                "name": "String",
                "description": "the optional label for the action."
              },
              "description": "Returns the optional label for the action. The label would be typically used\n as button text.",
              "deprecated": false
            },
            "getObject": {
              "name": "getObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the object that was bound to the form in which the action is contained."
              },
              "description": "Returns the object that was bound to the form in which the action\n is contained. The method is a convenience method for getParent().getObject().\n In most cases this is actually the object for which\n the specific action is triggered.",
              "deprecated": false
            },
            "getX": {
              "name": "getX",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the x coordinate of the last click."
              },
              "description": "In case of an image button, returns the x coordinate of the last click.",
              "deprecated": false
            },
            "getY": {
              "name": "getY",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the y coordinate of the last click."
              },
              "description": "In case of an image button, returns the y coordinate of the last click.",
              "deprecated": false
            },
            "isSubmitted": {
              "name": "isSubmitted",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the form action was submitted, false otherwise."
              },
              "description": "Identifies if the form action was submitted from\n the client to the server.",
              "deprecated": false
            },
            "isTriggered": {
              "name": "isTriggered",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the action is triggered, false otherwise."
              },
              "description": "Identifies that this action is triggerd. An\n action is only triggered if it was submitted and the constraints, regarding\n a valid form, are met.",
              "deprecated": false
            }
          }
        },
        "FormElement": {
          "fullClassName": "dw.web.FormElement",
          "package": "dw.web",
          "description": "Represents a form element.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "dynamicHtmlName": {
              "name": "dynamicHtmlName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "A dynamic html name for the field. It can be used to suppress any autocompletion\n support from a browser, e.g. for credit card related fields. It can be also\n used for a unique form name, if one form is used multiple times in a page.",
              "deprecated": false,
              "type": "property"
            },
            "formId": {
              "name": "formId",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the form element. The is is unique within the parent\n element of the form.",
              "deprecated": false,
              "type": "property"
            },
            "htmlName": {
              "name": "htmlName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The global unique name of the field, which can be used as name\n in the html form. For radio buttons this name is not unique.",
              "deprecated": false,
              "type": "property"
            },
            "parent": {
              "name": "parent",
              "class": {
                "name": "FormElement"
              },
              "static": false,
              "readonly": true,
              "description": "The parent within the form.",
              "deprecated": false,
              "type": "property"
            },
            "valid": {
              "name": "valid",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this element and all its children elements are\n valid. A form element, which was not submitted in the last\n request is always valid.",
              "deprecated": false,
              "type": "property"
            },
            "validationResult": {
              "name": "validationResult",
              "class": {
                "name": "FormElementValidationResult"
              },
              "static": false,
              "readonly": true,
              "description": "Provides a combined view on the validation status as per isValid() and getError(). In\n addition it also provides the data as returned by the validation in case a validation\n script was used.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "clearFormElement": {
              "name": "clearFormElement",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method clears the whole form. After clearing a form it\n contains no value or the default value, is not bound to any business\n object and has the status of being valid.",
              "deprecated": false
            },
            "getDynamicHtmlName": {
              "name": "getDynamicHtmlName",
              "args": [],
              "class": {
                "name": "String",
                "description": "a dynamic html name."
              },
              "description": "Returns a dynamic html name for the field. It can be used to suppress any autocompletion\n support from a browser, e.g. for credit card related fields. It can be also\n used for a unique form name, if one form is used multiple times in a page.",
              "deprecated": false
            },
            "getFormId": {
              "name": "getFormId",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the form."
              },
              "description": "The ID of the form element. The is is unique within the parent\n element of the form.",
              "deprecated": false
            },
            "getHtmlName": {
              "name": "getHtmlName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the global unique name of the field."
              },
              "description": "Returns the global unique name of the field, which can be used as name\n in the html form. For radio buttons this name is not unique.",
              "deprecated": false
            },
            "getParent": {
              "name": "getParent",
              "args": [],
              "class": {
                "name": "FormElement",
                "description": "the parent within the form."
              },
              "description": "The parent within the form.",
              "deprecated": false
            },
            "getValidationResult": {
              "name": "getValidationResult",
              "args": [],
              "class": {
                "name": "FormElementValidationResult",
                "description": "the validation status (valid, error, data)"
              },
              "description": "Provides a combined view on the validation status as per isValid() and getError(). In\n addition it also provides the data as returned by the validation in case a validation\n script was used.",
              "deprecated": false
            },
            "invalidateFormElement": {
              "name": "invalidateFormElement",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to explicitly invalidate a form element. The\n error text will be set to the one of two possible preconfigured custom\n error messages associated with the form definition. The \"value-error\"\n message will be used for FormField instances and \"form-error\" will be\n used for FormGroup instances.",
              "deprecated": false
            },
            "invalidateFormElement0": {
              "name": "invalidateFormElement",
              "args": [
                {
                  "name": "error",
                  "description": "the error text to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to explicitly invalidate a field. The error\n text is set to the given error message.",
              "deprecated": false
            },
            "isValid": {
              "name": "isValid",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this element and all its children elements are valid, false otherwise."
              },
              "description": "Identifies if this element and all its children elements are\n valid. A form element, which was not submitted in the last\n request is always valid.",
              "deprecated": false
            }
          }
        },
        "FormElementValidationResult": {
          "fullClassName": "dw.web.FormElementValidationResult",
          "package": "dw.web",
          "description": "Represents a form element validation result. The validation script specified for form groups and fields can create\n such FormElementValidationResult with the desired validity, message and data and can then return it. The server side form\n element validation will evaluate these settings, i.e. calculate the corresponding element validity and message. The optional\n data provided with this instance will be kept and can be accessed again from the form element after server side validation.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "data": {
              "name": "data",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "Provides optional data acquired during validation.",
              "deprecated": false,
              "type": "property"
            },
            "message": {
              "name": "message",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Provides an optional message in case of validation failure.",
              "deprecated": false,
              "type": "property"
            },
            "valid": {
              "name": "valid",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "States if the validation succeeded or failed.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "FormElementValidationResult": {
              "name": "FormElementValidationResult",
              "args": [
                {
                  "name": "valid",
                  "description": "the desired validity",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a FormElementValidationResult with given setting for the validity but without any message.",
              "deprecated": false
            },
            "FormElementValidationResult0": {
              "name": "FormElementValidationResult",
              "args": [
                {
                  "name": "valid",
                  "description": "the desired validity",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "message",
                  "description": "the desired message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a FormElementValidationResult with given setting for the validity and corresponding message.\n This is especially useful to represent a failed validation including some error message.",
              "deprecated": false
            },
            "FormElementValidationResult01": {
              "name": "FormElementValidationResult",
              "args": [
                {
                  "name": "valid",
                  "description": "the desired validity",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "message",
                  "description": "the desired message",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "data",
                  "description": "the desired data",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a FormElementValidationResult with given setting for the validity and corresponding message.\n This is especially useful to represent a failed validation including some error message. Additional\n data can be stored, too.",
              "deprecated": false
            }
          },
          "methods": {
            "addData": {
              "name": "addData",
              "args": [
                {
                  "name": "key",
                  "description": "the key for which the data value will be stored",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the data value that is stored for the given key",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds optional data acquired during validation.",
              "deprecated": false
            },
            "getData": {
              "name": "getData",
              "args": [],
              "class": {
                "name": "Map",
                "description": "the data acquired during validation"
              },
              "description": "Provides optional data acquired during validation.",
              "deprecated": false
            },
            "getMessage": {
              "name": "getMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the message for validation failure"
              },
              "description": "Provides an optional message in case of validation failure.",
              "deprecated": false
            },
            "isValid": {
              "name": "isValid",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the validation succeeded"
              },
              "description": "States if the validation succeeded or failed.",
              "deprecated": false
            },
            "setMessage": {
              "name": "setMessage",
              "args": [
                {
                  "name": "message",
                  "description": "the message for validation failure",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets an optional message in case of validation failure.",
              "deprecated": false
            },
            "setValid": {
              "name": "setValid",
              "args": [
                {
                  "name": "valid",
                  "description": "if the validation succeeded",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets if the validation succeeded or failed.",
              "deprecated": false
            }
          }
        },
        "FormField": {
          "fullClassName": "dw.web.FormField",
          "package": "dw.web",
          "description": "Represents a field in a form.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            }
          ],
          "constants": {},
          "properties": {
            "checked": {
              "name": "checked",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the current selected state of this field is checked. In case of\n a boolean field the method directly represent the boolean value. In case\n of a string or int field, the method returns true if the current value\n matched with the value specified as \"selected-value\". In this way a\n selected status can be as determined for non-boolean fields.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An optinal description for the field.",
              "deprecated": false,
              "type": "property"
            },
            "error": {
              "name": "error",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The error text that will be shown to the user when the field is\n invalid. The error messages that may be returned by this method are\n defined in the form field definition under the following attribute names:\n\n \n missing-error\n parse-error\n range-error\n value-error\n \n\n The framework performs error checks in a specific order, and so if there\n are multiple errors for a single FormField, the following sequence\n defines which error is returned:\n\n \n When submitting a form entry, whitespace is first trimmed from user\n entry and the entry is parsed into native data type (boolean, date,\n integer, number, or string). A regex, if defined, is also matched against\n the input. If there is an error while parsing or matching with regex,\n \"parse-error\" is set as error.\n If field was marked as \"mandatory\" but there is no entry,\n \"missing-error\" is returned\n The min/max and minlength/maxlength checks are performed. If test\n failed, \"range-error\" is returned.\n value-error or form-error are returned when \"invalidate()\" was called\n programatically (or pipelet InvalidateFormElement is used)\n \n\n If the field is valid, this method returns null. If no error message was\n specified in the form field definition, this method also returns null.",
              "deprecated": false,
              "type": "property"
            },
            "FIELD_TYPE_BOOLEAN": {
              "name": "FIELD_TYPE_BOOLEAN",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "indicates a boolean/checkbox field in the form definition",
              "deprecated": false,
              "type": "property"
            },
            "FIELD_TYPE_DATE": {
              "name": "FIELD_TYPE_DATE",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "indicates a date field in the form definition",
              "deprecated": false,
              "type": "property"
            },
            "FIELD_TYPE_INTEGER": {
              "name": "FIELD_TYPE_INTEGER",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "indicates an integer field in the form definition",
              "deprecated": false,
              "type": "property"
            },
            "FIELD_TYPE_NUMBER": {
              "name": "FIELD_TYPE_NUMBER",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "indicates a number field in the form definition",
              "deprecated": false,
              "type": "property"
            },
            "FIELD_TYPE_STRING": {
              "name": "FIELD_TYPE_STRING",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": false,
              "description": "indicates a string field in the form definition",
              "deprecated": false,
              "type": "property"
            },
            "htmlValue": {
              "name": "htmlValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The current external string representation of the\n value in this field.",
              "deprecated": false,
              "type": "property"
            },
            "label": {
              "name": "label",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An optional label text for the field.",
              "deprecated": false,
              "type": "property"
            },
            "mandatory": {
              "name": "mandatory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates if the field is mandatory.",
              "deprecated": false,
              "type": "property"
            },
            "maxLength": {
              "name": "maxLength",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum length for the form field. A maximum length can\n be specified for all form data types, but is only used to validate fields\n of type \"string\". For other data types the value is just provided as an\n easy way to dynamically format the user interface. If not specified in\n the form definition the default minimum length is Integer.MAX_VALUE.",
              "deprecated": false,
              "type": "property"
            },
            "maxValue": {
              "name": "maxValue",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum value for a form field. A maximum value is only\n applicable for fields with the data type \"int\", \"number\" and \"date\".\n If a maximum value was not specified in the form definition the method\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "minLength": {
              "name": "minLength",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The minimum length for the form field. A minimum length can\n be specified for all form data types, but is only used to validate fields\n of type \"string\". For other data types the value is just provided as an\n easy way to dynamically format the user interface. If not specified in\n the form definition the default minimum length is 0.",
              "deprecated": false,
              "type": "property"
            },
            "minValue": {
              "name": "minValue",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The minimum value for a form field. A minimum value is only\n applicable for fields with the data type \"int\", \"number\" and \"date\".\n If a minimum value was not specified in the form definition the method\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "options": {
              "name": "options",
              "class": {
                "name": "FormFieldOptions"
              },
              "static": false,
              "readonly": false,
              "description": "A list of possible values for this field. The method\n is typically used to render a selection list or to render radio buttons.",
              "deprecated": false,
              "type": "property"
            },
            "regEx": {
              "name": "regEx",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An optional regular expression pattern, which was set in the form\n definition. A pattern is only used for validation only for string fields.\n If no pattern was set, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "selected": {
              "name": "selected",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the current selected state of this field is selected. In case of\n a boolean field the method directly represent the boolean value. In case\n of a string or int field, the method returns true if the current value\n matched with the value specified as \"selected-value\". In this way a\n selected status can be as determined for non-boolean fields.",
              "deprecated": false,
              "type": "property"
            },
            "selectedOption": {
              "name": "selectedOption",
              "class": {
                "name": "FormFieldOption"
              },
              "static": false,
              "readonly": true,
              "description": "The selected options or null if the field has no option\n or non is selected.",
              "deprecated": false,
              "type": "property"
            },
            "selectedOptionObject": {
              "name": "selectedOptionObject",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The object that was optionally associated with the\n currently selected option.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns the type of the field. The type is one of the\n FIELD_TYPE constants defined in this class.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": false,
              "description": "The internal value representation, which can be a string, a\n number, a boolean or a date.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "an optional description for the field."
              },
              "description": "Returns an optinal description for the field.",
              "deprecated": false
            },
            "getError": {
              "name": "getError",
              "args": [],
              "class": {
                "name": "String",
                "description": "the error text that will be shown to the user when the field is invalid."
              },
              "description": "Returns the error text that will be shown to the user when the field is\n invalid. The error messages that may be returned by this method are\n defined in the form field definition under the following attribute names:\n\n \n missing-error\n parse-error\n range-error\n value-error\n \n\n The framework performs error checks in a specific order, and so if there\n are multiple errors for a single FormField, the following sequence\n defines which error is returned:\n\n \n When submitting a form entry, whitespace is first trimmed from user\n entry and the entry is parsed into native data type (boolean, date,\n integer, number, or string). A regex, if defined, is also matched against\n the input. If there is an error while parsing or matching with regex,\n \"parse-error\" is set as error.\n If field was marked as \"mandatory\" but there is no entry,\n \"missing-error\" is returned\n The min/max and minlength/maxlength checks are performed. If test\n failed, \"range-error\" is returned.\n value-error or form-error are returned when \"invalidate()\" was called\n programatically (or pipelet InvalidateFormElement is used)\n \n\n If the field is valid, this method returns null. If no error message was\n specified in the form field definition, this method also returns null.",
              "deprecated": false
            },
            "getHtmlValue": {
              "name": "getHtmlValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the current external string representation of the value in this field."
              },
              "description": "Returns the current external string representation of the\n value in this field.",
              "deprecated": false
            },
            "getLabel": {
              "name": "getLabel",
              "args": [],
              "class": {
                "name": "String",
                "description": "an optional label text for the field."
              },
              "description": "Returns an optional label text for the field.",
              "deprecated": false
            },
            "getMaxLength": {
              "name": "getMaxLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "maximum length or MAX_VALUE"
              },
              "description": "Returns the maximum length for the form field. A maximum length can\n be specified for all form data types, but is only used to validate fields\n of type \"string\". For other data types the value is just provided as an\n easy way to dynamically format the user interface. If not specified in\n the form definition the default minimum length is Integer.MAX_VALUE.",
              "deprecated": false
            },
            "getMaxValue": {
              "name": "getMaxValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "maximum value or null"
              },
              "description": "Returns the maximum value for a form field. A maximum value is only\n applicable for fields with the data type \"int\", \"number\" and \"date\".\n If a maximum value was not specified in the form definition the method\n returns null.",
              "deprecated": false
            },
            "getMinLength": {
              "name": "getMinLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "minimum length or 0"
              },
              "description": "Returns the minimum length for the form field. A minimum length can\n be specified for all form data types, but is only used to validate fields\n of type \"string\". For other data types the value is just provided as an\n easy way to dynamically format the user interface. If not specified in\n the form definition the default minimum length is 0.",
              "deprecated": false
            },
            "getMinValue": {
              "name": "getMinValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "minimum value or null"
              },
              "description": "Returns the minimum value for a form field. A minimum value is only\n applicable for fields with the data type \"int\", \"number\" and \"date\".\n If a minimum value was not specified in the form definition the method\n returns null.",
              "deprecated": false
            },
            "getOptions": {
              "name": "getOptions",
              "args": [],
              "class": {
                "name": "FormFieldOptions",
                "description": "a list of possible values for this field."
              },
              "description": "Returns a list of possible values for this field. The method\n is typically used to render a selection list or to render radio buttons.",
              "deprecated": false
            },
            "getRegEx": {
              "name": "getRegEx",
              "args": [],
              "class": {
                "name": "String",
                "description": "the regular expression used for validation or null"
              },
              "description": "Returns an optional regular expression pattern, which was set in the form\n definition. A pattern is only used for validation only for string fields.\n If no pattern was set, the method returns null.",
              "deprecated": false
            },
            "getSelectedOption": {
              "name": "getSelectedOption",
              "args": [],
              "class": {
                "name": "FormFieldOption",
                "description": "the selected options or null if the field has no option or non is selected."
              },
              "description": "Returns the selected options or null if the field has no option\n or non is selected.",
              "deprecated": false
            },
            "getSelectedOptionObject": {
              "name": "getSelectedOptionObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the object that was optionally associated with the currently selected option."
              },
              "description": "Returns the object that was optionally associated with the\n currently selected option.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the type of the form field"
              },
              "description": "The method returns the type of the field. The type is one of the\n FIELD_TYPE constants defined in this class.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the internal value representation, which can be a string, a number, a boolean or a date."
              },
              "description": "Returns the internal value representation, which can be a string, a\n number, a boolean or a date.",
              "deprecated": false
            },
            "isChecked": {
              "name": "isChecked",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if current selected state of this field is checked."
              },
              "description": "Identifies if the current selected state of this field is checked. In case of\n a boolean field the method directly represent the boolean value. In case\n of a string or int field, the method returns true if the current value\n matched with the value specified as \"selected-value\". In this way a\n selected status can be as determined for non-boolean fields.",
              "deprecated": false
            },
            "isMandatory": {
              "name": "isMandatory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the field is mandatory, false otherwise."
              },
              "description": "Indicates if the field is mandatory.",
              "deprecated": false
            },
            "isSelected": {
              "name": "isSelected",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if current selected state of this field is checked."
              },
              "description": "Identifies if the current selected state of this field is selected. In case of\n a boolean field the method directly represent the boolean value. In case\n of a string or int field, the method returns true if the current value\n matched with the value specified as \"selected-value\". In this way a\n selected status can be as determined for non-boolean fields.",
              "deprecated": false
            },
            "setHtmlValue": {
              "name": "setHtmlValue",
              "args": [
                {
                  "name": "htmlValue",
                  "description": "the HTML value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "A form field has two value representations, the HTML value and the plain\n value. The HTML value is always a string representation of the field value.\n The plain value is the fully typed and validated field value.\n\n The sets the HTML value for a field. The method is typically called from\n the HTTP POST processing framework. The method than parses, validates\n and assigns the value to the typed field value (see getValue()). If the\n value is invalid the typed field value is set to null and the valid\n flag is set to false. The error property contains an error message\n for the form.",
              "deprecated": false
            },
            "setOptions": {
              "name": "setOptions",
              "args": [
                {
                  "name": "optionValues",
                  "description": "a Map with the values for the option list",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to update an option list based on the\n given key and values in the given map.",
              "deprecated": false
            },
            "setOptions0": {
              "name": "setOptions",
              "args": [
                {
                  "name": "optionValues",
                  "description": "a Map with the values for the option list.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "begin",
                  "description": "the index of the first element to use as option value.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "end",
                  "description": "the last of the last element to use as option value.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to update an option list based on the\n given key and values in the given map. The method also expects\n and index range. This index range only makes sense when the Map is\n a SortedMap.",
              "deprecated": false
            },
            "setOptions01": {
              "name": "setOptions",
              "args": [
                {
                  "name": "optionValues",
                  "description": "an iterator hows elements are used as option values",
                  "class": {
                    "name": "Iterator"
                  },
                  "multiple": false
                },
                {
                  "name": "begin",
                  "description": "the index of the first element to use as option value",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "end",
                  "description": "the last of the last element to use as option value",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to update an option list based on the\n given iterator with objects. The option list is updated using\n the bindings specified in the form definition. If no bindings are\n specified in the form definition the elements are interpreted as\n pure strings.",
              "deprecated": false
            },
            "setOptions012": {
              "name": "setOptions",
              "args": [
                {
                  "name": "optionValues",
                  "description": "an iterator whose elements are used as option values",
                  "class": {
                    "name": "Iterator"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method can be called to update an option list based on the\n given iterator with objects.",
              "deprecated": false
            },
            "setValue": {
              "name": "setValue",
              "args": [
                {
                  "name": "value",
                  "description": "the value to set.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the typed value of the field. The value is than immediately\n formatted into the external string representation, which is availble\n through the getHtmlValue() method. Also the valid flag is set\n to true. The actual value is not validated against the rules defined\n in the form definition. The method is typically used to directly set\n a typed value and to circumvent the validation rules.\n\n The type of the argument must match with the type of the field.",
              "deprecated": false
            }
          }
        },
        "FormFieldOption": {
          "fullClassName": "dw.web.FormFieldOption",
          "package": "dw.web",
          "description": "Represents an option for a form field.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "checked": {
              "name": "checked",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this option is checked.",
              "deprecated": false,
              "type": "property"
            },
            "htmlValue": {
              "name": "htmlValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value for the HTML value attribute of a HTML option element.",
              "deprecated": false,
              "type": "property"
            },
            "label": {
              "name": "label",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The value for the HTML label attribute of the HTML option element.\n If not specified in the form option definition the label is identical with\n the string representation of option value (see getValue()).",
              "deprecated": false,
              "type": "property"
            },
            "object": {
              "name": "object",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The object that was bound to this option value.",
              "deprecated": false,
              "type": "property"
            },
            "optionId": {
              "name": "optionId",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the option. This is an internal ID used to uniquely\n reference this option. If not specified in the form option definition\n the ID is identical with the string representation of the option value\n (see getValue()).",
              "deprecated": false,
              "type": "property"
            },
            "parent": {
              "name": "parent",
              "class": {
                "name": "FormField"
              },
              "static": false,
              "readonly": true,
              "description": "The parent, which is a field element.",
              "deprecated": false,
              "type": "property"
            },
            "selected": {
              "name": "selected",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this option is selected.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The actual value associated with this option. This value is formatted\n and than returned as HTML value with the method getHtmlValue().",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getHtmlValue": {
              "name": "getHtmlValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value for the HTML value attribute of a HTML option element."
              },
              "description": "Returns the value for the HTML value attribute of a HTML option element.",
              "deprecated": false
            },
            "getLabel": {
              "name": "getLabel",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value for the HTML label attribute of the HTML option element."
              },
              "description": "Returns the value for the HTML label attribute of the HTML option element.\n If not specified in the form option definition the label is identical with\n the string representation of option value (see getValue()).",
              "deprecated": false
            },
            "getObject": {
              "name": "getObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the object that was bound to this option value."
              },
              "description": "Returns the object that was bound to this option value.",
              "deprecated": false
            },
            "getOptionId": {
              "name": "getOptionId",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the option."
              },
              "description": "Returns the ID of the option. This is an internal ID used to uniquely\n reference this option. If not specified in the form option definition\n the ID is identical with the string representation of the option value\n (see getValue()).",
              "deprecated": false
            },
            "getParent": {
              "name": "getParent",
              "args": [],
              "class": {
                "name": "FormField",
                "description": "the parent form field."
              },
              "description": "The parent, which is a field element.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the value associated with this option"
              },
              "description": "The actual value associated with this option. This value is formatted\n and than returned as HTML value with the method getHtmlValue().",
              "deprecated": false
            },
            "isChecked": {
              "name": "isChecked",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this option is checked, false otherwise."
              },
              "description": "Identifies if this option is checked.",
              "deprecated": false
            },
            "isSelected": {
              "name": "isSelected",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this option is selected, false otherwise."
              },
              "description": "Identifies if this option is selected.",
              "deprecated": false
            },
            "setLabel": {
              "name": "setLabel",
              "args": [
                {
                  "name": "label",
                  "description": "the label value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the label attribute for this option.",
              "deprecated": false
            }
          }
        },
        "FormFieldOptions": {
          "fullClassName": "dw.web.FormFieldOptions",
          "package": "dw.web",
          "description": "The class represents the list of options for a field. The class supports\n an index style access to the options, e.g. myfield.options[2] or\n myfield.options.red.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "optionsCount": {
              "name": "optionsCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of option values.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getOptionsCount": {
              "name": "getOptionsCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Returns the number of option values.",
              "deprecated": false
            }
          }
        },
        "FormGroup": {
          "fullClassName": "dw.web.FormGroup",
          "package": "dw.web",
          "description": "The class is the central class within the whole form handling. It is\n the container element for fields and other form elements. A form group\n can contain other forms, also called sub-forms.\n\n Access to the elements of a form is provided via an index based access or\n via an associative array access. For example, the field \"firstname\" can be accessed\n with the expression \"myform.firstname\".",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            }
          ],
          "constants": {},
          "properties": {
            "childCount": {
              "name": "childCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of elements in the form.",
              "deprecated": false,
              "type": "property"
            },
            "error": {
              "name": "error",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "A form-wide error message. If no error message\n is present the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "object": {
              "name": "object",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The object that was bound to this form group.",
              "deprecated": false,
              "type": "property"
            },
            "submittedAction": {
              "name": "submittedAction",
              "class": {
                "name": "FormAction"
              },
              "static": false,
              "readonly": true,
              "description": "The action that was submitted with the last request. The action is\n set independent whether the form must be valid for this action. The method\n returns null if no action at all was submitted with the last request for this\n form group.",
              "deprecated": false,
              "type": "property"
            },
            "triggeredAction": {
              "name": "triggeredAction",
              "class": {
                "name": "FormAction"
              },
              "static": false,
              "readonly": true,
              "description": "The action that was triggered with the last request. An action is\n only marked as triggered if the constraints regarding form validation are\n meet. The method returns null if no action was marked as triggered.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "accept": {
              "name": "accept",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method copies the value from a form into the object, which was previously\n bound to the form. The method is equivalent to the pipelet AcceptForm.\n\n This method is equivalent to the call formgroup.copyFrom( formgroup.object ).",
              "deprecated": false
            },
            "copyFrom": {
              "name": "copyFrom",
              "args": [
                {
                  "name": "obj",
                  "description": "the object from, which the values are read",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method updates the form with the values from the given object.\n \n The method call is basically equivalent to the pipelet UpdateFormWithObject.\n \n The method not only copies the value, it also binds the object to the form. Binding means that the form keeps the\n information from which objects the values were taken. This can be used for two purposes:\n \n for lists it makes it easier in the code to find the associated object, for example in case of a related\n action, and\n it allows to copy back the values from the form into the object (see accept()).\n \n Because of this bind behavior, the operation is also sometimes called a bind-operation.",
              "deprecated": false
            },
            "copyTo": {
              "name": "copyTo",
              "args": [
                {
                  "name": "obj",
                  "description": "the object, which is updated from the form",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method updates the object with the values from the form.\n \n The method call is basically equivalent to the pipelet UpdateObjectWithForm.\n \n The method needs a submitted form. The copyTo call is delegated to the form fields. Each form field than checks\n if its value was submitted as part of the form:\n \n If this is true, the object gets updated with the form field value.\n If this is false, the object will not be updated.\n \n This is the reason why you cannot copy values from one object into another object by using\n copyFrom(Object) and copyTo(Object) within the same request (e.g. by one call to a script or\n controller).",
              "deprecated": false
            },
            "getChildCount": {
              "name": "getChildCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of elements in the form."
              },
              "description": "Returns the number of elements in the form.",
              "deprecated": false
            },
            "getError": {
              "name": "getError",
              "args": [],
              "class": {
                "name": "String",
                "description": "a form-wide error message or null."
              },
              "description": "Returns a form-wide error message. If no error message\n is present the method returns null.",
              "deprecated": false
            },
            "getObject": {
              "name": "getObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the bound object."
              },
              "description": "The object that was bound to this form group.",
              "deprecated": false
            },
            "getSubmittedAction": {
              "name": "getSubmittedAction",
              "args": [],
              "class": {
                "name": "FormAction",
                "description": "the action that was submitted with the last request or null."
              },
              "description": "Returns the action that was submitted with the last request. The action is\n set independent whether the form must be valid for this action. The method\n returns null if no action at all was submitted with the last request for this\n form group.",
              "deprecated": false
            },
            "getTriggeredAction": {
              "name": "getTriggeredAction",
              "args": [],
              "class": {
                "name": "FormAction",
                "description": "the action that was triggered with the last request."
              },
              "description": "Returns the action that was triggered with the last request. An action is\n only marked as triggered if the constraints regarding form validation are\n meet. The method returns null if no action was marked as triggered.",
              "deprecated": false
            }
          }
        },
        "FormList": {
          "fullClassName": "dw.web.FormList",
          "package": "dw.web",
          "description": "Represents a list of forms.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            },
            {
              "name": "dw.web.FormGroup"
            }
          ],
          "constants": {},
          "properties": {
            "selectManyItems": {
              "name": "selectManyItems",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The selected list items if the list is\n configured to support selection of items.",
              "deprecated": false,
              "type": "property"
            },
            "selectManyObjects": {
              "name": "selectManyObjects",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "A list of all selected objects if the list is configured\n to support the selection of items. The objects are the objects that were\n bound to each row.",
              "deprecated": false,
              "type": "property"
            },
            "selectOneItem": {
              "name": "selectOneItem",
              "class": {
                "name": "FormListItem"
              },
              "static": false,
              "readonly": true,
              "description": "The default list item if the list is configured to\n support the selection of a default item.",
              "deprecated": false,
              "type": "property"
            },
            "selectOneObject": {
              "name": "selectOneObject",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The selected object if the list is configured to\n support the selection of a default item. The object is the object\n bound to the item.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSelectManyItems": {
              "name": "getSelectManyItems",
              "args": [],
              "class": {
                "name": "List",
                "description": "a List of FormListItem elements or null if no selection was configured for the form."
              },
              "description": "returns the selected list items if the list is\n configured to support selection of items.",
              "deprecated": false
            },
            "getSelectManyObjects": {
              "name": "getSelectManyObjects",
              "args": [],
              "class": {
                "name": "List",
                "description": "a List of objects or null if no selection was configured for the form."
              },
              "description": "Returns a list of all selected objects if the list is configured\n to support the selection of items. The objects are the objects that were\n bound to each row.",
              "deprecated": false
            },
            "getSelectOneItem": {
              "name": "getSelectOneItem",
              "args": [],
              "class": {
                "name": "FormListItem",
                "description": "the default FormListItem elements or null if no selection was configured"
              },
              "description": "Returns the default list item if the list is configured to\n support the selection of a default item.",
              "deprecated": false
            },
            "getSelectOneObject": {
              "name": "getSelectOneObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the selected object."
              },
              "description": "Returns the selected object if the list is configured to\n support the selection of a default item. The object is the object\n bound to the item.",
              "deprecated": false
            }
          }
        },
        "FormListItem": {
          "fullClassName": "dw.web.FormListItem",
          "package": "dw.web",
          "description": "Represents an item in a form list.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.web.FormElement"
            },
            {
              "name": "dw.web.FormGroup"
            }
          ],
          "constants": {},
          "properties": {
            "itemIndex": {
              "name": "itemIndex",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The index of this item with the list.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getItemIndex": {
              "name": "getItemIndex",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the index of this item with the list."
              },
              "description": "Returns the index of this item with the list.",
              "deprecated": false
            }
          }
        },
        "Forms": {
          "fullClassName": "dw.web.Forms",
          "package": "dw.web",
          "description": "The Forms object provides access to all current forms in the session. The individual forms are retrieved as a dynamic\n property, for example 'forms.searchform'. It is typically retrieved from the session via\n <a href=\"class_dw_system_Session.html#dw_system_Session_getForms_DetailAnchor\">Session.getForms()</a>. But it is also available in the <a href=\"class_dw_system_PipelineDictionary.html\">PipelineDictionary</a> and can be\n accessed via 'pdict.CurrentForms'.\n <p>\n Note that values stored with a form on the session are deleted if the request locale is changed during the session.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "HttpParameter": {
          "fullClassName": "dw.web.HttpParameter",
          "package": "dw.web",
          "description": "Represents an HTTP parameter.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "booleanValue": {
              "name": "booleanValue",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute as a boolean. If\n there is more than one value defined, only the first one is returned. For an\n undefined attribute it returns null.",
              "deprecated": false,
              "type": "property"
            },
            "dateValue": {
              "name": "dateValue",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute as a date. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute and if attribute is not a date it return null.",
              "deprecated": false,
              "type": "property"
            },
            "doubleValue": {
              "name": "doubleValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute as a number. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute it returns 0.0.",
              "deprecated": false,
              "type": "property"
            },
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if there is a value for the http parameter attribute\n and whether the value is empty.\n A value is treated as empty if it's not blank.",
              "deprecated": false,
              "type": "property"
            },
            "intValue": {
              "name": "intValue",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute as int. If there\n is more than one value defined, only the first one is returned. For an\n undefined attribute it returns null.",
              "deprecated": false,
              "type": "property"
            },
            "rawValue": {
              "name": "rawValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The raw value for this HttpParameter instance.\n The raw value is the not trimmed String value of this HTTP parameter.\n If there is more than one value defined, only the first one is returned. For an\n undefined attribute the method returns a null.",
              "deprecated": false,
              "type": "property"
            },
            "rawValues": {
              "name": "rawValues",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A Collection of all raw values for this HTTP parameter.\n The raw value is the not trimmed String value of this HTTP parameter.",
              "deprecated": false,
              "type": "property"
            },
            "stringValue": {
              "name": "stringValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns a null.",
              "deprecated": false,
              "type": "property"
            },
            "stringValues": {
              "name": "stringValues",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A Collection of all defined values for this HTTP parameter.",
              "deprecated": false,
              "type": "property"
            },
            "submitted": {
              "name": "submitted",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the parameter was submitted. This is equivalent to the\n check, whether the parameter has a value.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "values": {
              "name": "values",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A Collection of all defined values for this current HTTP parameter.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "containsStringValue": {
              "name": "containsStringValue",
              "args": [
                {
                  "name": "value",
                  "description": "the value to check.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the value is among the actual values, false otherwise."
              },
              "description": "Identifies if the given value is part of the actual values.",
              "deprecated": false
            },
            "getBooleanValue": {
              "name": "getBooleanValue",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "the actual value as a boolean or null of no value is available."
              },
              "description": "Returns the value of the current HttpParameter attribute as a boolean. If\n there is more than one value defined, only the first one is returned. For an\n undefined attribute it returns null.",
              "deprecated": false
            },
            "getBooleanValue0": {
              "name": "getBooleanValue",
              "args": [
                {
                  "name": "defaultValue",
                  "description": "the default value to use.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "the value of the parameter or the default value if empty."
              },
              "description": "Returns the value of the current HttpParameter attribute as a boolean. If there\n is more than one value defined, only the first one is returned. For an\n undefined attribute it returns the given default value.",
              "deprecated": false
            },
            "getDateValue": {
              "name": "getDateValue",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the actual value as date or null if empty."
              },
              "description": "Returns the value of the current HttpParameter attribute as a date. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute and if attribute is not a date it return null.",
              "deprecated": false
            },
            "getDateValue0": {
              "name": "getDateValue",
              "args": [
                {
                  "name": "defaultValue",
                  "description": "the default value to use.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Date",
                "description": "the data value of the attribute or the default value if empty"
              },
              "description": "Returns the value of the current HttpParameter attribute as a date. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute it returns the given default value and if\n the attributes is not a date it returns null.",
              "deprecated": false
            },
            "getDoubleValue": {
              "name": "getDoubleValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the actual value as double or null if the parameter has no value."
              },
              "description": "Returns the value of the current HttpParameter attribute as a number. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute it returns 0.0.",
              "deprecated": false
            },
            "getDoubleValue0": {
              "name": "getDoubleValue",
              "args": [
                {
                  "name": "defaultValue",
                  "description": "the default value to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the actual value as double or the default value if empty."
              },
              "description": "Returns the value of the current HttpParameter attribute as a number. If\n there is more than one value defined, only the first one is returned. For\n an undefined attribute it returns the given default value.",
              "deprecated": false
            },
            "getIntValue": {
              "name": "getIntValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the actual value as an integer or null of no value is available."
              },
              "description": "Returns the value of the current HttpParameter attribute as int. If there\n is more than one value defined, only the first one is returned. For an\n undefined attribute it returns null.",
              "deprecated": false
            },
            "getIntValue0": {
              "name": "getIntValue",
              "args": [
                {
                  "name": "defaultValue",
                  "description": "the default value to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the value of the parameter or the default value if empty."
              },
              "description": "Returns the value of the current HttpParameter attribute as an integer. If there\n is more than one value defined, only the first one is returned. For an\n undefined attribute it returns the given default value.",
              "deprecated": false
            },
            "getRawValue": {
              "name": "getRawValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the actual value or null."
              },
              "description": "Returns the raw value for this HttpParameter instance.\n The raw value is the not trimmed String value of this HTTP parameter.\n If there is more than one value defined, only the first one is returned. For an\n undefined attribute the method returns a null.",
              "deprecated": false
            },
            "getRawValues": {
              "name": "getRawValues",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the raw values as a Collection of String, might be empty"
              },
              "description": "Returns a Collection of all raw values for this HTTP parameter.\n The raw value is the not trimmed String value of this HTTP parameter.",
              "deprecated": false
            },
            "getStringValue": {
              "name": "getStringValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the actual value or null."
              },
              "description": "Returns the value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns a null.",
              "deprecated": false
            },
            "getStringValue0": {
              "name": "getStringValue",
              "args": [
                {
                  "name": "defaultValue",
                  "description": "the default value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the actual value or the default value."
              },
              "description": "Returns the value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns the given default value.",
              "deprecated": false
            },
            "getStringValues": {
              "name": "getStringValues",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the actual values as Collection."
              },
              "description": "Returns a Collection of all defined values for this HTTP parameter.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the actual value or null."
              },
              "description": "Returns the value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns null.",
              "deprecated": false
            },
            "getValues": {
              "name": "getValues",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the actual values as Collection."
              },
              "description": "Returns a Collection of all defined values for this current HTTP parameter.",
              "deprecated": false
            },
            "isChecked": {
              "name": "isChecked",
              "args": [
                {
                  "name": "value",
                  "description": "the value to check.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the value is among the actual values, false otherwise."
              },
              "description": "Identifies if the given String is an actual value of this http parameter.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if a value is empty, false otherwise."
              },
              "description": "Identifies if there is a value for the http parameter attribute\n and whether the value is empty.\n A value is treated as empty if it's not blank.",
              "deprecated": false
            },
            "isSubmitted": {
              "name": "isSubmitted",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if a value is there, false otherwise."
              },
              "description": "Identifies if the parameter was submitted. This is equivalent to the\n check, whether the parameter has a value.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the actual value or an empty String."
              },
              "description": "Returns the value of the current HttpParameter attribute. If there is\n more than one value defined, only the first one is returned. For an\n undefined attribute the method returns an empty string.",
              "deprecated": false
            }
          }
        },
        "HttpParameterMap": {
          "fullClassName": "dw.web.HttpParameterMap",
          "package": "dw.web",
          "description": "A map of HTTP parameters.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "parameterCount": {
              "name": "parameterCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of paramters in this http parameter map.",
              "deprecated": false,
              "type": "property"
            },
            "parameterNames": {
              "name": "parameterNames",
              "class": {
                "name": "Set"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all parameter names.",
              "deprecated": false,
              "type": "property"
            },
            "requestBodyAsString": {
              "name": "requestBodyAsString",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The HTTP request body as string (e.g. useful for XML posts). A body\n is only returned if the request is a POST or PUT request and was not send\n with \"application/x-www-form-urlencoded\" encoding. If the request was send\n with that encoding it is interpreted as form data and the body will be empty.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "name",
                  "description": "the key whose associated http parameter is to be returned.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HttpParameter",
                "description": "the http parameter or an empty http parameter."
              },
              "description": "Returns the http parameter for the given key or an empty http parameter,\n if no parameter is defined for that key. An empty parameter returns\n false for the method isDefined().",
              "deprecated": false
            },
            "getParameterCount": {
              "name": "getParameterCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number parameters."
              },
              "description": "Returns the number of paramters in this http parameter map.",
              "deprecated": false
            },
            "getParameterMap": {
              "name": "getParameterMap",
              "args": [
                {
                  "name": "prefix",
                  "description": "the prefix to use when creating the sub-map.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "HttpParameterMap",
                "description": "the sub-map containing the target parameters."
              },
              "description": "Returns a sub-map containing all parameters that start with the given\n prefix. The prefix will be removed from the parameter names in the returned\n sub-map. For example with the parameters \"pre_P1\" and \"pre_p2\" a call with\n \"pre_\" as parameter will return a HttpParameterMap containing \"P1\" and \"P2\".",
              "deprecated": false
            },
            "getParameterNames": {
              "name": "getParameterNames",
              "args": [],
              "class": {
                "name": "Set",
                "description": "a set of all parameter names"
              },
              "description": "Returns a collection of all parameter names.",
              "deprecated": false
            },
            "getRequestBodyAsString": {
              "name": "getRequestBodyAsString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the http request body"
              },
              "description": "Returns the HTTP request body as string (e.g. useful for XML posts). A body\n is only returned if the request is a POST or PUT request and was not send\n with \"application/x-www-form-urlencoded\" encoding. If the request was send\n with that encoding it is interpreted as form data and the body will be empty.",
              "deprecated": false
            },
            "isParameterSubmitted": {
              "name": "isParameterSubmitted",
              "args": [
                {
                  "name": "key",
                  "description": "the parameter to check.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the parameter has been submitted, false otherwise."
              },
              "description": "Identifies if the parameter has been submitted.",
              "deprecated": false
            },
            "processMultipart": {
              "name": "processMultipart",
              "args": [
                {
                  "name": "callback",
                  "description": "a callback function, which takes the field name, content type and original file name as input",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "LinkedHashMap",
                "description": "a LinkedHashMap where the keys are the actual file names and the values are references to the File, or null if this is not a multipart request"
              },
              "description": "This method can be called to process a form submission for an HTML form\n with encoding type \"multipart/form-data\". Such a form can have a mixture\n of \"regular\" HTML form fields and also file uploads.\n \n Form fields are available via get(Object) without calling this method.\n Uploaded files still need to be processed via the passed callback function.\n \n This callback function is called for each file upload part in the request.\n The parameters are the field name, the content type and the original file\n name. The function can return either a null, which means that the upload\n of this part should be skipped, or return a dw.io.File instance. If the\n file is an existing directory the system will automatically generate a\n unique file name. If the file is not an existing directory the uploaded\n content will be directly stored into that file. An existing file with the\n same name will be deleted. If the file can't be deleted for whatever reason,\n the upload is stored with a generated unique file name in the indicated directory.\n \n An automatically generated file name consists of the the prefix \"upload\",\n a time stamp, a unique id and the extension tmp. For example:\n \"upload_20070114221535_bc7H1aOadI9qYaaacovPd3lqna.tmp\".\n\n \n var params : HttpParameterMap = pdict.CurrentHttpParameterMap;\n\n // Get the file name from the first field. This is works because the\n // parameter map is updated before the file part is parsed.\n var files : LinkedHashMap = params.processMultipart( (function( field, ct, oname ){\n     return new File( File.IMPEX + \"/\" + params.firstField );\n }) );",
              "deprecated": false
            }
          }
        },
        "LoopIterator": {
          "fullClassName": "dw.web.LoopIterator",
          "package": "dw.web",
          "description": "Iterator used in &lt;ISLOOP&gt; implementation. It defines properties used to determine loop status.\n LoopIterator object is assigned to variable declared in \"status\" attribute of the &lt;ISLOOP&gt; tag.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Iterator"
            }
          ],
          "constants": {},
          "properties": {
            "begin": {
              "name": "begin",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return begin iteration index. By default begin index is 0.",
              "deprecated": false,
              "type": "property"
            },
            "count": {
              "name": "count",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return iteration count, starting with 1.",
              "deprecated": false,
              "type": "property"
            },
            "end": {
              "name": "end",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return end iteration index. By default end index equals 'length - 1', provided that length is determined.\n If length cannot be determined end index is -1.",
              "deprecated": false,
              "type": "property"
            },
            "even": {
              "name": "even",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if count is an even value.",
              "deprecated": false,
              "type": "property"
            },
            "first": {
              "name": "first",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the iterator is positioned at first iteratable item.",
              "deprecated": false,
              "type": "property"
            },
            "index": {
              "name": "index",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return iteration index, which is the position of the iterator in the underlying iteratable object.\n Index is 0-based and is calculated according the following formula: Index = (Count - 1) * Step.",
              "deprecated": false,
              "type": "property"
            },
            "last": {
              "name": "last",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the iterator is positioned at last iteratable item.",
              "deprecated": false,
              "type": "property"
            },
            "length": {
              "name": "length",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return the length of the object. If length cannot be determined, -1 is returned.",
              "deprecated": false,
              "type": "property"
            },
            "odd": {
              "name": "odd",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if count is an odd value.",
              "deprecated": false,
              "type": "property"
            },
            "step": {
              "name": "step",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Return iterator step.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBegin": {
              "name": "getBegin",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the begin iteration index."
              },
              "description": "Return begin iteration index. By default begin index is 0.",
              "deprecated": false
            },
            "getCount": {
              "name": "getCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the iteration count."
              },
              "description": "Return iteration count, starting with 1.",
              "deprecated": false
            },
            "getEnd": {
              "name": "getEnd",
              "args": [],
              "class": {
                "name": "Number",
                "description": ""
              },
              "description": "Return end iteration index. By default end index equals 'length - 1', provided that length is determined.\n If length cannot be determined end index is -1.",
              "deprecated": false
            },
            "getIndex": {
              "name": "getIndex",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the iteration index."
              },
              "description": "Return iteration index, which is the position of the iterator in the underlying iteratable object.\n Index is 0-based and is calculated according the following formula: Index = (Count - 1) * Step.",
              "deprecated": false
            },
            "getLength": {
              "name": "getLength",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the length of the object"
              },
              "description": "Return the length of the object. If length cannot be determined, -1 is returned.",
              "deprecated": false
            },
            "getStep": {
              "name": "getStep",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the iterator step."
              },
              "description": "Return iterator step.",
              "deprecated": false
            },
            "isEven": {
              "name": "isEven",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if count is even, false otherwise."
              },
              "description": "Identifies if count is an even value.",
              "deprecated": false
            },
            "isFirst": {
              "name": "isFirst",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the iterator is at first item, false otherwise."
              },
              "description": "Identifies if the iterator is positioned at first iteratable item.",
              "deprecated": false
            },
            "isLast": {
              "name": "isLast",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if iterator is at last item, false otherwise."
              },
              "description": "Identifies if the iterator is positioned at last iteratable item.",
              "deprecated": false
            },
            "isOdd": {
              "name": "isOdd",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if count is odd, false otherwise."
              },
              "description": "Identifies if count is an odd value.",
              "deprecated": false
            }
          }
        },
        "PageMetaTag": {
          "fullClassName": "dw.web.PageMetaTag",
          "package": "dw.web",
          "description": "Page meta tags are used in HTML documents to provide structured data about a web\n page. They are usually part of the head section. Common tags are for example robots,\n description or social tags like open graph (e.g. 'og:title'). <p>\n\n Page meta tags can be obtained within:\n\n </p><ul>\n     <li>home page context</li>\n     <ul>\n         <li><a href=\"class_dw_system_Site.html\">Site</a></li>\n     </ul>\n     <li>detail page context</li>\n     <ul>\n         <li><a href=\"class_dw_catalog_Product.html\">Product</a></li>\n         <li><a href=\"class_dw_content_Content.html\">Content</a></li>\n     </ul>\n     <li>listing page context</li>\n     <ul>\n         <li><a href=\"class_dw_catalog_ProductSearchModel.html\">ProductSearchModel</a></li>\n         <li><a href=\"class_dw_content_ContentSearchModel.html\">ContentSearchModel</a></li>\n     </ul>\n </ul>\n\n and can be set at <a href=\"class_dw_web_PageMetaData.html\">PageMetaData</a> container object, which is always available\n in the pipeline dictionary and is used as transfer object to fill the head area with meaningful\n page meta tag elements.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "content": {
              "name": "content",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page meta tag content.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The page meta tag ID.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the page meta tag type is name, false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "property": {
              "name": "property",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the page meta tag type is property, false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "title": {
              "name": "title",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the page meta tag type is title, false otherwise.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "String",
                "description": "page meta tag content"
              },
              "description": "Returns the page meta tag content.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "page meta tag ID"
              },
              "description": "Returns the page meta tag ID.",
              "deprecated": false
            },
            "isName": {
              "name": "isName",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the page meta tag type is name, false otherwise"
              },
              "description": "Returns true if the page meta tag type is name, false otherwise.",
              "deprecated": false
            },
            "isProperty": {
              "name": "isProperty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the page meta tag type is property, false otherwise"
              },
              "description": "Returns true if the page meta tag type is property, false otherwise.",
              "deprecated": false
            },
            "isTitle": {
              "name": "isTitle",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the page meta tag type is title, false otherwise"
              },
              "description": "Returns true if the page meta tag type is title, false otherwise.",
              "deprecated": false
            }
          }
        }
      },
      "ws": {
        "Port": {
          "fullClassName": "dw.ws.Port",
          "package": "dw.ws",
          "description": "This class represents a port to a Service Endpoint Interface. This\n class provides access to operations the service provides. Use the\n WSUtil class to perform operations on the port such as setting\n timeout values and configuring security.\n <p>\n Developers should set a low timeout to ensure responsiveness\n of the site and avoid thread exhaustion (see <a href=\"class_dw_ws_WSUtil.html#dw_ws_WSUtil_setRequestTimeout_Number_Object_DetailAnchor\">WSUtil.setRequestTimeout(Number, Object)</a>).\n The default request timeout is 15 minutes when the web reference is used in a job,\n and 2 minutes otherwise. If the timeout of the calling script is lower,\n the script timeout is used.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ENCODING": {
              "name": "ENCODING",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Property constant for controlling the content type encoding of an outgoing message.",
              "deprecated": false,
              "type": "constant"
            },
            "ENDPOINT_ADDRESS_PROPERTY": {
              "name": "ENDPOINT_ADDRESS_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "The target service endpoint address. When using this property, the URI\n scheme for the endpoint address specification must correspond to the\n protocol/transport binding for the binding in use.",
              "deprecated": false,
              "type": "constant"
            },
            "PASSWORD_PROPERTY": {
              "name": "PASSWORD_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Password for authentication. This property is used with the USERNAME_PROPERTY.\n You can also use the  WSUtil.setUserNamePassword(String, String, Object) method instead of using these\n properties.",
              "deprecated": false,
              "type": "constant"
            },
            "SESSION_MAINTAIN_PROPERTY": {
              "name": "SESSION_MAINTAIN_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "This boolean property is used by a service client to indicate whether or not it wants to\n participate in a session with a service endpoint. If this property is set to true, the service client indicates\n that it wants the session to be maintained. If set to false, the session is not maintained. The default value\n for this property is false.",
              "deprecated": false,
              "type": "constant"
            },
            "USERNAME_PROPERTY": {
              "name": "USERNAME_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "User name for authentication. This property is used with the PASSWORD_PROPERTY.\n You can also use the WSUtil.setUserNamePassword(String, String, Object) method instead of using these\n properties.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "Port": {
              "name": "Port",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "WSUtil": {
          "fullClassName": "dw.ws.WSUtil",
          "package": "dw.ws",
          "description": "A utility class for performing SOAP-based operations for Web Services\n for use with <a href=\"class_dw_ws_WebReference2.html\">WebReference2</a>. This class provides\n methods for setting SOAP headers and a set of constants representing the\n well-known supported header names. You also use this class to set connection and request\n timeout values for Web Service calls.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "KEY_ID_TYPE_DIRECT_REFERENCE": {
              "name": "KEY_ID_TYPE_DIRECT_REFERENCE",
              "value": "\"DirectReference\"",
              "class": {
                "name": "String"
              },
              "description": "This key identifier method is used when the X.509 Certificate is included in the message.\n The certificate is Base-64 encoded and included in the request via a BinarySecurityToken element",
              "deprecated": false,
              "type": "constant"
            },
            "KEY_ID_TYPE_ENC_KEY_SHA1": {
              "name": "KEY_ID_TYPE_ENC_KEY_SHA1",
              "value": "\"EncryptedKeySHA1\"",
              "class": {
                "name": "String"
              },
              "description": "This Key Identifier method only applies for Encryption. Unlike the previous methods\n it refers to the way the EncryptedData references the EncryptedKey Element,\n rather than the way the EncryptedKey Element refers to the public key.",
              "deprecated": false,
              "type": "constant"
            },
            "KEY_ID_TYPE_ISSUE_SERIAL": {
              "name": "KEY_ID_TYPE_ISSUE_SERIAL",
              "value": "\"IssuerSerial\"",
              "class": {
                "name": "String"
              },
              "description": "This key identifier method means that the Issuer Name and Serial Number of a X.509\n Certificate is included directly in the KeyInfo Element.",
              "deprecated": false,
              "type": "constant"
            },
            "KEY_ID_TYPE_SKI_IDENTIFIER": {
              "name": "KEY_ID_TYPE_SKI_IDENTIFIER",
              "value": "\"SKIKeyIdentifier\"",
              "class": {
                "name": "String"
              },
              "description": "This Key Identifier method refers to a Certificate via a Base-64 encoding of the\n Subject Key Identifier.",
              "deprecated": false,
              "type": "constant"
            },
            "KEY_ID_TYPE_THUMBPRINT": {
              "name": "KEY_ID_TYPE_THUMBPRINT",
              "value": "\"Thumbprint\"",
              "class": {
                "name": "String"
              },
              "description": "This Key Identifier method refers to the Certificate via a SHA-1 Thumbprint.\n The certificate may or may not be included in the request.",
              "deprecated": false,
              "type": "constant"
            },
            "KEY_ID_TYPE_X509_KEY_IDENTIFIER": {
              "name": "KEY_ID_TYPE_X509_KEY_IDENTIFIER",
              "value": "\"X509KeyIdentifier\"",
              "class": {
                "name": "String"
              },
              "description": "This key identifier method is similar to KEY_ID_TYPE_DIRECT_REFERENCE, in that the certificate is\n included in the request. However, instead of referring to a certificate, the certificate is\n included directly in the KeyInfo element.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ACTION": {
              "name": "WS_ACTION",
              "value": "\"action\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action property name.\n Allowed property values are WS_NO_SECURITY, WS_TIMESTAMP, WS_ENCRYPT,\n WS_SIGNATURE, WS_USERNAME_TOKEN or a space separated list of these values.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENC_KEY_ID": {
              "name": "WS_ENC_KEY_ID",
              "value": "\"encryptionKeyIdentifier\"",
              "class": {
                "name": "String"
              },
              "description": "Defines which key identifier type to use for encryption. Permissible\n values are:\n \n KEY_ID_TYPE_ISSUE_SERIAL  (default value)\n KEY_ID_TYPE_DIRECT_REFERENCE\n KEY_ID_TYPE_X509_KEY_IDENTIFIER\n KEY_ID_TYPE_THUMBPRINT\n KEY_ID_TYPE_SKI_IDENTIFIER\n KEY_ID_TYPE_ENC_KEY_SHA1",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENC_PROP_KEYSTORE_ALIAS": {
              "name": "WS_ENC_PROP_KEYSTORE_ALIAS",
              "value": "\"__EncryptionPropKeystoreAlias\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Encryption: The encryption and decryption keystore alias name",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENC_PROP_KEYSTORE_PW": {
              "name": "WS_ENC_PROP_KEYSTORE_PW",
              "value": "\"__EncryptionPropKeystorePassword\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Encryption: The encryption and decryption keystore password",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENC_PROP_KEYSTORE_TYPE": {
              "name": "WS_ENC_PROP_KEYSTORE_TYPE",
              "value": "\"__EncryptionPropKeystoreType\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Encryption: The encryption/decryption keystore type ( jks or pkcs12 ),\n                         default is jks.\n Note: The keystore file has the basename of the WSDL file and the\n file extension based on the keystore type (e.g. MyService.jks).\n The keystore file has to be placed in the same cartridge directory\n as the WSDL file.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENCRYPT": {
              "name": "WS_ENCRYPT",
              "value": "\"Encrypt\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: Encrypt the message.\n The encryption specific parameters define how to encrypt.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENCRYPTION_PARTS": {
              "name": "WS_ENCRYPTION_PARTS",
              "value": "\"encryptionParts\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Encryption: Defines which parts of the request shall be encrypted.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_ENCRYPTION_USER": {
              "name": "WS_ENCRYPTION_USER",
              "value": "\"encryptionUser\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Encryption: The user's name for encryption.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_NO_SECURITY": {
              "name": "WS_NO_SECURITY",
              "value": "\"NoSecurity\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: No security.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_PASSWORD_TYPE": {
              "name": "WS_PASSWORD_TYPE",
              "value": "\"passwordType\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security password type: Parameter for UsernameToken action to define the encoding\n of the password. Allowed values are PW_DIGEST or PW_TEXT.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_PW_DIGEST": {
              "name": "WS_PW_DIGEST",
              "value": "\"PasswordDigest\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security password type \"digest\": Use a password digest to send the password information.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_PW_TEXT": {
              "name": "WS_PW_TEXT",
              "value": "\"PasswordText\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security password type \"text\": Send the password information in clear.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SECRETS_MAP": {
              "name": "WS_SECRETS_MAP",
              "value": "\"__SecretsMap\"",
              "class": {
                "name": "String"
              },
              "description": "A secrets map with the username and password entries needed to create the password\n callback object.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIG_DIGEST_ALGO": {
              "name": "WS_SIG_DIGEST_ALGO",
              "value": "\"signatureDigestAlgorithm\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Signature: Defines which signature digest algorithm to use.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIG_KEY_ID": {
              "name": "WS_SIG_KEY_ID",
              "value": "\"signatureKeyIdentifier\"",
              "class": {
                "name": "String"
              },
              "description": "Defines which key identifier type to use for signature.\n\n Permissible values are:\n \n KEY_ID_TYPE_ISSUE_SERIAL\n KEY_ID_TYPE_DIRECT_REFERENCE (default value)\n KEY_ID_TYPE_X509_KEY_ID_IDENTIFIER\n KEY_ID_TYPE_THUMBPRINT\n KEY_ID_TYPE_SKI_IDENTIFIER",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIG_PROP_KEYSTORE_ALIAS": {
              "name": "WS_SIG_PROP_KEYSTORE_ALIAS",
              "value": "\"__SignaturePropKeystoreAlias\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Signature: The signature keystore alias name.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIG_PROP_KEYSTORE_PW": {
              "name": "WS_SIG_PROP_KEYSTORE_PW",
              "value": "\"__SignaturePropKeystorePassword\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Signature: The signature keystore password.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIG_PROP_KEYSTORE_TYPE": {
              "name": "WS_SIG_PROP_KEYSTORE_TYPE",
              "value": "\"__SignaturePropKeystoreType\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security: The signature keystore type ( jks or pkcs12 ), default is jks.\n Note: The keystore file has the basename of the WSDL file and the\n file extension based on the keystore type (e.g. MyService.jks).\n The keystore file has to be placed in the same cartridge directory\n as the WSDL file.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIGNATURE": {
              "name": "WS_SIGNATURE",
              "value": "\"Signature\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: Sign the message.\n The signature specific parameters define how to sign and which keys\n to use.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIGNATURE_PARTS": {
              "name": "WS_SIGNATURE_PARTS",
              "value": "\"signatureParts\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Signature: Defines which parts of the request shall be signed.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_SIGNATURE_USER": {
              "name": "WS_SIGNATURE_USER",
              "value": "\"signatureUser\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security Signature: The user's name for signature.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_TIMESTAMP": {
              "name": "WS_TIMESTAMP",
              "value": "\"Timestamp\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: Add a timestamp to the security header.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_USER": {
              "name": "WS_USER",
              "value": "\"user\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security user name.",
              "deprecated": false,
              "type": "constant"
            },
            "WS_USERNAME_TOKEN": {
              "name": "WS_USERNAME_TOKEN",
              "value": "\"UsernameToken\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: Add a UsernameToken identification.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "WSUtil": {
              "name": "WSUtil",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "addSOAPHeader": {
              "name": "addSOAPHeader",
              "args": [
                {
                  "name": "port",
                  "description": "the port.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "the header element XML. The XML should contain a namespace URI.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "directs target endpoint to validate payload.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "actor",
                  "description": "an URI that identifies that intended recipient of this header element.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a header element to the SOAP Header. Each header element should be XML and\n it should typically contain a namespace URI.",
              "deprecated": false
            },
            "addSOAPHeader0": {
              "name": "addSOAPHeader",
              "args": [
                {
                  "name": "port",
                  "description": "the port.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "the header element XML as a String. The XML should contain a namespace URI.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "directs target endpoint to validate payload.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "actor",
                  "description": "an URI that identifies that intended recipient of this header element.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a header element to the SOAP Header. Each header element should be XML and\n it should typically contain a namespace URI.",
              "deprecated": false
            },
            "clearSOAPHeaders": {
              "name": "clearSOAPHeaders",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes all SOAP header elements from the port's request context.",
              "deprecated": false
            },
            "createHolder": {
              "name": "createHolder",
              "args": [
                {
                  "name": "element",
                  "description": "the element to be wrapped in the Holder.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Object",
                "description": "the holder."
              },
              "description": "Creates an javax.xml.ws.Holder instance that wraps the specified element. When a WSDL operation is\n defined to have an input and output message using the same type, the operation may require the operation's\n object to be wrapped in a holder.",
              "deprecated": false
            },
            "getConnectionTimeout": {
              "name": "getConnectionTimeout",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the connection timeout value."
              },
              "description": "Returns the connection timeout value for the port.",
              "deprecated": false
            },
            "getHTTPRequestHeader": {
              "name": "getHTTPRequestHeader",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "the header property key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "an HTTP request header property value using the specified key or null."
              },
              "description": "Returns an HTTP request header property value using the specified key. Null is returned\n if the key does not represent an HTTP header property.",
              "deprecated": false
            },
            "getProperty": {
              "name": "getProperty",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "the port on which the property is set.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Object",
                "description": "the property using the specified key and port."
              },
              "description": "Returns the value of the SOAP request property using the specified key on a port\n returned from one of the WebReference2 getService methods. The property\n keys are defined as constants in Port.",
              "deprecated": false
            },
            "getRequestTimeout": {
              "name": "getRequestTimeout",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the request timeout value for the port."
              },
              "description": "Returns the read timeout value for a request made on the specified port.\n If the request exceeds the timeout value, an error is thrown.",
              "deprecated": false
            },
            "getResponseProperty": {
              "name": "getResponseProperty",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "the port on which the property is set",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Object",
                "description": "the property using the specified key and port."
              },
              "description": "Returns the property value using the specified key and on a port returned from one of\n the WebReference2 getService methods.",
              "deprecated": false
            },
            "isAllowChunking": {
              "name": "isAllowChunking",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "returns true if the HTTP request may be chunked and false otherwise"
              },
              "description": "Returns true if the HTTP request may be chunked, false otherwise",
              "deprecated": false
            },
            "setAllowChunking": {
              "name": "setAllowChunking",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "allow",
                  "description": "true to enable chunking, false otherwise",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Indicate that HTTP chunked Transfer-Encoding may be used.\n \n The default behavior is true. If false then the request will not\n be chunked and the Content-Length will always be sent.",
              "deprecated": false
            },
            "setConnectionTimeout": {
              "name": "setConnectionTimeout",
              "args": [
                {
                  "name": "timeoutInMilliseconds",
                  "description": "the connection timeout.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the connection timeout for the port.",
              "deprecated": false
            },
            "setHTTPRequestHeader": {
              "name": "setHTTPRequestHeader",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "the header property key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the header property value. If the value is null, the property identified by the key is removed from the HTTP request header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets an HTTP request header property using the specified key and value.",
              "deprecated": false
            },
            "setProperty": {
              "name": "setProperty",
              "args": [
                {
                  "name": "key",
                  "description": "the key to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "the port on which the property is set.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the SOAP request property using the specified key and value on a port\n returned from one of the WebReference2 getService() methods. The property\n keys are defined as constants in Port.",
              "deprecated": false
            },
            "setRequestTimeout": {
              "name": "setRequestTimeout",
              "args": [
                {
                  "name": "timeoutInMilliseconds",
                  "description": "the timeout.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the read timeout value for a request made on the specified port.\n If the request exceeds the timeout value, an error is thrown.",
              "deprecated": false
            },
            "setUserNamePassword": {
              "name": "setUserNamePassword",
              "args": [
                {
                  "name": "userName",
                  "description": "the user name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "password",
                  "description": "the password.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the user name and password to use with Basic authentication. For stronger\n authentication, use the setWSSecurityConfig(Object, Object, Object) method.",
              "deprecated": false
            },
            "setWSSecurityConfig": {
              "name": "setWSSecurityConfig",
              "args": [
                {
                  "name": "port",
                  "description": "a port returned from one of the WebReference2 getService methods.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "requestConfigMap",
                  "description": "the WS-Security request configuration.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "responseConfigMap",
                  "description": "the WS-Security response configuration.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the WS-Security configuration for the request and response based on the\n constants defined (see above).",
              "deprecated": false
            }
          }
        },
        "WebReference2": {
          "fullClassName": "dw.ws.WebReference2",
          "package": "dw.ws",
          "description": "Represents a web service defined in a WSDL file. The implementation is backed by a JAX-WS framework.\n <p>\n This implementation does not support <code>RPC/encoded</code> WSDLs. Such a WSDL must be migrated to a\n supported encoding such as <code>Document/literal</code> to work with this API.\n </p><p>\n To create an instance of a WebReference2, you put a web service WSDL file in the <code>webreferences2</code>\n directory and reference the WSDL file in a B2C Commerce Script. You then request the service <a href=\"class_dw_ws_Port.html\">Port</a>\n using one the the get service methods. For example, if your WSDL file is <code>MyWSDL.wsdl</code>,\n here is how you create an instance of WebReference2 and access the <a href=\"class_dw_ws_Port.html\">Port</a>:\n <br>\n </p><pre> <code>\n var webref : WebReference2 = webreferences2.MyWSDL;\n var port : Port = webref.getDefaultService();\n </code>\n </pre>\n\n Note that all script classes representing your WSDL file are placed in the <code>webreferences2</code>\n package. To use classes in the <code>webreferences2</code> package, you do not need to use the <code>importPackage</code>\n statement in your B2C Commerce Script file.\n\n <p>\n The generated API may be customized via a property file named <code>&lt;WSDLFile&gt;.properties</code>.\n For example, if your WSDL file is <code>MyWSDL.wsdl</code>, the property file name is <code>MyWSDL.wsdl.properties</code>.\n Supported properties include:\n\n <table>\n   <tbody><tr>\n     <th>Name</th>\n     <th>Type</th>\n     <th>Description</th>\n   </tr>\n   <tr>\n     <td><code>namespace</code></td>\n     <td><code>boolean</code></td>\n     <td>If the WSDL contains different types with the same name a compilation error may occur. Set this to <code>true</code> to\n     generate a namespace-aware <a href=\"class_dw_ws_Port.html\">Port</a>, which will have classes separated into packages based on their associated namespace.\n     The default value is <code>false</code></td>\n   </tr>\n   <tr>\n     <td><code>underscoreBinding</code></td>\n     <td><code>string</code></td>\n     <td>If you have elements in a WSDL schema that contain the underscore character, code generation may fail. Set this property\n     to <code>asCharInWord</code> to resolve the problem. The default value is <code>asWordSeparator</code>.</td>\n   </tr>\n   <tr>\n     <td><code>collectionType</code></td>\n     <td><code>string</code></td>\n     <td>The generated API will use array types instead of List types for collections when this value is set to\n     <code>indexed</code>. This results in code that is more compatible with older <code>webreferences</code>-based\n     implementations. The default behavior is to generate Lists.</td>\n   </tr>\n   <tr>\n     <td><code>enableWrapperStyle</code></td>\n     <td><code>boolean</code></td>\n     <td>The generated API will use \"bare\" methods when this is <code>false</code>. When this is <code>true</code>,\n     \"wrapped\" methods may be generated instead. The default value is <code>true</code>, but a <code>false</code>\n     value is more  compatible with older <code>webreferences</code>-based implementations.</td>\n   </tr>\n </tbody></table>\n\n The messages sent to and from the remote server are logged at DEBUG level on sandboxes, and not logged at all on production.\n The custom log category used is derived from the WSDL name and message type. For example, the custom log categories for the file\n <code>MyWSDL.wsdl</code> are <code>webreferences2.MyWSDL.request</code> and <code>webreferences2.MyWSDL.response</code>. This\n logging is controlled by the following in the WSDL properties:\n\n <table>\n   <tbody><tr>\n     <th>Name</th>\n     <th>Type</th>\n     <th>Description</th>\n   </tr>\n   <tr>\n     <td><code>logging.enabled</code></td>\n     <td><code>boolean</code></td>\n     <td><code>true</code> to explicitly allow logging, <code>false</code> to disallow. Default is <code>true</code> on Sandboxes\n     and <code>false</code> on all other instance types</td>\n   </tr>\n   <tr>\n     <td><code>logging.pretty</code></td>\n     <td><code>boolean</code></td>\n     <td><code>true</code> to pretty-print the SOAP XML. Default is <code>false</code> to log the actual message body.</td>\n   </tr>\n   <tr>\n     <td><code>logging.verbose</code></td>\n     <td><code>boolean</code></td>\n     <td><code>true</code> to log HTTP headers and other message information. Default is <code>false</code> to only log the\n     message body</td>\n   </tr>\n   <tr>\n     <td><code>logging.filter.elements</code></td>\n     <td>comma-separated <code>string</code></td>\n     <td>List of element tag names containing sensitive information. These will be filtered out of the message. All properties with\n     this prefix will be used. For example <code>logging.filter.elements=Password,Token</code> is equivalent to two different properties\n     <code>logging.filter.elements.01=Token</code> and <code>logging.filter.elements.02=Token</code></td>\n   </tr>\n   <tr>\n     <td><code>logging.filter.headers</code></td>\n     <td>comma-separated <code>string</code></td>\n     <td>List of message header names containing sensitive information. These will be filtered out of the message. All properties with\n     this prefix will be used. For example <code>logging.filter.headers=Authorization,Token</code> is equivalent to two different properties\n     <code>logging.filter.headers.01=Authorization</code> and <code>logging.filter.headers.02=Token</code></td>\n   </tr>\n </tbody></table></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "defaultService": {
              "name": "defaultService",
              "class": {
                "name": "Port"
              },
              "static": false,
              "readonly": true,
              "description": "The default service endpoint interface port of the web reference. The default service is\n determined as the first service based on the alphabetic order of the service name, and within\n the service the first SOAP port based on the alphabetic order of the port name.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "WebReference2": {
              "name": "WebReference2",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "getDefaultService": {
              "name": "getDefaultService",
              "args": [],
              "class": {
                "name": "Port",
                "description": "the default service of the web reference."
              },
              "description": "Returns the default service endpoint interface port of the web reference. The default service is\n determined as the first service based on the alphabetic order of the service name, and within\n the service the first SOAP port based on the alphabetic order of the port name.",
              "deprecated": false
            },
            "getService": {
              "name": "getService",
              "args": [
                {
                  "name": "service",
                  "description": "the service to locate.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "portName",
                  "description": "the name of the port to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Port",
                "description": "a specific service from this web reference."
              },
              "description": "Returns a specific service from this web reference.",
              "deprecated": false
            }
          }
        }
      }
    }
  },
  "mapping": {
    "Alert": "dw.alert.Alert",
    "Alerts": "dw.alert.Alerts",
    "ABTest": "dw.campaign.ABTest",
    "ABTestMgr": "dw.campaign.ABTestMgr",
    "ABTestSegment": "dw.campaign.ABTestSegment",
    "AmountDiscount": "dw.campaign.AmountDiscount",
    "ApproachingDiscount": "dw.campaign.ApproachingDiscount",
    "BonusChoiceDiscount": "dw.campaign.BonusChoiceDiscount",
    "BonusDiscount": "dw.campaign.BonusDiscount",
    "Campaign": "dw.campaign.Campaign",
    "CampaignMgr": "dw.campaign.CampaignMgr",
    "CampaignStatusCodes": "dw.campaign.CampaignStatusCodes",
    "Coupon": "dw.campaign.Coupon",
    "CouponMgr": "dw.campaign.CouponMgr",
    "CouponRedemption": "dw.campaign.CouponRedemption",
    "CouponStatusCodes": "dw.campaign.CouponStatusCodes",
    "Discount": "dw.campaign.Discount",
    "DiscountPlan": "dw.campaign.DiscountPlan",
    "FixedPriceDiscount": "dw.campaign.FixedPriceDiscount",
    "FixedPriceShippingDiscount": "dw.campaign.FixedPriceShippingDiscount",
    "FreeDiscount": "dw.campaign.FreeDiscount",
    "FreeShippingDiscount": "dw.campaign.FreeShippingDiscount",
    "PercentageOptionDiscount": "dw.campaign.PercentageOptionDiscount",
    "PriceBookPriceDiscount": "dw.campaign.PriceBookPriceDiscount",
    "TotalFixedPriceDiscount": "dw.campaign.TotalFixedPriceDiscount",
    "Catalog": "dw.catalog.Catalog",
    "CatalogMgr": "dw.catalog.CatalogMgr",
    "Category": "dw.catalog.Category",
    "CategoryAssignment": "dw.catalog.CategoryAssignment",
    "CategoryLink": "dw.catalog.CategoryLink",
    "PriceBook": "dw.catalog.PriceBook",
    "PriceBookMgr": "dw.catalog.PriceBookMgr",
    "Product": "dw.catalog.Product",
    "ProductActiveData": "dw.catalog.ProductActiveData",
    "ProductAttributeModel": "dw.catalog.ProductAttributeModel",
    "ProductAvailabilityLevels": "dw.catalog.ProductAvailabilityLevels",
    "ProductAvailabilityModel": "dw.catalog.ProductAvailabilityModel",
    "ProductInventoryList": "dw.catalog.ProductInventoryList",
    "ProductInventoryMgr": "dw.catalog.ProductInventoryMgr",
    "ProductInventoryRecord": "dw.catalog.ProductInventoryRecord",
    "ProductLink": "dw.catalog.ProductLink",
    "SearchRefinementDefinition": "dw.catalog.SearchRefinementDefinition",
    "Store": "dw.catalog.Store",
    "Content": "dw.content.Content",
    "ContentMgr": "dw.content.ContentMgr",
    "ContentSearchModel": "dw.content.ContentSearchModel",
    "ContentSearchRefinementDefinition": "dw.content.ContentSearchRefinementDefinition",
    "ContentSearchRefinementValue": "dw.content.ContentSearchRefinementValue",
    "ContentSearchRefinements": "dw.content.ContentSearchRefinements",
    "Folder": "dw.content.Folder",
    "Library": "dw.content.Library",
    "MarkupText": "dw.content.MarkupText",
    "MediaFile": "dw.content.MediaFile",
    "CertificateRef": "dw.crypto.CertificateRef",
    "Cipher": "dw.crypto.Cipher",
    "Encoding": "dw.crypto.Encoding",
    "KeyRef": "dw.crypto.KeyRef",
    "Mac": "dw.crypto.Mac",
    "MessageDigest": "dw.crypto.MessageDigest",
    "WeakSignature": "dw.crypto.WeakSignature",
    "AddressBook": "dw.customer.AddressBook",
    "AgentUserMgr": "dw.customer.AgentUserMgr",
    "AgentUserStatusCodes": "dw.system.AgentUserStatusCodes",
    "AuthenticationStatus": "dw.customer.AuthenticationStatus",
    "Credentials": "dw.customer.Credentials",
    "Customer": "dw.customer.Customer",
    "CustomerActiveData": "dw.customer.CustomerActiveData",
    "CustomerAddress": "dw.customer.CustomerAddress",
    "CustomerCDPData": "dw.customer.CustomerCDPData",
    "CustomerContextMgr": "dw.customer.CustomerContextMgr",
    "CustomerGroup": "dw.customer.CustomerGroup",
    "CustomerList": "dw.customer.CustomerList",
    "CustomerMgr": "dw.customer.CustomerMgr",
    "CustomerPasswordConstraints": "dw.customer.CustomerPasswordConstraints",
    "CustomerPaymentInstrument": "dw.customer.CustomerPaymentInstrument",
    "CustomerStatusCodes": "dw.customer.CustomerStatusCodes",
    "EncryptedObject": "dw.customer.EncryptedObject",
    "ExternalProfile": "dw.customer.ExternalProfile",
    "ProductList": "dw.customer.ProductList",
    "ProductListItem": "dw.customer.ProductListItem",
    "ProductListItemPurchase": "dw.customer.ProductListItemPurchase",
    "ProductListMgr": "dw.customer.ProductListMgr",
    "ProductListRegistrant": "dw.customer.ProductListRegistrant",
    "OAuthFinalizedResponse": "dw.customer.oauth.OAuthFinalizedResponse",
    "AspectAttributeValidationException": "dw.experience.AspectAttributeValidationException",
    "Component": "dw.experience.Component",
    "ComponentRenderSettings": "dw.experience.ComponentRenderSettings",
    "ComponentScriptContext": "dw.experience.ComponentScriptContext",
    "CustomEditor": "dw.experience.CustomEditor",
    "CustomEditorResources": "dw.experience.CustomEditorResources",
    "CMSRecord": "dw.experience.cms.CMSRecord",
    "FocalPoint": "dw.experience.image.FocalPoint",
    "Image": "dw.experience.image.Image",
    "ImageMetaData": "dw.experience.image.ImageMetaData",
    "ApplePayHookResult": "dw.extensions.applepay.ApplePayHookResult",
    "ApplePayHooks": "dw.extensions.applepay.ApplePayHooks",
    "FacebookFeedHooks": "dw.extensions.facebook.FacebookFeedHooks",
    "FacebookProduct": "dw.extensions.facebook.FacebookProduct",
    "PinterestAvailability": "dw.extensions.pinterest.PinterestAvailability",
    "PinterestFeedHooks": "dw.extensions.pinterest.PinterestFeedHooks",
    "PinterestOrder": "dw.extensions.pinterest.PinterestOrder",
    "PinterestOrderHooks": "dw.extensions.pinterest.PinterestOrderHooks",
    "PinterestProduct": "dw.extensions.pinterest.PinterestProduct",
    "CSVStreamReader": "dw.io.CSVStreamReader",
    "CSVStreamWriter": "dw.io.CSVStreamWriter",
    "File": "dw.io.File",
    "FileReader": "dw.io.FileReader",
    "FileWriter": "dw.io.FileWriter",
    "InputStream": "dw.io.InputStream",
    "PrintWriter": "dw.io.PrintWriter",
    "StringWriter": "dw.io.StringWriter",
    "Writer": "dw.io.Writer",
    "XMLStreamReader": "dw.io.XMLStreamReader",
    "XMLStreamWriter": "dw.io.XMLStreamWriter",
    "JobExecution": "dw.job.JobExecution",
    "JobStepExecution": "dw.job.JobStepExecution",
    "FTPClient": "dw.net.FTPClient",
    "FTPFileInfo": "dw.net.FTPFileInfo",
    "HTTPClient": "dw.net.HTTPClient",
    "HTTPRequestPart": "dw.net.HTTPRequestPart",
    "Mail": "dw.net.Mail",
    "WebDAVClient": "dw.net.WebDAVClient",
    "WebDAVFileInfo": "dw.net.WebDAVFileInfo",
    "ActiveData": "dw.object.ActiveData",
    "CustomAttributes": "dw.object.CustomAttributes",
    "CustomObject": "dw.object.CustomObject",
    "CustomObjectMgr": "dw.object.CustomObjectMgr",
    "Extensible": "dw.object.Extensible",
    "ExtensibleObject": "dw.object.ExtensibleObject",
    "Note": "dw.object.Note",
    "ObjectAttributeGroup": "dw.object.ObjectAttributeGroup",
    "PersistentObject": "dw.object.PersistentObject",
    "AbstractItem": "dw.order.AbstractItem",
    "AbstractItemCtnr": "dw.order.AbstractItemCtnr",
    "Appeasement": "dw.order.Appeasement",
    "AppeasementItem": "dw.order.AppeasementItem",
    "Basket": "dw.order.Basket",
    "BasketMgr": "dw.order.BasketMgr",
    "BonusDiscountLineItem": "dw.order.BonusDiscountLineItem",
    "CouponLineItem": "dw.order.CouponLineItem",
    "CreateAgentBasketLimitExceededException": "dw.order.CreateAgentBasketLimitExceededException",
    "CreateBasketFromOrderException": "dw.order.CreateBasketFromOrderException",
    "CreateCouponLineItemException": "dw.order.CreateCouponLineItemException",
    "CreateOrderException": "dw.order.CreateOrderException",
    "GiftCertificate": "dw.order.GiftCertificate",
    "GiftCertificateLineItem": "dw.order.GiftCertificateLineItem",
    "GiftCertificateMgr": "dw.order.GiftCertificateMgr",
    "GiftCertificateStatusCodes": "dw.order.GiftCertificateStatusCodes",
    "Invoice": "dw.order.Invoice",
    "InvoiceItem": "dw.order.InvoiceItem",
    "LineItem": "dw.order.LineItem",
    "LineItemCtnr": "dw.order.LineItemCtnr",
    "OrderProcessStatusCodes": "dw.order.OrderProcessStatusCodes",
    "PaymentStatusCodes": "dw.order.PaymentStatusCodes",
    "PriceAdjustment": "dw.order.PriceAdjustment",
    "PriceAdjustmentLimitTypes": "dw.order.PriceAdjustmentLimitTypes",
    "ProductLineItem": "dw.order.ProductLineItem",
    "TrackingInfo": "dw.order.TrackingInfo",
    "CalculateHooks": "dw.order.hooks.CalculateHooks",
    "WebReference": "dw.rpc.WebReference",
    "BrandSuggestions": "dw.suggest.BrandSuggestions",
    "CategorySuggestions": "dw.suggest.CategorySuggestions",
    "ContentSuggestions": "dw.suggest.ContentSuggestions",
    "CustomSuggestions": "dw.suggest.CustomSuggestions",
    "FTPService": "dw.svc.FTPService",
    "FTPServiceDefinition": "dw.svc.FTPServiceDefinition",
    "HTTPFormService": "dw.svc.HTTPFormService",
    "HTTPFormServiceDefinition": "dw.svc.HTTPFormServiceDefinition",
    "HTTPService": "dw.svc.HTTPService",
    "HTTPServiceDefinition": "dw.svc.HTTPServiceDefinition",
    "LocalServiceRegistry": "dw.svc.LocalServiceRegistry",
    "Cache": "dw.system.Cache",
    "CacheMgr": "dw.system.CacheMgr",
    "HookMgr": "dw.system.HookMgr",
    "InternalObject": "dw.system.InternalObject",
    "JobProcessMonitor": "dw.system.JobProcessMonitor",
    "Log": "dw.system.Log",
    "LogNDC": "dw.system.LogNDC",
    "Logger": "dw.system.Logger",
    "Pipeline": "dw.system.Pipeline",
    "PipelineDictionary": "dw.system.PipelineDictionary",
    "Status": "dw.system.Status",
    "StatusItem": "dw.system.StatusItem",
    "ISML": "dw.template.ISML",
    "ArrayList": "dw.util.ArrayList",
    "Assert": "dw.util.Assert",
    "BigInteger": "dw.util.BigInteger",
    "Bytes": "dw.util.Bytes",
    "Calendar": "dw.util.Calendar",
    "Collection": "dw.util.Collection",
    "Currency": "dw.util.Currency",
    "DateUtils": "dw.util.DateUtils",
    "Decimal": "dw.util.Decimal",
    "FilteringCollection": "dw.util.FilteringCollection",
    "Geolocation": "dw.util.Geolocation",
    "HashMap": "dw.util.HashMap",
    "HashSet": "dw.util.HashSet",
    "Iterator": "dw.util.Iterator",
    "LinkedHashMap": "dw.util.LinkedHashMap",
    "LinkedHashSet": "dw.util.LinkedHashSet",
    "List": "dw.util.List",
    "Locale": "dw.util.Locale",
    "Map": "dw.util.Map",
    "MapEntry": "dw.util.MapEntry",
    "MappingKey": "dw.util.MappingKey",
    "MappingMgr": "dw.util.MappingMgr",
    "SecureEncoder": "dw.util.SecureEncoder",
    "SeekableIterator": "dw.util.SeekableIterator",
    "EnumValue": "dw.value.EnumValue",
    "MimeEncodedText": "dw.value.MimeEncodedText",
    "Money": "dw.value.Money",
    "CSRFProtection": "dw.web.CSRFProtection",
    "ClickStream": "dw.web.ClickStream",
    "ClickStreamEntry": "dw.web.ClickStreamEntry",
    "Cookie": "dw.web.Cookie",
    "Cookies": "dw.web.Cookies",
    "Form": "dw.web.Form",
    "FormAction": "dw.web.FormAction",
    "FormElement": "dw.web.FormElement",
    "FormElementValidationResult": "dw.web.FormElementValidationResult",
    "FormField": "dw.web.FormField",
    "FormFieldOption": "dw.web.FormFieldOption",
    "FormFieldOptions": "dw.web.FormFieldOptions",
    "FormGroup": "dw.web.FormGroup",
    "FormList": "dw.web.FormList",
    "FormListItem": "dw.web.FormListItem",
    "Forms": "dw.web.Forms",
    "HttpParameter": "dw.web.HttpParameter",
    "HttpParameterMap": "dw.web.HttpParameterMap",
    "LoopIterator": "dw.web.LoopIterator",
    "PageMetaTag": "dw.web.PageMetaTag",
    "Port": "dw.ws.Port",
    "WSUtil": "dw.ws.WSUtil",
    "WebReference2": "dw.ws.WebReference2"
  },
  "interfaces": [
    "Object",
    "TopLevel.Error",
    "dw.object.PersistentObject",
    "dw.campaign.Discount",
    "dw.object.ExtensibleObject",
    "dw.object.ActiveData",
    "dw.catalog.SearchModel",
    "dw.catalog.SearchRefinementDefinition",
    "dw.catalog.SearchRefinementValue",
    "dw.catalog.SearchRefinements",
    "dw.customer.EncryptedObject",
    "dw.order.PaymentInstrument",
    "TopLevel.APIException",
    "dw.io.Reader",
    "dw.io.Writer",
    "dw.object.Extensible",
    "dw.order.AbstractItemCtnr",
    "dw.order.AbstractItem",
    "dw.order.LineItemCtnr",
    "dw.order.LineItem",
    "dw.suggest.Suggestions",
    "dw.svc.Service",
    "dw.svc.ServiceDefinition",
    "dw.svc.HTTPService",
    "dw.svc.HTTPServiceDefinition",
    "dw.customer.AgentUserStatusCodes",
    "dw.util.Collection",
    "dw.util.List",
    "dw.util.Map",
    "dw.util.Set",
    "dw.util.Iterator",
    "dw.web.FormElement",
    "dw.web.FormGroup"
  ]
}