{
  "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
          }
        }
      },
      "Object": {
        "fullClassName": "TopLevel.Object",
        "package": "TopLevel",
        "description": "The <i>Object</i> object is the foundation of all native JavaScript objects. Also,\n the <i>Object</i> object can be used to generate items in your scripts with behaviors\n that are defined by custom properties and/or methods. You generally start by creating\n a blank object with the constructor function and then assign values to new properties\n of that object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "Object": {
            "name": "Object",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Object constructor.",
            "deprecated": false
          }
        },
        "methods": {
          "assign": {
            "name": "assign",
            "args": [
              {
                "name": "target",
                "description": "The target object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "sources",
                "description": "The source objects.",
                "class": {
                  "name": "Object"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The target object."
            },
            "description": "Copies the values of all of the enumerable own properties from one or more source objects to a target object.",
            "deprecated": false
          },
          "create": {
            "name": "create",
            "args": [
              {
                "name": "prototype",
                "description": "The prototype for the new object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The newly created object."
            },
            "description": "Creates a new object based on a prototype object.",
            "deprecated": false
          },
          "create0": {
            "name": "create",
            "args": [
              {
                "name": "prototype",
                "description": "The prototype for the new object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "properties",
                "description": "The property definitions.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The newly created object."
            },
            "description": "Creates a new object based on a prototype object and additional property definitions.\n The properties are given in the same format as described for defineProperties(Object, Object).",
            "deprecated": false
          },
          "defineProperties": {
            "name": "defineProperties",
            "args": [
              {
                "name": "object",
                "description": "The object to change.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "properties",
                "description": "The new property definitions.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The modified object."
            },
            "description": "Defines or modifies properties of the passed object.\n A descriptor for a property supports these properties: configurable, enumerable, value, writable, set and get.",
            "deprecated": false
          },
          "defineProperty": {
            "name": "defineProperty",
            "args": [
              {
                "name": "object",
                "description": "The object to change.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "propertyKey",
                "description": "The property name.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "descriptor",
                "description": "The property descriptor object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The modified object."
            },
            "description": "Defines or modifies a single property of the passed object.\n A descriptor for a property supports these properties: configurable, enumerable, value, writable, set and get.",
            "deprecated": false
          },
          "entries": {
            "name": "entries",
            "args": [
              {
                "name": "object",
                "description": "The object to get the enumerable property names from.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "An array of key/value pairs ( as two element arrays ) that holds all the enumerable properties of the given object."
            },
            "description": "Returns the enumerable property names and their values of the passed object.",
            "deprecated": false
          },
          "freeze": {
            "name": "freeze",
            "args": [
              {
                "name": "object",
                "description": "The object to be frozen.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The frozen object."
            },
            "description": "Freezes the passed object. Properties can't be added or removed from the frozen object. Also, definitions of\n existing object properties can't be changed. Although property values are immutable, setters and getters can be\n called.",
            "deprecated": false
          },
          "fromEntries": {
            "name": "fromEntries",
            "args": [
              {
                "name": "properties",
                "description": "The properties.",
                "class": {
                  "name": "Iterable"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The newly created object."
            },
            "description": "Creates a new object with defined properties. The properties are defined by an iterable that produces two element array like objects, which are the key-value pairs.\n Iterables are e.g. Array, Map or any other Iterable.",
            "deprecated": false
          },
          "getOwnPropertyDescriptor": {
            "name": "getOwnPropertyDescriptor",
            "args": [
              {
                "name": "object",
                "description": "The property owning object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "propertyKey",
                "description": "The property to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The descriptor object for the property or undefined if the property does not exist."
            },
            "description": "Returns the descriptor for a single property of the passed object.",
            "deprecated": false
          },
          "getOwnPropertyNames": {
            "name": "getOwnPropertyNames",
            "args": [
              {
                "name": "object",
                "description": "The object owning properties.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "An array of strings that are the properties found directly in the passed object."
            },
            "description": "Returns an arrays containing the names of all enumerable and non-enumerable properties owned by the passed object.",
            "deprecated": false
          },
          "getOwnPropertySymbols": {
            "name": "getOwnPropertySymbols",
            "args": [
              {
                "name": "object",
                "description": "The object owning properties.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "An array of symbol properties found directly in the passed object."
            },
            "description": "Returns an array containing the symbol of all symbol properties owned by the passed object.",
            "deprecated": false
          },
          "getPrototypeOf": {
            "name": "getPrototypeOf",
            "args": [
              {
                "name": "object",
                "description": "The object to get the prototype from.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The prototype object or null if there is none."
            },
            "description": "Returns the prototype of the passed object.",
            "deprecated": false
          },
          "hasOwnProperty0": {
            "name": "hasOwnProperty",
            "args": [
              {
                "name": "propName",
                "description": "the property name of the object's property.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if at the object contains a property that matches the parameter, false otherwise."
            },
            "description": "Returns Boolean true if at the time the current object's instance was created\n its constructor (or literal assignment) contained a property with a name that\n matches the parameter value.",
            "deprecated": false
          },
          "is": {
            "name": "is",
            "args": [
              {
                "name": "value1",
                "description": "The first value.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "value2",
                "description": "The second value.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if both values are the same value else false."
            },
            "description": "Checks if the two values are equal in terms of being the same value. No coercion is performed, thus -0 and\n +0 is not equal and NaN is equal to NaN.",
            "deprecated": false
          },
          "isExtensible": {
            "name": "isExtensible",
            "args": [
              {
                "name": "object",
                "description": "The object to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if new properties can be added else false."
            },
            "description": "Returns if new properties can be added to an object. By default new objects are extensible. The methods\n freeze(Object), seal(Object) and preventExtensions(Object) make objects\n non-extensible.",
            "deprecated": false
          },
          "isFrozen": {
            "name": "isFrozen",
            "args": [
              {
                "name": "object",
                "description": "The object to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the object is frozen else false."
            },
            "description": "Returns if the object is frozen.",
            "deprecated": false
          },
          "isPrototypeOf0": {
            "name": "isPrototypeOf",
            "args": [
              {
                "name": "prototype",
                "description": "the object to test.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the current object and the object passed as a prameter conincide at some point, false otherwise."
            },
            "description": "Returns true if the current object and the object passed as a prameter conincide\n at some point along each object's prototype inheritance chain.",
            "deprecated": false
          },
          "isSealed": {
            "name": "isSealed",
            "args": [
              {
                "name": "object",
                "description": "The object to check.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "boolean",
              "description": "true if the object is sealed else false."
            },
            "description": "Returns if the object is sealed.",
            "deprecated": false
          },
          "keys": {
            "name": "keys",
            "args": [
              {
                "name": "object",
                "description": "The object to get the enumerable property names from.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "An array of strings that holds all the enumerable properties of the given object."
            },
            "description": "Returns the enumerable property names of the passed object.",
            "deprecated": false
          },
          "preventExtensions": {
            "name": "preventExtensions",
            "args": [
              {
                "name": "object",
                "description": "The object to make non-extensible.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The passed object."
            },
            "description": "Makes the passed object non-extensible. This means that no new properties can be added to this object.",
            "deprecated": false
          },
          "propertyIsEnumerable0": {
            "name": "propertyIsEnumerable",
            "args": [
              {
                "name": "propName",
                "description": "the property to test.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the specified property exposes itself to for/in property inspection through the object, false otherwise."
            },
            "description": "Return true if the specified property exposes itself to for/in property\n inspection through the object.",
            "deprecated": false
          },
          "seal": {
            "name": "seal",
            "args": [
              {
                "name": "object",
                "description": "The object to be frozen.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The sealed object."
            },
            "description": "Seals the passed object. This means properties can't be added or removed. Also, property definitions of\n existing properties can't be changed.",
            "deprecated": false
          },
          "setPrototypeOf": {
            "name": "setPrototypeOf",
            "args": [
              {
                "name": "object",
                "description": "The object whose prototype should change.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "prototype",
                "description": "The object to set as the new prototype.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Object",
              "description": "The object with the changed prototype."
            },
            "description": "Changes the prototype of the passed object.",
            "deprecated": false
          },
          "toLocaleString0": {
            "name": "toLocaleString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a localized version of the object."
            },
            "description": "Converts the object to a localized String.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the String representation of the object."
            },
            "description": "Converts the object to a String.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the object's value."
            },
            "description": "Returns the object's value.",
            "deprecated": false
          },
          "values": {
            "name": "values",
            "args": [
              {
                "name": "object",
                "description": "The object to get the enumerable property values from.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Array",
              "description": "An array of values that holds all the enumerable properties of the given object."
            },
            "description": "Returns the enumerable property values of the passed object.",
            "deprecated": false
          }
        }
      },
      "QName": {
        "fullClassName": "TopLevel.QName",
        "package": "TopLevel",
        "description": "QName objects are used to represent qualified names of XML \n elements and attributes. Each QName object has a local name \n of type string and a namespace URI of type string or null. \n When the namespace URI is null, this qualified name matches \n any namespace.\n \n If the QName of an XML element is specified without identifying a \n namespace (i.e., as an unqualified identifier), the uri property \n of the associated QName will be set to the in-scope default \n namespace. If the QName of an XML attribute is \n specified without identifying a namespace, the uri property of \n the associated QName will be the empty string representing no namespace.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "localName": {
            "name": "localName",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": true,
            "description": "The local name of the QName object.",
            "deprecated": false,
            "type": "property"
          },
          "uri": {
            "name": "uri",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": true,
            "description": "The Uniform Resource Identifier (URI) of the QName object.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "QName": {
            "name": "QName",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs a QName object where localName\n is set to an empty String.",
            "deprecated": false
          },
          "QName0": {
            "name": "QName",
            "args": [
              {
                "name": "qname",
                "description": "the QName from which this QName will be constructed.",
                "class": {
                  "name": "QName"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a QName object that is a copy of the specified\n qname. If the argument is not\n a QName object, the argument is converted to a string and assigned\n to the localName property of the new QName instance.",
            "deprecated": false
          },
          "QName01": {
            "name": "QName",
            "args": [
              {
                "name": "uri",
                "description": "a Namespace object from which to copy the uri value. An argument of any other type is converted to a string.",
                "class": {
                  "name": "Namespace"
                },
                "multiple": false
              },
              {
                "name": "localName",
                "description": "a QName object from which to copy the localName value. An argument of any other type is converted to a string.",
                "class": {
                  "name": "QName"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a QName object with a uri from a Namespace object and\n a localName from a QName object. If either argument is not\n the expected data type, the argument is converted to a string\n and assigned to the corresponding property of the new QName object.",
            "deprecated": false
          }
        },
        "methods": {
          "getLocalName": {
            "name": "getLocalName",
            "args": [],
            "class": {
              "name": "String",
              "description": "the local name of the QName object."
            },
            "description": "Returns the local name of the QName object.",
            "deprecated": false
          },
          "getUri": {
            "name": "getUri",
            "args": [],
            "class": {
              "name": "String",
              "description": "the Uniform Resource Identifier (URI) of the QName object."
            },
            "description": "Returns the Uniform Resource Identifier (URI) of the QName object.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a string composed of the URI, and the local name for the QName object, separated by \"::\"."
            },
            "description": "Returns a string composed of the URI, and the local name for the QName \n object, separated by \"::\". The format depends on the uri property of \n the QName object:\n If uri == \"\"\n       toString returns localName\n else if uri == null \n       toString returns *::localName\n else\n    toString returns uri::localNam",
            "deprecated": false
          }
        }
      },
      "RangeError": {
        "fullClassName": "TopLevel.RangeError",
        "package": "TopLevel",
        "description": "Represents a range error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "RangeError": {
            "name": "RangeError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "RangeError0": {
            "name": "RangeError",
            "args": [
              {
                "name": "msg",
                "description": "the range error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "ReferenceError": {
        "fullClassName": "TopLevel.ReferenceError",
        "package": "TopLevel",
        "description": "Represents a reference error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "ReferenceError": {
            "name": "ReferenceError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "ReferenceError0": {
            "name": "ReferenceError",
            "args": [
              {
                "name": "msg",
                "description": "the reference error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "RegExp": {
        "fullClassName": "TopLevel.RegExp",
        "package": "TopLevel",
        "description": "The RegExp object is a static object that generates instances of a regular\n expression for pattern matching and monitors all regular expressions in the\n current window or frame. Consult ECMA standards for the format of the pattern\n strings supported by these regular expressions.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "global": {
            "name": "global",
            "class": {
              "name": "boolean"
            },
            "static": false,
            "readonly": false,
            "description": "If the regular expression instance has the g modifier, then\n this property is set to true.",
            "deprecated": false,
            "type": "property"
          },
          "ignoreCase": {
            "name": "ignoreCase",
            "class": {
              "name": "boolean"
            },
            "static": false,
            "readonly": false,
            "description": "If the regular expression instance has the i modifier, then\n this property is set to true.",
            "deprecated": false,
            "type": "property"
          },
          "lastIndex": {
            "name": "lastIndex",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "This is the zero-based index value of the character within the\n String where the next search for the pattern begins. In a new\n search, the value is zero.",
            "deprecated": false,
            "type": "property"
          },
          "multiline": {
            "name": "multiline",
            "class": {
              "name": "boolean"
            },
            "static": false,
            "readonly": false,
            "description": "If a search extends across multiple lines of test, the multiline\n property is set to true.",
            "deprecated": false,
            "type": "property"
          },
          "source": {
            "name": "source",
            "class": {
              "name": "String"
            },
            "static": false,
            "readonly": false,
            "description": "A String version of the characters used to create the regular\n expression. The value does not include the forward slash delimiters that\n surround the expression.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "RegExp": {
            "name": "RegExp",
            "args": [
              {
                "name": "pattern",
                "description": "the regular expression pattern to use.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the regular expression using the specified\n pattern.",
            "deprecated": false
          },
          "RegExp0": {
            "name": "RegExp",
            "args": [
              {
                "name": "pattern",
                "description": "the regular expression pattern to use.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "attributes",
                "description": "one or more attributes that control how the regular expression is executed.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the regular expression using the specified\n pattern and attributes. See the class documentation for more information\n on the pattern and attributes.",
            "deprecated": false
          }
        },
        "methods": {
          "exec": {
            "name": "exec",
            "args": [
              {
                "name": "string",
                "description": "the String to apply the regular expression.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Array",
              "description": "an array of match information if successful, null otherwise."
            },
            "description": "Performs a search through the specified parameter for the\n current regular expression and returns an array of match\n information if successful. Returns null if the search produces\n no results.",
            "deprecated": false
          },
          "test": {
            "name": "test",
            "args": [
              {
                "name": "string",
                "description": "the String to apply the regular expression.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if there is a match of the regular expression anywhere in the specified parameter, false otherwise."
            },
            "description": "Returns true if there is a match of the regular expression anywhere in the\n specified parameter. No additional information is\n available about the results of the search.",
            "deprecated": false
          }
        }
      },
      "Set": {
        "fullClassName": "TopLevel.Set",
        "package": "TopLevel",
        "description": "A Set can store any kind of element and ensures that no duplicates exist.\n Objects are stored and iterated in insertion order.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "size": {
            "name": "size",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "Number of elements stored in this set.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "Set": {
            "name": "Set",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty Set.",
            "deprecated": false
          },
          "Set0": {
            "name": "Set",
            "args": [
              {
                "name": "values",
                "description": "The initial set entries.",
                "class": {
                  "name": "Iterable"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "If the passed value is null or undefined then an empty set is constructed. Else an iterable object is expected\n that delivers the initial set entries.",
            "deprecated": false
          }
        },
        "methods": {
          "add": {
            "name": "add",
            "args": [
              {
                "name": "object",
                "description": "The object to add.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Set",
              "description": "This set object."
            },
            "description": "Adds an element to the set. Does nothing if the set already contains the element.",
            "deprecated": false
          },
          "clear": {
            "name": "clear",
            "args": [],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Removes all elements from this set.",
            "deprecated": false
          },
          "delete": {
            "name": "delete",
            "args": [
              {
                "name": "object",
                "description": "The object to be removed.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the set contained the object that was removed. Else false is returned."
            },
            "description": "Removes the element from the set.",
            "deprecated": false
          },
          "entries": {
            "name": "entries",
            "args": [],
            "class": {
              "name": "ES6Iterator",
              "description": ""
            },
            "description": "Returns an iterator containing all elements of this set.",
            "deprecated": false
          },
          "forEach": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the element (as value), the element (as index), and the Set object being iterated.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Runs the provided callback function once for each element present in this set.",
            "deprecated": false
          },
          "forEach0": {
            "name": "forEach",
            "args": [
              {
                "name": "callback",
                "description": "The function to call, which is invoked with three arguments: the element (as value), the element (as index), and the Set 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 element present in this set.",
            "deprecated": false
          },
          "has": {
            "name": "has",
            "args": [
              {
                "name": "object",
                "description": "The object to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the set contains the object else false is returned."
            },
            "description": "Returns if this set contains the given object.",
            "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": {}
      },
      "String": {
        "fullClassName": "TopLevel.String",
        "package": "TopLevel",
        "description": "The String object represents any sequence of zero or more characters that are to be\n treated strictly as text.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "length": {
            "name": "length",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The length of the String object.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "String": {
            "name": "String",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the String.",
            "deprecated": false
          },
          "String0": {
            "name": "String",
            "args": [
              {
                "name": "num",
                "description": "the number that will be converted to a String.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the String from the specified\n Number object.",
            "deprecated": false
          },
          "String01": {
            "name": "String",
            "args": [
              {
                "name": "str",
                "description": "the String that will be converted to a new String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs a new String from the specified\n String object.",
            "deprecated": false
          }
        },
        "methods": {
          "charAt": {
            "name": "charAt",
            "args": [
              {
                "name": "index",
                "description": "the index at which the character string is located.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a string containing the character at position index."
            },
            "description": "Returns a string containing the character at position index.\n You should use this method instead\n of substring when you need only a single character.",
            "deprecated": false
          },
          "charCodeAt": {
            "name": "charCodeAt",
            "args": [
              {
                "name": "index",
                "description": "The index of the code unit within the string.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "a non-negative integer representing a UTF-16 code unit or NaN if the index is not valid."
            },
            "description": "Returns the UTF-16 code unit at the given position index. If the position is invalid NaN is returned.",
            "deprecated": false
          },
          "codePointAt": {
            "name": "codePointAt",
            "args": [
              {
                "name": "index",
                "description": "The index of the starting code unit within the string.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "The Unicode code point, an UTF-16 code unit or undefined."
            },
            "description": "Returns the Unicode code point at the given position index. The index is a position within the string in UTF-16\n encoding. If the index points to the begin of a surrogate pair the only the code unit at the position is returned.\n If the index is invalid undefined is returned.",
            "deprecated": false
          },
          "concat": {
            "name": "concat",
            "args": [
              {
                "name": "strings",
                "description": "zero, one, or more String arguments",
                "class": {
                  "name": "String"
                },
                "multiple": true
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String created by concatenating the string arguments together."
            },
            "description": "Returns a new String created by concatenating the string arguments together.",
            "deprecated": false
          },
          "endsWith": {
            "name": "endsWith",
            "args": [
              {
                "name": "searchString",
                "description": "The characters to be searched for this string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the search string was found else false"
            },
            "description": "Tests if this string ends with a given string.",
            "deprecated": false
          },
          "endsWith0": {
            "name": "endsWith",
            "args": [
              {
                "name": "searchString",
                "description": "The characters to be searched for this string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "Assumes this string has only this given length.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the search string was found else false"
            },
            "description": "Tests if this string ends with a given string.",
            "deprecated": false
          },
          "equals": {
            "name": "equals",
            "args": [
              {
                "name": "obj",
                "description": "another object, typically another string",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": ""
            },
            "description": "Returns true if this string is equal to the string representation of the\n passed objects.",
            "deprecated": false
          },
          "equalsIgnoreCase": {
            "name": "equalsIgnoreCase",
            "args": [
              {
                "name": "obj",
                "description": "another object, typically another string",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": ""
            },
            "description": "Returns true if this string is equal to the string representation of the\n passed objects. The comparison is done case insensitive.",
            "deprecated": false
          },
          "fromCharCode": {
            "name": "fromCharCode",
            "args": [
              {
                "name": "c",
                "description": "zero, one, or more UTF-16 code units.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": ""
            },
            "description": "Returns a new String from one or more UTF-16 code units.",
            "deprecated": false
          },
          "fromCodePoint": {
            "name": "fromCodePoint",
            "args": [
              {
                "name": "c",
                "description": "zero, one, or more code points.",
                "class": {
                  "name": "Number"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": ""
            },
            "description": "Returns a new String from one or more characters with Unicode code points.",
            "deprecated": false
          },
          "includes": {
            "name": "includes",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if substring occurs within the current string, else false."
            },
            "description": "Returns if substring is contained in this String object.",
            "deprecated": false
          },
          "includes0": {
            "name": "includes",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "start",
                "description": "the location in the String from which to begin the search.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if substring occurs within the current string, else false."
            },
            "description": "Returns if substring is contained in this String object.",
            "deprecated": false
          },
          "indexOf": {
            "name": "indexOf",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of substring or -1."
            },
            "description": "Returns the index of substring in this String object.\n If there is no match, -1 is returned.",
            "deprecated": false
          },
          "indexOf0": {
            "name": "indexOf",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "start",
                "description": "the location in the String from which to begin the search.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the index of substring or -1."
            },
            "description": "Returns the index of substring in this String object using\n the specified start value as the location to begin searching.\n If there is no match, -1 is returned.",
            "deprecated": false
          },
          "lastIndexOf": {
            "name": "lastIndexOf",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the last index of substring or -1."
            },
            "description": "Returns the last index of substring in this String object.\n If there is no match, -1 is returned.",
            "deprecated": false
          },
          "lastIndexOf0": {
            "name": "lastIndexOf",
            "args": [
              {
                "name": "substring",
                "description": "the String to search for in this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "start",
                "description": "the location from which to begin the search.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the last index of substring or -1."
            },
            "description": "Returns the last index of substring in this String object,\n using the specified start position as the location from which\n to begin the search.\n If there is no match, -1 is returned.",
            "deprecated": false
          },
          "localeCompare": {
            "name": "localeCompare",
            "args": [
              {
                "name": "other",
                "description": "the String to compare against this String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "a number indicating whether the current String sorts before, the same as, or after the parameter other."
            },
            "description": "Returns a number indicating whether the current String sorts before, the same as,\n or after the parameter other, based on browser and system-dependent\n string localization.",
            "deprecated": false
          },
          "match": {
            "name": "match",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String[]",
              "description": "an array of strings that match the regular expression."
            },
            "description": "Returns an array of strings that match the regular expression\n regexp.",
            "deprecated": false
          },
          "normalize": {
            "name": "normalize",
            "args": [],
            "class": {
              "name": "String",
              "description": "The normalized form of this Unicode string."
            },
            "description": "Returns the normalized form of this Unicode string. Same as calling normalize(String) with parameter 'NFC'.",
            "deprecated": false
          },
          "normalize0": {
            "name": "normalize",
            "args": [
              {
                "name": "form",
                "description": "The normalization variant to use. Must be one of 'NFC', 'NFD', 'NFKC', 'NFKD'.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "The normalized form of this Unicode string."
            },
            "description": "Returns the normalized form of this Unicode string according to the standard as described in https://unicode.org/reports/tr15/.\n In a normalized string, identical text is replaced by identical sequences of code points.",
            "deprecated": false
          },
          "padEnd": {
            "name": "padEnd",
            "args": [
              {
                "name": "targetLength",
                "description": "The length to be reached.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "This string if the string length is already greater than or equal to the target length. Else a new string with the targetLength ending with space characters."
            },
            "description": "Appends space characters to the current string to ensure the resulting string reaches the given target length.",
            "deprecated": false
          },
          "padEnd0": {
            "name": "padEnd",
            "args": [
              {
                "name": "targetLength",
                "description": "The length to be reached.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "fillString",
                "description": "The string providing the characters to be used for filling.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "This string if the string length is already greater than or equal to the target length. Else a new string with the targetLength with the (possibly multiple times) added and truncated fillString."
            },
            "description": "Appends a string (possibly multiple times) to the current string to ensure the resulting string reaches the given target length.",
            "deprecated": false
          },
          "padStart": {
            "name": "padStart",
            "args": [
              {
                "name": "targetLength",
                "description": "The length to be reached.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "This string if the string length is already greater than or equal to the target length. Else a new string with the targetLength starting with space characters."
            },
            "description": "Prepends space characters to the current string to ensure the resulting string reaches the given target length.",
            "deprecated": false
          },
          "padStart0": {
            "name": "padStart",
            "args": [
              {
                "name": "targetLength",
                "description": "The length to be reached.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "fillString",
                "description": "The string providing the characters to be used for filling.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "This string if the string length is already greater than or equal to the target length. Else a new string with the targetLength with the (possibly multiple times) added and truncated fillString."
            },
            "description": "Prepends a string (possibly multiple times) to the current string to ensure the resulting string reaches the given target length.",
            "deprecated": false
          },
          "raw": {
            "name": "raw",
            "args": [
              {
                "name": "callSite",
                "description": "A well-formed template call site object, like { raw: ['a', 'b', 'c'] }.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "substitutions",
                "description": "The substitution values.",
                "class": {
                  "name": "String"
                },
                "multiple": true
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "A string constructed by the template with filled substitutions."
            },
            "description": "The static String.raw() method is a tag function of template literals.\n \n it can be used in different ways:\n  String.raw`Hello\\n${40+2}!`;\n // returns: Hello\\n42!\n // \\ is here not an escape character like in string literals\n\n String.raw({ raw: ['a', 'b', 'c'] }, '-', '.' );\n // returns: a-b.c",
            "deprecated": false
          },
          "repeat": {
            "name": "repeat",
            "args": [
              {
                "name": "count",
                "description": "The number of times this string should be repeated. Must be non-negative.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "A new string repeating this string the given number of times."
            },
            "description": "Returns a new string repeating this string the given number of times.",
            "deprecated": false
          },
          "replace": {
            "name": "replace",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              },
              {
                "name": "replacement",
                "description": "a String that is to take the place of all matches of regexp in the current String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when matches of the regexp parameter are replaced by the replacement."
            },
            "description": "Returns a new String that results when matches of the regexp\n parameter are replaced by the replacement parameter. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. If regexp has the global flag set,\n all occurrences are replaced, if the global flag is not set only the\n first occurrence is replaced.",
            "deprecated": false
          },
          "replace0": {
            "name": "replace",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              },
              {
                "name": "function",
                "description": "a Function that operates on matches of regexp in the current String.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when matches of the regexp parameter are replaced by the function."
            },
            "description": "Returns a new String that results when matches of the regexp\n parameter are replaced by using the specified function. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. When you specify a function as the\n second parameter, the function is invoked after the match has been performed.",
            "deprecated": false
          },
          "replace01": {
            "name": "replace",
            "args": [
              {
                "name": "literal",
                "description": "the literal string to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "replacement",
                "description": "a String that is to take the place of all matches of regexp in the current String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when the first match of the literal parameter is replaced by the replacement parameter."
            },
            "description": "Returns a new String that results when matches of the literal\n parameter are replaced by the replacement parameter. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. This method only replaces the first\n occurrence of the literal. To replace all occurrences see the polymorphic\n method with a regular expression as argument.",
            "deprecated": false
          },
          "replace012": {
            "name": "replace",
            "args": [
              {
                "name": "literal",
                "description": "the literal string to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "replacement",
                "description": "a String that is to take the place of all matches of regexp in the current String.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "flags",
                "description": "a String containing any combination of the Regular Expression flags of g - global match, i - ignore case, m - match over multiple lines.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when the first match of the literal parameter is replaced by the replacement parameter."
            },
            "description": "Returns a new String that results when matches of the literal\n parameter are replaced by the replacement parameter. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. This method only replaces the first\n occurrence of the literal. To replace all occurrences see the polymorphic\n method with a regular expression as argument. Note that if flags",
            "deprecated": true
          },
          "replace0123": {
            "name": "replace",
            "args": [
              {
                "name": "literal",
                "description": "the literal string to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "function",
                "description": "a Function that operates on the match of literal in the current String.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when the first match of the literal parameter is replaced by the specified function."
            },
            "description": "Returns a new String that results when matches of the literal\n parameter are replaced by using the specified function. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. When you specify a function as the\n second parameter, the function is invoked after the match has been\n performed.",
            "deprecated": false
          },
          "replace01234": {
            "name": "replace",
            "args": [
              {
                "name": "literal",
                "description": "the literal string to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "function",
                "description": "a Function that operates on the match of literal in the current String.",
                "class": {
                  "name": "Function"
                },
                "multiple": false
              },
              {
                "name": "flags",
                "description": "a String containing any combination of the Regular Expression flags of g - global match, i - ignore case, m - match over multiple lines.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String that results when the first match of the literal parameter is replaced by the specified function."
            },
            "description": "Returns a new String that results when matches of the literal\n parameter are replaced by using the specified function. The\n original String is not modified so you must capture the new String\n in a variable to preserve changes. When you specify a function as the\n second parameter, the function is invoked after the match has been\n performed.",
            "deprecated": true
          },
          "search": {
            "name": "search",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Number",
              "description": "the zero-based indexed value of the first character in the current string that matches the pattern of the regular expression regexp, or -1 if no match is found."
            },
            "description": "Searches for a match between the passed regular expression and this\n string and returns the zero-based index of the match, or -1 if no match\n is found.",
            "deprecated": false
          },
          "slice": {
            "name": "slice",
            "args": [
              {
                "name": "start",
                "description": "the start position in the current String from which the slice will begin.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "end",
                "description": "the end position in the current String from which the slice will terminate.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "the String between the start and end positions."
            },
            "description": "Returns a substring of the current String where the\n specified start and end locations are used\n to delimit the String.",
            "deprecated": false
          },
          "split": {
            "name": "split",
            "args": [
              {
                "name": "delimiter",
                "description": "the delimiter to use to split the string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String[]",
              "description": "an array of String instances created by splitting the current String based on the delimiter."
            },
            "description": "Returns an array of String instances created by splitting the current\n String based on the delimiter.",
            "deprecated": false
          },
          "split0": {
            "name": "split",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use to split the string.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String[]",
              "description": "an array of String instances created by splitting the current String based on the regular expression."
            },
            "description": "Returns an array of String instances created by splitting the current\n String based on the regular expression.",
            "deprecated": false
          },
          "split01": {
            "name": "split",
            "args": [
              {
                "name": "delimiter",
                "description": "the delimiter to use to split the string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "limit",
                "description": "controls the maximum number of items that will be returned.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String[]",
              "description": "an array of String instances created by splitting the current String based on the delimiter and limited in size by the limit parameter."
            },
            "description": "Returns an array of String instances created by splitting the current\n String based on the delimiter and limited in size by the limit\n parameter.",
            "deprecated": false
          },
          "split012": {
            "name": "split",
            "args": [
              {
                "name": "regexp",
                "description": "the regular expression to use to split the string.",
                "class": {
                  "name": "RegExp"
                },
                "multiple": false
              },
              {
                "name": "limit",
                "description": "controls the maximum number of items that will be returned.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String[]",
              "description": "an array of String instances created by splitting the current String based on the regular expression and limited in size by the limit parameter."
            },
            "description": "Returns an array of String instances created by splitting the current\n String based on the regular expression and limited in size by the limit\n parameter.",
            "deprecated": false
          },
          "startsWith": {
            "name": "startsWith",
            "args": [
              {
                "name": "searchString",
                "description": "The characters to be searched for this string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the search string was found else false"
            },
            "description": "Tests if this string starts with a given string.",
            "deprecated": false
          },
          "startsWith0": {
            "name": "startsWith",
            "args": [
              {
                "name": "searchString",
                "description": "The characters to be searched for this string.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "position",
                "description": "The position in this string at which to begin searching for searchString.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the search string was found else false"
            },
            "description": "Tests if this string starts with a given string.",
            "deprecated": false
          },
          "substr": {
            "name": "substr",
            "args": [
              {
                "name": "start",
                "description": "the start position in the current string from which the new string will be created.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String created by splitting the current string starting at the specified start location until the end of the String."
            },
            "description": "Creates and returns a new String by splitting the current string\n at the specified start location until the end of the String.",
            "deprecated": false
          },
          "substr0": {
            "name": "substr",
            "args": [
              {
                "name": "start",
                "description": "the start position in the current string from which the new string will be created.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "length",
                "description": "controls the length of the new string.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String created by splitting the current string starting at the specified start location and limited by the length value."
            },
            "description": "Creates and returns a new String by splitting the current string\n at the specified start location and limited by the length\n value.",
            "deprecated": false
          },
          "substring": {
            "name": "substring",
            "args": [
              {
                "name": "from",
                "description": "the start position in the current string from which the new string will be created.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String created by splitting the current string starting at the specified from location until the end of the String."
            },
            "description": "Creates and returns a new String by splitting the current string\n at the specified from location until the end of the String.",
            "deprecated": false
          },
          "substring0": {
            "name": "substring",
            "args": [
              {
                "name": "from",
                "description": "the start position in the current string from which the new string will be created.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              },
              {
                "name": "to",
                "description": "the end position in the current string from which the new string will be created.",
                "class": {
                  "name": "Number"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "String",
              "description": "a new String created by splitting the current string starting at the specified from location until the specified to location. value."
            },
            "description": "Creates and returns a new String by splitting the current string\n at the specified from location until the specified to location.",
            "deprecated": false
          },
          "toLocaleLowerCase": {
            "name": "toLocaleLowerCase",
            "args": [],
            "class": {
              "name": "String",
              "description": "a copy of the current string in all lower-case letters."
            },
            "description": "Returns a copy of the current string in all lower-case letters.",
            "deprecated": false
          },
          "toLocaleUpperCase": {
            "name": "toLocaleUpperCase",
            "args": [],
            "class": {
              "name": "String",
              "description": "a copy of the current string in all upper-case letters."
            },
            "description": "Returns a copy of the current string in all upper-case letters.",
            "deprecated": false
          },
          "toLowerCase": {
            "name": "toLowerCase",
            "args": [],
            "class": {
              "name": "String",
              "description": "a copy of the current string in all lower-case letters."
            },
            "description": "Returns a copy of the current string in all lower-case letters.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String value of this object."
            },
            "description": "Returns a String value of this object.",
            "deprecated": false
          },
          "toUpperCase": {
            "name": "toUpperCase",
            "args": [],
            "class": {
              "name": "String",
              "description": "a copy of the current string in all upper-case letters."
            },
            "description": "Returns a copy of the current string in all upper-case letters.",
            "deprecated": false
          },
          "trim": {
            "name": "trim",
            "args": [],
            "class": {
              "name": "String",
              "description": "A new string without leading and ending white space characters."
            },
            "description": "Removes white space characters at the start and the end of the string.",
            "deprecated": false
          },
          "trimEnd": {
            "name": "trimEnd",
            "args": [],
            "class": {
              "name": "String",
              "description": "A new string without ending white space characters."
            },
            "description": "Removes white space characters at the end of the string.",
            "deprecated": false
          },
          "trimLeft": {
            "name": "trimLeft",
            "args": [],
            "class": {
              "name": "String",
              "description": "A new string without leading white space characters."
            },
            "description": "Removes white space characters at the start of the string.\n trimStart() should be used instead of this.",
            "deprecated": false
          },
          "trimRight": {
            "name": "trimRight",
            "args": [],
            "class": {
              "name": "String",
              "description": "A new string without ending white space characters."
            },
            "description": "Removes white space characters at the end of the string.\n trimEnd() should be used instead of this.",
            "deprecated": false
          },
          "trimStart": {
            "name": "trimStart",
            "args": [],
            "class": {
              "name": "String",
              "description": "A new string without leading white space characters."
            },
            "description": "Removes white space characters at the start of the string.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "String",
              "description": "a String value of this object."
            },
            "description": "Returns a String value of this object.",
            "deprecated": false
          }
        }
      },
      "Symbol": {
        "fullClassName": "TopLevel.Symbol",
        "package": "TopLevel",
        "description": "Symbol is a primitive data type that can serve as object properties.\n Symbol instance can be created explicitly or via a global registry, see <a href=\"class_TopLevel_Symbol.html#TopLevel_Symbol_for_1_String_DetailAnchor\">for(String)</a>.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {
          "hasInstance": {
            "name": "hasInstance",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by instanceof.",
            "deprecated": false,
            "type": "constant"
          },
          "isConcatSpreadable": {
            "name": "isConcatSpreadable",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by Array.concat(Object...).",
            "deprecated": false,
            "type": "constant"
          },
          "iterator": {
            "name": "iterator",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by for...of.",
            "deprecated": false,
            "type": "constant"
          },
          "match": {
            "name": "match",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by String.match(RegExp).",
            "deprecated": false,
            "type": "constant"
          },
          "replace": {
            "name": "replace",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by String.replace().",
            "deprecated": false,
            "type": "constant"
          },
          "search": {
            "name": "search",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by String.search(RegExp).",
            "deprecated": false,
            "type": "constant"
          },
          "species": {
            "name": "species",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used to create derived objects.",
            "deprecated": false,
            "type": "constant"
          },
          "split": {
            "name": "split",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by String.split().",
            "deprecated": false,
            "type": "constant"
          },
          "toPrimitive": {
            "name": "toPrimitive",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used to convert an object to a primitive value.",
            "deprecated": false,
            "type": "constant"
          },
          "toStringTag": {
            "name": "toStringTag",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by Object.toString().",
            "deprecated": false,
            "type": "constant"
          },
          "unscopables": {
            "name": "unscopables",
            "value": null,
            "class": {
              "name": "Symbol"
            },
            "description": "The symbol used by with.",
            "deprecated": false,
            "type": "constant"
          }
        },
        "properties": {},
        "constructors": {
          "Symbol": {
            "name": "Symbol",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates a new symbol. Note that it must be called without new.\n Symbols created via this method are always distinct.",
            "deprecated": false
          },
          "Symbol0": {
            "name": "Symbol",
            "args": [
              {
                "name": "description",
                "description": "A description for this symbol.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a new symbol. Note that it must be called without new.\n Symbols created via this method are always distinct.",
            "deprecated": false
          }
        },
        "methods": {
          "for": {
            "name": "for",
            "args": [
              {
                "name": "key",
                "description": "The key for a symbol within the global registry.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "Symbol",
              "description": "The found or newly created symbol."
            },
            "description": "Obtains a symbol from the global registry. If no symbol exists for the key within the registry a new symbol is\n created and stored in the global registry.",
            "deprecated": false
          },
          "keyFor": {
            "name": "keyFor",
            "args": [
              {
                "name": "symbol",
                "description": "The symbol to look for.",
                "class": {
                  "name": "Symbol"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "String",
              "description": "The key for the given symbol if the symbol is known to the global registry, else return undefined."
            },
            "description": "Returns the key within the global symbol registry under which the given symbol is stored.",
            "deprecated": false
          }
        }
      },
      "SyntaxError": {
        "fullClassName": "TopLevel.SyntaxError",
        "package": "TopLevel",
        "description": "Represents a syntax error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "SyntaxError": {
            "name": "SyntaxError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "SyntaxError0": {
            "name": "SyntaxError",
            "args": [
              {
                "name": "msg",
                "description": "the syntax error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "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": {}
      },
      "TypeError": {
        "fullClassName": "TopLevel.TypeError",
        "package": "TopLevel",
        "description": "Represents a type error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "TypeError": {
            "name": "TypeError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "TypeError0": {
            "name": "TypeError",
            "args": [
              {
                "name": "msg",
                "description": "the type error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "URIError": {
        "fullClassName": "TopLevel.URIError",
        "package": "TopLevel",
        "description": "Represents a URI error.",
        "hierarchy": [
          {
            "name": "Object"
          },
          {
            "name": "TopLevel.Error"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "URIError": {
            "name": "URIError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Constructs the error.",
            "deprecated": false
          },
          "URIError0": {
            "name": "URIError",
            "args": [
              {
                "name": "msg",
                "description": "the URI error message.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Constructs the error with the \n specified message.",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "Uint16Array": {
        "fullClassName": "TopLevel.Uint16Array",
        "package": "TopLevel",
        "description": "An optimized array to store 16-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": "2",
            "class": {
              "name": "Number"
            },
            "description": "The 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": {
          "Uint16Array": {
            "name": "Uint16Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Uint16Array0": {
            "name": "Uint16Array",
            "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
          },
          "Uint16Array01": {
            "name": "Uint16Array",
            "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
          },
          "Uint16Array012": {
            "name": "Uint16Array",
            "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
          },
          "Uint16Array0123": {
            "name": "Uint16Array",
            "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": "Uint16Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "Uint32Array": {
        "fullClassName": "TopLevel.Uint32Array",
        "package": "TopLevel",
        "description": "An optimized array to store 32-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": "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": {
          "Uint32Array": {
            "name": "Uint32Array",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty array.",
            "deprecated": false
          },
          "Uint32Array0": {
            "name": "Uint32Array",
            "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
          },
          "Uint32Array01": {
            "name": "Uint32Array",
            "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
          },
          "Uint32Array012": {
            "name": "Uint32Array",
            "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
          },
          "Uint32Array0123": {
            "name": "Uint32Array",
            "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": "Uint32Array",
              "description": "The new array object."
            },
            "description": "Returns a new array object based on the same ArrayBuffer store.",
            "deprecated": false
          }
        }
      },
      "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
          }
        }
      },
      "WeakMap": {
        "fullClassName": "TopLevel.WeakMap",
        "package": "TopLevel",
        "description": "The WeakMap is map whose entries are subject to garbage collection if there are no more references to the keys.\n Keys must be objects (no primitives). Elements can't be iterated.",
        "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": {
          "WeakMap": {
            "name": "WeakMap",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty map.",
            "deprecated": false
          },
          "WeakMap0": {
            "name": "WeakMap",
            "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
          },
          "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
          },
          "set": {
            "name": "set",
            "args": [
              {
                "name": "key",
                "description": "The key object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "The value to be associate with the key.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "WeakMap",
              "description": "This map object."
            },
            "description": "Adds or updates a key/value pair to the map.",
            "deprecated": false
          }
        }
      },
      "WeakSet": {
        "fullClassName": "TopLevel.WeakSet",
        "package": "TopLevel",
        "description": "The WeakSet is set whose elements are subject to garbage collection if there are no more references to the elements.\n Only objects (no primitives) can be stored. Elements can't be iterated.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "WeakSet": {
            "name": "WeakSet",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates an empty Set.",
            "deprecated": false
          },
          "WeakSet0": {
            "name": "WeakSet",
            "args": [
              {
                "name": "values",
                "description": "The initial set entries.",
                "class": {
                  "name": "Iterable"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "If the passed value is null or undefined then an empty set is constructed. Else an iterable object is expected\n that delivers the initial set entries.",
            "deprecated": false
          }
        },
        "methods": {
          "add": {
            "name": "add",
            "args": [
              {
                "name": "object",
                "description": "The object to add.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "WeakSet",
              "description": "This set object."
            },
            "description": "Adds an element to the set. Does nothing if the set already contains the element.",
            "deprecated": false
          },
          "delete": {
            "name": "delete",
            "args": [
              {
                "name": "object",
                "description": "The object to be removed.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the set contained the object that was removed. Else false is returned."
            },
            "description": "Removes the element from the set.",
            "deprecated": false
          },
          "has": {
            "name": "has",
            "args": [
              {
                "name": "object",
                "description": "The object to look for.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the set contains the object else false is returned."
            },
            "description": "Returns if this set contains the given object.",
            "deprecated": false
          }
        }
      },
      "XML": {
        "fullClassName": "TopLevel.XML",
        "package": "TopLevel",
        "description": "The XML object contains functions and properties for working with XML\n instances. The XML object implements the powerful XML-handling standards\n defined in the ECMA-357 specification (known as \"E4X\").\n <p>\n Use the toXMLString() method to return a string representation of the XML\n object regardless of whether the XML object has simple content or complex\n content.\n </p><p>\n Do not create large XML objects in memory to avoid out-of-memory conditions.\n When dealing with XML streams use <a href=\"class_dw_io_XMLStreamReader.html\">XMLStreamReader</a> and\n <a href=\"class_dw_io_XMLStreamWriter.html\">XMLStreamWriter</a>. The following example shows how:\n\n </p><pre> var id : String = \"p42\";\n var pname : String = \"a product\";\n\n // use E4X syntax\n var product : XML =\n   &lt;product id={id}&gt;\n     &lt;name&gt;{pname}&lt;/name&gt;\n     &lt;shortdesc&gt;&lt;/shortdesc&gt;\n   &lt;/product&gt;;\n\n product.shortdesc = \"a fine product\";\n product.longdesc = \"this is a fine product\";\n\n var xmlString = product.toXMLString();\n\n fileWriter.write(xmlString);\n </pre>\n\n <p>\n\n The code above will write the following to file:\n\n </p><p>\n\n </p><pre> &lt;product id=\"p42\"&gt;\n   &lt;name&gt;a product&lt;/name&gt;\n   &lt;shortdesc&gt;a fine product&lt;/shortdesc&gt;\n   &lt;longdesc&gt;this is a fine product&lt;/longdesc&gt;\n &lt;/product&gt;\n </pre>\n\n <p>\n\n Do not create large XML objects in memory to avoid out-of-memory conditions.\n When dealing with XML streams use <a href=\"class_dw_io_XMLStreamReader.html\">XMLStreamReader</a> and\n <a href=\"class_dw_io_XMLStreamWriter.html\">XMLStreamWriter</a>.</p>",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {
          "ignoreComments": {
            "name": "ignoreComments",
            "class": {
              "name": "boolean"
            },
            "static": true,
            "readonly": false,
            "description": "The ignoreComments property determines whether or not XML comments are\n ignored when XML objects parse the source XML data.",
            "deprecated": false,
            "type": "property"
          },
          "ignoreProcessingInstructions": {
            "name": "ignoreProcessingInstructions",
            "class": {
              "name": "boolean"
            },
            "static": true,
            "readonly": false,
            "description": "The ignoreProcessingInstructions property determines whether or not XML\n processing instructions are ignored when XML objects parse the source XML data.",
            "deprecated": false,
            "type": "property"
          },
          "ignoreWhitespace": {
            "name": "ignoreWhitespace",
            "class": {
              "name": "boolean"
            },
            "static": true,
            "readonly": false,
            "description": "The ignoreWhitespace property determines whether or not white space\n characters at the beginning and end of text nodes are ignored during parsing.",
            "deprecated": false,
            "type": "property"
          },
          "prettyIndent": {
            "name": "prettyIndent",
            "class": {
              "name": "Number"
            },
            "static": true,
            "readonly": false,
            "description": "The prettyIndent property determines the amount of indentation applied by\n the toString() and toXMLString() methods when the XML.prettyPrinting\n property is set to true.",
            "deprecated": false,
            "type": "property"
          },
          "prettyPrinting": {
            "name": "prettyPrinting",
            "class": {
              "name": "boolean"
            },
            "static": true,
            "readonly": false,
            "description": "The prettyPrinting property determines whether the toString() and toXMLString()\n methods normalize white space characters between some tags.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "XML": {
            "name": "XML",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "Creates a new XML object.",
            "deprecated": false
          },
          "XML0": {
            "name": "XML",
            "args": [
              {
                "name": "value",
                "description": "any Object that can be converted to XML via the top-level XML() function.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a new XML object.\n You must use the constructor to create an XML object before you\n call any of the methods of the XML class.\n Use the toXMLString() method to return a string representation\n of the XML object regardless of whether the XML object has simple\n content or complex content.",
            "deprecated": false
          }
        },
        "methods": {
          "addNamespace": {
            "name": "addNamespace",
            "args": [
              {
                "name": "ns",
                "description": "the namespace to add to the XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "a new XML object, with the namespace added."
            },
            "description": "Adds a namespace to the set of in-scope namespaces for the XML object.\n If the namespace already exists in the in-scope namespaces for the XML\n object, then the prefix of the existing namespace is set to undefined.\n If ns is a Namespace instance, it is used directly.\n However, if ns is a QName instance, the input parameter's URI is used\n to create a new namespace. If ns is not a Namespace or QName instance,\n ns is converted to a String and a namespace is created from the String.",
            "deprecated": false
          },
          "appendChild": {
            "name": "appendChild",
            "args": [
              {
                "name": "child",
                "description": "the object to append to this XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the XML object with the child appended."
            },
            "description": "Appends the specified child to the end of the object's properties.\n child should be a XML object, an XMLList object or any other\n data type that will then be converted to a String.",
            "deprecated": false
          },
          "attribute": {
            "name": "attribute",
            "args": [
              {
                "name": "attributeName",
                "description": "the name of the attribute.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "the value of the attribute as either an XMLList or an empty XMLList"
            },
            "description": "Returns the attribute associated with this XML object that\n is identified by the specified name.",
            "deprecated": false
          },
          "attributes": {
            "name": "attributes",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMList of the attributes in this XML Object."
            },
            "description": "Returns an XMList of the attributes in this XML Object.",
            "deprecated": false
          },
          "child": {
            "name": "child",
            "args": [
              {
                "name": "propertyName",
                "description": "the property name representing the children of this XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "an XMLList of children that match the property name parameter."
            },
            "description": "Returns the children of the XML object based on the specified\n property name.",
            "deprecated": false
          },
          "childIndex": {
            "name": "childIndex",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the index of this XML object in the context of its parent, or -1 if this object has no parent."
            },
            "description": "Identifies the zero-based index of this XML object within\n the context of its parent, or -1 if this object has no parent.",
            "deprecated": false
          },
          "children": {
            "name": "children",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing the children of this XML object."
            },
            "description": "Returns an XMLList containing the children of this XML object, maintaing\n the sequence in which they appear.",
            "deprecated": false
          },
          "comments": {
            "name": "comments",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "properties of the XML object that contain comments."
            },
            "description": "Returns the properties of the XML object that contain comments.",
            "deprecated": false
          },
          "contains": {
            "name": "contains",
            "args": [
              {
                "name": "value",
                "description": "the object to locate in this XML object.",
                "class": {
                  "name": "XML"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if this XML object contains the specified XML object, false otherwise."
            },
            "description": "Returns true if this XML object contains the specified\n XML object, false otherwise.",
            "deprecated": false
          },
          "copy": {
            "name": "copy",
            "args": [],
            "class": {
              "name": "XML",
              "description": "the copy of the object."
            },
            "description": "Returns a copy of the this XML object including\n duplicate copies of the entire tree of nodes.\n The copied XML object has no parent.",
            "deprecated": false
          },
          "defaultSettings": {
            "name": "defaultSettings",
            "args": [],
            "static": true,
            "class": {
              "name": "Object",
              "description": "an Object with properties set to the default settings."
            },
            "description": "Returns a new Object with the following properties set to the default values:\n ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent,\n and prettyPrinting. The default values are as follows:\n \n ignoreComments = true\n ignoreProcessingInstructions = true\n ignoreWhitespace = true\n prettyIndent = 2\n prettyPrinting = true\n \n\n Be aware that this method does not apply the settings to an existing instance\n of an XML object. Instead, this method returns an Object containing the\n default settings.",
            "deprecated": false
          },
          "descendants": {
            "name": "descendants",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "a list of all descendents of the XML object."
            },
            "description": "Returns all descendents of the XML object.",
            "deprecated": false
          },
          "descendants0": {
            "name": "descendants",
            "args": [
              {
                "name": "name",
                "description": "the name of the element to match. To return all descendents, use * as the name parameter.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "a list of all descendents constrained by the name parameter."
            },
            "description": "Returns all descendents of the XML object that\n have the specified name parameter. To return all descendents,\n use * as the name parameter.",
            "deprecated": false
          },
          "elements": {
            "name": "elements",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": ""
            },
            "description": "Returns a list of all of the elements of the XML object.",
            "deprecated": false
          },
          "elements0": {
            "name": "elements",
            "args": [
              {
                "name": "name",
                "description": "the name of the elements to return or an * to return all elements.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "a list of the elements of the XML object using the specified name to constrain the list."
            },
            "description": "Returns a list of the elements of the XML object using the\n specified name to constrain the list. name can be a\n QName, String, or any other data type that will be converted\n to a string prior to performing the search for elements of that\n name.\n\n To list all objects use * for the value of name.",
            "deprecated": false
          },
          "hasComplexContent": {
            "name": "hasComplexContent",
            "args": [],
            "class": {
              "name": "boolean",
              "description": "a Boolean value indicating whether this XML object contains complex content."
            },
            "description": "Returns a Boolean value indicating whether\n this XML object contains complex content. An XML object is considered\n to contain complex content if it represents an XML element that has\n child elements. XML objects representing attributes, comments, processing\n instructions and text nodes do not have complex content. The existence of\n attributes, comments, processing instructions and text nodes within an XML\n object is not significant in determining if it has complex content.",
            "deprecated": false
          },
          "hasOwnProperty0": {
            "name": "hasOwnProperty",
            "args": [
              {
                "name": "prop",
                "description": "the property to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the property exists, false otherwise."
            },
            "description": "Returns a Boolean value indicating whether this object has the\n property specified by prop.",
            "deprecated": false
          },
          "hasSimpleContent": {
            "name": "hasSimpleContent",
            "args": [],
            "class": {
              "name": "boolean",
              "description": "a Boolean value indicating whether this XML object contains simple content."
            },
            "description": "Returns a Boolean value indicating whether this XML object contains\n simple content. An XML object is considered to contain simple\n content if it represents a text node, represents an attribute node\n or if it represents an XML element that has no child elements. XML\n objects representing comments and processing instructions do not\n have simple content. The existence of attributes, comments,\n processing instructions and text nodes within an XML object is not\n significant in determining if it has simple content.",
            "deprecated": false
          },
          "inScopeNamespaces": {
            "name": "inScopeNamespaces",
            "args": [],
            "class": {
              "name": "Array",
              "description": "an Array of Namespace objects representing the namespaces in scope for this XML object in the context of its parent."
            },
            "description": "Returns an Array of Namespace objects representing the namespaces\n in scope for this XML object in the context of its parent. If the\n parent of this XML object is modified, the associated namespace\n declarations may change. The set of namespaces returned by this\n method may be a super set of the namespaces used by this value",
            "deprecated": false
          },
          "insertChildAfter": {
            "name": "insertChildAfter",
            "args": [
              {
                "name": "child1",
                "description": "the child after which child2 is inserted.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "child2",
                "description": "the child to insert into this XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the updated XML object."
            },
            "description": "Inserts the specified child2 after the specified child1\n in this XML object and returns this XML object. If child1 is null,\n inserts child2 before all children of\n this XML object. If child1 does not exist\n in this XML object, it returns without modifying this XML object.",
            "deprecated": false
          },
          "insertChildBefore": {
            "name": "insertChildBefore",
            "args": [
              {
                "name": "child1",
                "description": "the child before which child2 is inserted.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              },
              {
                "name": "child2",
                "description": "the child to insert into this XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the updated XML object."
            },
            "description": "Inserts the specified child2 before the specified child1\n in this XML object and returns this XML object. If child1 is null,\n inserts child2 after all children of\n this XML object. If child1 does not exist\n in this XML object, it returns without modifying this XML object.",
            "deprecated": false
          },
          "length": {
            "name": "length",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the value of 1."
            },
            "description": "Returns a value of 1 for XML objects.",
            "deprecated": false
          },
          "localName": {
            "name": "localName",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the local name as either a String or null."
            },
            "description": "Returns the local name portion of the qualified name of the XML object.",
            "deprecated": false
          },
          "name": {
            "name": "name",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the qualified name as either a QName or null."
            },
            "description": "Returns the qualified name for the XML object.",
            "deprecated": false
          },
          "namespace": {
            "name": "namespace",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the namespace associated with the qualified name of this XML object."
            },
            "description": "Returns the namespace associated with the qualified name\n of this XML object.",
            "deprecated": false
          },
          "namespace0": {
            "name": "namespace",
            "args": [
              {
                "name": "prefix",
                "description": "the prefix to use when attempting to locate a namespace.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "Object",
              "description": "the namespace that matches the specified prefix and that is in scope for the XML object. If specified namespace does not exist, the method returns undefined."
            },
            "description": "Returns the namespace that matches the specified prefix and\n that is in scope for the XML object. if there is no such\n namespace, the method returns undefined.",
            "deprecated": false
          },
          "namespaceDeclarations": {
            "name": "namespaceDeclarations",
            "args": [],
            "class": {
              "name": "Array",
              "description": "an Array of namespace declarations associated with the XML Obnject in the context of its parent."
            },
            "description": "Returns an Array of namespace declarations associated\n with the XML Obnject in the context of its parent.",
            "deprecated": false
          },
          "nodeKind": {
            "name": "nodeKind",
            "args": [],
            "class": {
              "name": "String",
              "description": "the type of the XML object."
            },
            "description": "Returns the type of the XML object, such\n as text, comment, processing-instruction,\n or attribute.",
            "deprecated": false
          },
          "normalize": {
            "name": "normalize",
            "args": [],
            "class": {
              "name": "XML",
              "description": "the normalized XML object."
            },
            "description": "Merges adjacent text nodes and eliminates and eliminates\n empty text nodes for this XML object and all its\n descendents.",
            "deprecated": false
          },
          "parent": {
            "name": "parent",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the parent of the XML object of null if the XML object does not have a parent."
            },
            "description": "Returns the parent of the XML object\n or null if the XML object does not have\n a parent.",
            "deprecated": false
          },
          "prependChild": {
            "name": "prependChild",
            "args": [
              {
                "name": "value",
                "description": "the child to prepend to this XML object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the XML object updated with the prepended child."
            },
            "description": "Inserts the specified child into this XML object\n prior to its existing XML properties and then returns\n this XML object.",
            "deprecated": false
          },
          "processingInstructions": {
            "name": "processingInstructions",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing all the children of this XML object that are processing-instructions."
            },
            "description": "Returns an XMLList containing all the children of this XML object\n that are processing-instructions.",
            "deprecated": false
          },
          "processingInstructions0": {
            "name": "processingInstructions",
            "args": [
              {
                "name": "name",
                "description": "the name representing the processing-instructions you want to retreive.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing all the children of this XML object that are processing-instructions with the specified name."
            },
            "description": "Returns an XMLList containing all the children of this XML object\n that are processing-instructions with the specified name. If you\n use * for the name, all processing-instructions are returned.",
            "deprecated": false
          },
          "propertyIsEnumerable0": {
            "name": "propertyIsEnumerable",
            "args": [
              {
                "name": "property",
                "description": "the property to test.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true when the property can be iterated in a for..in statement, false otherwise."
            },
            "description": "Returns a Boolean indicating whether the specified\n property will be included in the set of properties iterated\n over when this XML object is used in a for..in statement.",
            "deprecated": false
          },
          "removeNamespace": {
            "name": "removeNamespace",
            "args": [
              {
                "name": "ns",
                "description": "the namespace to remove.",
                "class": {
                  "name": "Namespace"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "a copy of this XML object with the namespace removed."
            },
            "description": "Removes the specified namespace from the in scope namespaces\n of this object and all its descendents, then returns a copy of\n this XML object. This method will not remove a namespace from\n an object when it is referenced by that object's QName or\n the ONames of that object's attributes.",
            "deprecated": false
          },
          "replace": {
            "name": "replace",
            "args": [
              {
                "name": "propertyName",
                "description": "a numeric property name, an unqualified name for a set of XML elements, a qualified name for a set of XML elements or the properties wildcard *.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              },
              {
                "name": "value",
                "description": "an XML object, XMLList object or any value that may be converted to a String.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the updated XML object."
            },
            "description": "Replaces the XML properties of this XML object specified by\n propertyName with value and returns this\n updated XML object. If this XML object contains no properties\n that match propertyName, the replace method returns without\n modifying this XML object.\n\n The propertyName parameter may be a numeric property name,\n an unqualified name for a set of XML elements, a qualified\n name for a set of XML elements or the properties wildcard *.\n\n When the propertyName parameter is an unqualified name,\n it identifies XML elements in the default namespace. The value\n parameter may be an XML object, XMLList object or any value\n that may be converted to a String.",
            "deprecated": false
          },
          "setChildren": {
            "name": "setChildren",
            "args": [
              {
                "name": "value",
                "description": "a single XML object or an XMLList.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XML",
              "description": "the updated XML object."
            },
            "description": "Replaces the XML properties of this XML object\n with a new set of XML properties from value.",
            "deprecated": false
          },
          "setLocalName": {
            "name": "setLocalName",
            "args": [
              {
                "name": "name",
                "description": "the new local name.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Replaces the local name of this XML object with\n a string constructed from the specified name.",
            "deprecated": false
          },
          "setName": {
            "name": "setName",
            "args": [
              {
                "name": "name",
                "description": "the new name of this XML object.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Replaces the name of this XML object with a\n QName or AttributeName constructed from the specified\n name.",
            "deprecated": false
          },
          "setNamespace": {
            "name": "setNamespace",
            "args": [
              {
                "name": "ns",
                "description": "the namespace to associated with the name of thix XML object.",
                "class": {
                  "name": "Namespace"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Replaces the namespace associated with the name of\n this XML object with the specified namespace.",
            "deprecated": false
          },
          "setSettings": {
            "name": "setSettings",
            "args": [],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Restores the default settings for the following XML\n properties:\n \n XML.ignoreComments = true\n XML.ignoreProcessingInstructions = true\n XML.ignoreWhitespace = true\n XML.prettyIndent = 2\n XML.prettyPrinting = true",
            "deprecated": false
          },
          "setSettings0": {
            "name": "setSettings",
            "args": [
              {
                "name": "settings",
                "description": "an object with each of the following properties: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent, and prettyPrinting.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "static": true,
            "class": {
              "name": "void",
              "description": ""
            },
            "description": "Updates the collection of global XML properties:\n ignoreComments, ignoreProcessingInstructions, ignoreWhitespace,\n prettyPrinting, prettyIndent, and prettyPrinting.",
            "deprecated": false
          },
          "settings": {
            "name": "settings",
            "args": [],
            "static": true,
            "class": {
              "name": "Object",
              "description": "an object with each of the following properties: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent, and prettyPrinting."
            },
            "description": "Returns the collection of global XML properties:\n ignoreComments, ignoreProcessingInstructions, ignoreWhitespace,\n prettyPrinting, prettyIndent, and prettyPrinting.",
            "deprecated": false
          },
          "text": {
            "name": "text",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing all XML properties of this XML object that represent XML text nodes."
            },
            "description": "Returns returns an XMLList containing all XML properties of\n this XML object that represent XML text nodes.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the String representation of the XML object."
            },
            "description": "Returns the String representation of the XML object. If the object contains\n  simple content, this method returns a String with tag, attributes, and\n  namespace declarations removed. However, if the object contains complex\n  content, this method returns an XML encoded String representing the entire\n  XML object. If you want to return the entire XML object regardless of\n  content complexity, use the toXMLString() method.",
            "deprecated": false
          },
          "toXMLString": {
            "name": "toXMLString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the string representation of the XML object."
            },
            "description": "Returns a XML-encoded String representation of the XML object, including tag and\n attributed delimiters.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "XML",
              "description": "this XML object."
            },
            "description": "Returns this XML object.",
            "deprecated": false
          }
        }
      },
      "XMLList": {
        "fullClassName": "TopLevel.XMLList",
        "package": "TopLevel",
        "description": "An XMLList object is an ordered collection of properties.\n A XMLList object represents a XML document, an XML fragment,\n or an arbitrary collection of XML objects.\n An individual XML object is the same thing as an XMLList\n containing only that XML object. All operations available\n for the XML object are also available for an XMLList object\n that contains exactly one XML object.",
        "hierarchy": [
          {
            "name": "Object"
          }
        ],
        "constants": {},
        "properties": {},
        "constructors": {
          "XMLList": {
            "name": "XMLList",
            "args": [
              {
                "name": "value",
                "description": "the value to use.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "description": ""
            },
            "description": "Creates a new XMLList object using the\n specified value.",
            "deprecated": false
          }
        },
        "methods": {
          "attribute": {
            "name": "attribute",
            "args": [
              {
                "name": "attributeName",
                "description": "the name of the attribute.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "the value of the attribute as either an XMLList or an empty XMLList"
            },
            "description": "Returns the attribute associated with this XMLList object that\n is identified by the specified name.",
            "deprecated": false
          },
          "attributes": {
            "name": "attributes",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMList of the attributes in this XMLList Object."
            },
            "description": "Returns an XMList of the attributes in this XMLList Object.",
            "deprecated": false
          },
          "child": {
            "name": "child",
            "args": [
              {
                "name": "propertyName",
                "description": "the property name representing the children of this XMLList object.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "an XMLList of children that match the property name parameter."
            },
            "description": "Returns the children of the XMLList object based on the specified\n property name.",
            "deprecated": false
          },
          "children": {
            "name": "children",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing the children of this XMLList object."
            },
            "description": "Returns an XMLList containing the children of this XMLList object, maintaing\n the sequence in which they appear.",
            "deprecated": false
          },
          "comments": {
            "name": "comments",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "properties of the XMLList object that contain comments."
            },
            "description": "Returns the properties of the XMLList object that contain comments.",
            "deprecated": false
          },
          "contains": {
            "name": "contains",
            "args": [
              {
                "name": "value",
                "description": "the object to locate in this XMLList object.",
                "class": {
                  "name": "XML"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if this XMLList object contains the specified XML object, false otherwise."
            },
            "description": "Returns true if this XMLList object contains the specified\n XML object, false otherwise.",
            "deprecated": false
          },
          "copy": {
            "name": "copy",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "the deep copy of the object."
            },
            "description": "Returns a deep copy of the this XMLList object.",
            "deprecated": false
          },
          "descendants": {
            "name": "descendants",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "a list of all descendents of the XML objects in this XMLList object."
            },
            "description": "Calls the descendants() method of each XML object in this XMLList\n object and returns an XMLList containing the\n results concatenated in order.",
            "deprecated": false
          },
          "descendants0": {
            "name": "descendants",
            "args": [
              {
                "name": "name",
                "description": "the name of the element to match. To return all descendents, use * as the name parameter.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "a list of all descendents of the XML objects in this XMLList constrained by the name parameter."
            },
            "description": "Calls the descendants(name) method of each XML object in this XMLList\n object and returns an XMLList containing the\n results concatenated in order.",
            "deprecated": false
          },
          "elements": {
            "name": "elements",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": ""
            },
            "description": "Calls the elements() method in each XML object in this XMLList\n object and returns an XMLList containing the results concatenated in order.",
            "deprecated": false
          },
          "elements0": {
            "name": "elements",
            "args": [
              {
                "name": "name",
                "description": "the name of the elements to return.",
                "class": {
                  "name": "Object"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "a list of all elements of the XML objects in this XMLList constrained by the name parameter."
            },
            "description": "Calls the elements(name) method in each of the XML objects in\n this XMLList object and returns an XMLList containing the results\n concatenated in order. name can be a\n QName, String, or any other data type that will be converted\n to a string prior to performing the search for elements of that\n name.\n\n To list all objects use * for the value of name.",
            "deprecated": false
          },
          "hasComplexContent": {
            "name": "hasComplexContent",
            "args": [],
            "class": {
              "name": "boolean",
              "description": "a Boolean value indicating whether this XMLList object contains complex content."
            },
            "description": "Returns a Boolean value indicating whether\n this XMLList object contains complex content. An XMLList object is considered\n to contain complex content if it is not empty, contains a single XML item\n with complex content or contains elements.",
            "deprecated": false
          },
          "hasOwnProperty0": {
            "name": "hasOwnProperty",
            "args": [
              {
                "name": "prop",
                "description": "the property to locate.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true if the property exists, false otherwise."
            },
            "description": "Returns a Boolean value indicating whether this object has the\n property specified by prop.",
            "deprecated": false
          },
          "hasSimpleContent": {
            "name": "hasSimpleContent",
            "args": [],
            "class": {
              "name": "boolean",
              "description": "a Boolean value indicating whether this XML object contains simple content."
            },
            "description": "Returns a Boolean value indicating whether this XML object contains\n simple content. An XMLList object is considered to contain simple\n content if it is empty, contains a single XML item with simple\n content or contains no elements.",
            "deprecated": false
          },
          "length": {
            "name": "length",
            "args": [],
            "class": {
              "name": "Number",
              "description": "the number of children in this XMLList object."
            },
            "description": "Returns the number of children in this XMLList\n object.",
            "deprecated": false
          },
          "normalize": {
            "name": "normalize",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "the XMLList object containing normailzed objects."
            },
            "description": "Puts all text nodes in this XMLList, all the XML objects it\n contains and the descendents of all the XML objects it\n contains into a normal form by merging adjacent text nodes\n and eliminating empty text nodes.",
            "deprecated": false
          },
          "parent": {
            "name": "parent",
            "args": [],
            "class": {
              "name": "Object",
              "description": "the parent of the XMLList object or null if the XMLList object does not have a parent."
            },
            "description": "Returns the parent of the XMLList object\n or null if the XMLList object does not have\n a parent.",
            "deprecated": false
          },
          "processingInstructions": {
            "name": "processingInstructions",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "an XMLList contaiing the result of calling the processingInstructions() method of each XML object in this XMLList object."
            },
            "description": "Calls the processingInstructions() method of each XML object\n in this XMLList object and returns an XMList containing the results\n in order.",
            "deprecated": false
          },
          "processingInstructions0": {
            "name": "processingInstructions",
            "args": [
              {
                "name": "name",
                "description": "the name representing the processing-instructions you want to retreive.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "XMLList",
              "description": "an XMLList containing the result of calling the processingInstructions(name) method of each XML object in this XMLList object."
            },
            "description": "Calls the processingInstructions(name) method of each XML object\n in this XMLList object and returns an XMList containing the results\n in order.",
            "deprecated": false
          },
          "propertyIsEnumerable0": {
            "name": "propertyIsEnumerable",
            "args": [
              {
                "name": "property",
                "description": "the property to test.",
                "class": {
                  "name": "String"
                },
                "multiple": false
              }
            ],
            "class": {
              "name": "boolean",
              "description": "true when the property can be iterated in a for..in statement, false otherwise."
            },
            "description": "Returns a Boolean indicating whether the specified\n property will be included in the set of properties iterated\n over when this XML object is used in a for..in statement.",
            "deprecated": false
          },
          "text": {
            "name": "text",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "the concatenated results of calling the text() method of every XML object contained in this XMLList."
            },
            "description": "Calls the text() method of each XML object contained\n in this XMLList object and returns an XMLList containing\n the results concatenated in order.",
            "deprecated": false
          },
          "toString0": {
            "name": "toString",
            "args": [],
            "class": {
              "name": "String",
              "description": "the String representation of this XMLList object."
            },
            "description": "Returns the String representation of this XMLList object.",
            "deprecated": false
          },
          "toXMLString": {
            "name": "toXMLString",
            "args": [],
            "class": {
              "name": "String",
              "description": "an XML-encoded String representation of the XMLList object by calling the toXMLString method on each property contained within this XMLList object."
            },
            "description": "Returns an XML-encoded String representation of the XMLList object\n by calling the toXMLString method on each property contained\n within this XMLList object.",
            "deprecated": false
          },
          "valueOf0": {
            "name": "valueOf",
            "args": [],
            "class": {
              "name": "XMLList",
              "description": "this XMLList object."
            },
            "description": "Returns this XMLList object.",
            "deprecated": false
          }
        }
      },
      "XMLStreamError": {
        "fullClassName": "TopLevel.XMLStreamError",
        "package": "TopLevel",
        "description": "This error indicates an XML streaming 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. In particular\n the class informs about the location of the error.",
        "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"
          },
          "xmlColumnNumber": {
            "name": "xmlColumnNumber",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The column number where the error occured.",
            "deprecated": false,
            "type": "property"
          },
          "xmlLineNumber": {
            "name": "xmlLineNumber",
            "class": {
              "name": "Number"
            },
            "static": false,
            "readonly": false,
            "description": "The line where the error occured.",
            "deprecated": false,
            "type": "property"
          }
        },
        "constructors": {
          "XMLStreamError": {
            "name": "XMLStreamError",
            "args": [],
            "class": {
              "description": ""
            },
            "description": "",
            "deprecated": false
          }
        },
        "methods": {}
      },
      "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": {}
        },
        "PercentageDiscount": {
          "fullClassName": "dw.campaign.PercentageDiscount",
          "package": "dw.campaign",
          "description": "Represents a <i>percentage-off</i> discount in the discount plan, for example\n \"10% off all T-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": {
            "PercentageDiscount": {
              "name": "PercentageDiscount",
              "args": [
                {
                  "name": "percentage",
                  "description": "percentage value, e.g. 15.00 for 15%",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a percentage-discount on the fly. Can be used to create a custom price adjustment.",
              "deprecated": false
            }
          },
          "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
            }
          }
        },
        "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
            }
          }
        },
        "Promotion": {
          "fullClassName": "dw.campaign.Promotion",
          "package": "dw.campaign",
          "description": "This class represents a promotion in Commerce Cloud Digital. Examples of\n promotions include:\n\n <ul>\n <li>\"Get 20% off your order\"</li>\n <li>\"$15 off a given product\"</li>\n <li>\"free shipping for all orders over $50\"</li>\n <li>Get a bonus product with purchase of another product</li>\n </ul>\n\n The Promotion class provides access to the basic attributes of the promotion\n such as name, callout message, and description, but the details of the\n promotion rules are not available in the API due to their complexity.\n <p>\n Commerce Cloud Digital allows merchants to create a single logical \"promotion\n rule\" (e.g. \"Get 20% off your order\") and then assign it to one or more\n \"containers\" where the supported container types are campaigns or AB-tests. A\n Promotion represents a specific instance of a promotion rule assigned to a\n container. Promotion rules themselves that are not assigned to any container\n are inaccessible through the API. Each instance (i.e. assignment) can have\n separate \"qualifiers\". Qualifiers are the customer groups, source code\n groups, or coupons that trigger a given promotion for a customer.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "EXCLUSIVITY_CLASS": {
              "name": "EXCLUSIVITY_CLASS",
              "value": "\"CLASS\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion exclusivity of type class.",
              "deprecated": false,
              "type": "constant"
            },
            "EXCLUSIVITY_GLOBAL": {
              "name": "EXCLUSIVITY_GLOBAL",
              "value": "\"GLOBAL\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion exclusivity of type global.",
              "deprecated": false,
              "type": "constant"
            },
            "EXCLUSIVITY_NO": {
              "name": "EXCLUSIVITY_NO",
              "value": "\"NO\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion exclusivity of type no.",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_CLASS_ORDER": {
              "name": "PROMOTION_CLASS_ORDER",
              "value": "\"ORDER\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion class of type order.",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_CLASS_PRODUCT": {
              "name": "PROMOTION_CLASS_PRODUCT",
              "value": "\"PRODUCT\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion class of type product.",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_CLASS_SHIPPING": {
              "name": "PROMOTION_CLASS_SHIPPING",
              "value": "\"SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing promotion class of type shipping.",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_MATCH_MODE_ALL": {
              "name": "QUALIFIER_MATCH_MODE_ALL",
              "value": "\"all\"",
              "class": {
                "name": "String"
              },
              "description": "Constant indicating that that all qualifier conditions must be met in\n order for this promotion to apply for a given customer.",
              "deprecated": false,
              "type": "constant"
            },
            "QUALIFIER_MATCH_MODE_ANY": {
              "name": "QUALIFIER_MATCH_MODE_ANY",
              "value": "\"any\"",
              "class": {
                "name": "String"
              },
              "description": "Constant indicating that that at least one qualifier condition must be\n met in order for this promotion to apply for a given customer.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "active": {
              "name": "active",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if promotion is active, otherwise 'false'. \n A promotion is active if its campaign is active, and the promotion\n is enabled, and it is scheduled for now.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnCoupon": {
              "name": "basedOnCoupon",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the promotion is triggered by a coupon,\n false otherwise.",
              "deprecated": true,
              "type": "property"
            },
            "basedOnCoupons": {
              "name": "basedOnCoupons",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the promotion is triggered by coupons,\n false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnCustomerGroups": {
              "name": "basedOnCustomerGroups",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the promotion is triggered by customer groups,\n false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "basedOnSourceCodes": {
              "name": "basedOnSourceCodes",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the promotion is triggered by source codes,\n false otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "calloutMsg": {
              "name": "calloutMsg",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The callout message of the promotion.",
              "deprecated": false,
              "type": "property"
            },
            "campaign": {
              "name": "campaign",
              "class": {
                "name": "Campaign"
              },
              "static": false,
              "readonly": true,
              "description": "The campaign this particular instance of the promotion is defined\n in.\n \n Note: If this promotion is defined as part of an AB-test, then a Campaign\n object will be returned, but it is a mock implementation, and not a true\n 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"
            },
            "combinablePromotions": {
              "name": "combinablePromotions",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion's combinable promotions. Combinable promotions is a set of promotions or groups this\n promotion can be combined with.",
              "deprecated": false,
              "type": "property"
            },
            "conditionalDescription": {
              "name": "conditionalDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "A description of the condition that must be met for this\n promotion to be applicable.\n \n The method and the related attribute have been deprecated. Use the\n getDetails() method instead.",
              "deprecated": true,
              "type": "property"
            },
            "coupons": {
              "name": "coupons",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The coupons directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on coupons (see isBasedOnCoupons()), or no coupons is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for this extensible object.",
              "deprecated": false,
              "type": "property"
            },
            "customerGroups": {
              "name": "customerGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The customer groups directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on customer groups (see isBasedOnCustomerGroups()), or no customer group is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the promotion.\n \n Method is deprecated and returns the same value as getCalloutMsg().",
              "deprecated": true,
              "type": "property"
            },
            "details": {
              "name": "details",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The detailed description of the promotion.",
              "deprecated": false,
              "type": "property"
            },
            "enabled": {
              "name": "enabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if promotion is enabled, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "endDate": {
              "name": "endDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The effective end date of this instance of the promotion. If no\n explicit end date is defined for the promotion, the end date of the\n containing Campaign or AB-test is returned.",
              "deprecated": false,
              "type": "property"
            },
            "exclusivity": {
              "name": "exclusivity",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion's exclusivity specifying how the promotion can be\n combined with other promotions.\n Possible values are EXCLUSIVITY_NO, EXCLUSIVITY_CLASS\n and EXCLUSIVITY_GLOBAL.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique ID of the promotion.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The reference to the promotion image.",
              "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"
            },
            "mutuallyExclusivePromotions": {
              "name": "mutuallyExclusivePromotions",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion's mutually exclusive Promotions. Mutually exclusive Promotions is a set of promotions or\n groups this promotion cannot be combined with.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the promotion.",
              "deprecated": false,
              "type": "property"
            },
            "promotionClass": {
              "name": "promotionClass",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion class indicating the general type of the promotion.\n Possible values are PROMOTION_CLASS_PRODUCT,\n PROMOTION_CLASS_ORDER, and PROMOTION_CLASS_SHIPPING.",
              "deprecated": false,
              "type": "property"
            },
            "qualifierMatchMode": {
              "name": "qualifierMatchMode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The qualifier matching mode specified by this promotion. A\n promotion may have up to 3 qualifier conditions based on whether it is\n customer-group based, coupon based, and/or source-code based. A promotion\n may require for example that a customer belong to a certain customer\n group and also have a certain coupon in the cart in order for the\n promotion to apply. This method returns QUALIFIER_MATCH_MODE_ALL if it is\n necessary that all the qualifier conditions are satisfied in order for\n this promotion to apply for a given customer. Otherwise, this method\n returns QUALIFIER_MATCH_MODE_ANY indicating that at least of the\n qualifier conditions must be satisfied.\n \n Note: currently QUALIFIER_MATCH_MODE_ALL is only supported for promotions\n assigned to campaigns, and not those assigned to AB-tests.",
              "deprecated": false,
              "type": "property"
            },
            "rank": {
              "name": "rank",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion's rank. Rank is a numeric attribute that you can specify.\n Promotions with a defined rank are calculated before promotions without a defined rank.\n If two promotions have a rank, the one with the lowest rank is calculated first.\n For example, a promotion with rank 10 is calculated before one with rank 30.",
              "deprecated": false,
              "type": "property"
            },
            "refinable": {
              "name": "refinable",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if promotion is refinable, otherwise false.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeGroups": {
              "name": "sourceCodeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The source code groups directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on source code groups (see isBasedOnSourceCodes()), or no source code group is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false,
              "type": "property"
            },
            "startDate": {
              "name": "startDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The effective start date of this instance of the promotion. If no\n explicit start date is defined for this instance, the start date of the\n containing Campaign or AB-test is returned.",
              "deprecated": false,
              "type": "property"
            },
            "tags": {
              "name": "tags",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The promotion's tags. Tags are a way of categorizing and organizing promotions. A promotion can have many\n tags. Tags will be returned in alphabetical order.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCalloutMsg": {
              "name": "getCalloutMsg",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Callout message of the promotion."
              },
              "description": "Returns the callout message of the promotion.",
              "deprecated": false
            },
            "getCampaign": {
              "name": "getCampaign",
              "args": [],
              "class": {
                "name": "Campaign",
                "description": "Campaign of the promotion."
              },
              "description": "Returns the campaign this particular instance of the promotion is defined\n in.\n \n Note: If this promotion is defined as part of an AB-test, then a Campaign\n object will be returned, but it is a mock implementation, and not a true\n Campaign. This behavior is required for backwards compatibility and\n should not be relied upon as it may change in future releases.",
              "deprecated": false
            },
            "getCombinablePromotions": {
              "name": "getCombinablePromotions",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "The promotion's set of combinable promotions."
              },
              "description": "Returns the promotion's combinable promotions. Combinable promotions is a set of promotions or groups this\n promotion can be combined with.",
              "deprecated": false
            },
            "getConditionalDescription": {
              "name": "getConditionalDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Condition promotion description."
              },
              "description": "Returns a description of the condition that must be met for this\n promotion to be applicable.\n \n The method and the related attribute have been deprecated. Use the\n getDetails() method instead.",
              "deprecated": true
            },
            "getCoupons": {
              "name": "getCoupons",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Coupons assigned to promotion in no particular order."
              },
              "description": "Returns the coupons directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on coupons (see isBasedOnCoupons()), or no coupons is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": ""
              },
              "description": "Returns the custom attributes for this extensible object.",
              "deprecated": false
            },
            "getCustomerGroups": {
              "name": "getCustomerGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Customer groups assigned to promotion in no particular order."
              },
              "description": "Returns the customer groups directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on customer groups (see isBasedOnCustomerGroups()), or no customer group is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Description of the promotion."
              },
              "description": "Returns the description of the promotion.\n \n Method is deprecated and returns the same value as getCalloutMsg().",
              "deprecated": true
            },
            "getDetails": {
              "name": "getDetails",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Detailed promotion description."
              },
              "description": "Returns the detailed description of the promotion.",
              "deprecated": false
            },
            "getEndDate": {
              "name": "getEndDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "End date of the promotion, or null if no end date is defined."
              },
              "description": "Returns the effective end date of this instance of the promotion. If no\n explicit end date is defined for the promotion, the end date of the\n containing Campaign or AB-test is returned.",
              "deprecated": false
            },
            "getExclusivity": {
              "name": "getExclusivity",
              "args": [],
              "class": {
                "name": "String",
                "description": "Promotion exclusivity"
              },
              "description": "Returns the promotion's exclusivity specifying how the promotion can be\n combined with other promotions.\n Possible values are EXCLUSIVITY_NO, EXCLUSIVITY_CLASS\n and EXCLUSIVITY_GLOBAL.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the promotion."
              },
              "description": "Returns the unique ID of the promotion.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "Image of the promotion."
              },
              "description": "Returns the reference to the promotion image.",
              "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
            },
            "getMutuallyExclusivePromotions": {
              "name": "getMutuallyExclusivePromotions",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "The promotion's set of mutually exclusive Promotions."
              },
              "description": "Returns the promotion's mutually exclusive Promotions. Mutually exclusive Promotions is a set of promotions or\n groups this promotion cannot be combined with.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "Name of the promotion."
              },
              "description": "Returns the name of the promotion.",
              "deprecated": false
            },
            "getPromotionalPrice": {
              "name": "getPromotionalPrice",
              "args": [
                {
                  "name": "product",
                  "description": "the product to calculate the discount for",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price of the passed product after promotional discount is applied, or Money.NOT_AVAILABLE if any of the restrictions on product or promotion are not met."
              },
              "description": "Returns the promotional price for the specified product. The promotional\n price is only returned if the following conditions are met:\n\n \n this promotion is a product promotion without purchase conditions,\n i.e. is of type 'Without qualifying products'.\n this promotion's discount is Discount.TYPE_AMOUNT,\n Discount.TYPE_PERCENTAGE, Discount.TYPE_FIXED_PRICE, or\n Discount.TYPE_PRICEBOOK_PRICE.\n specified product is one of the discounted products of the\n promotion.\n the product has a valid sales price for quantity 1.0.\n \n\n In all other cases, the method will return Money.NOT_AVAILABLE. It is\n not required that this promotion be an active customer\n promotion.\n\n NOTE: the method might be extended in the future to support more\n promotion types.\n\n To calculate the promotional price, the method uses the current sales\n price of the product for quantity 1.0, and applies the discount\n associated with the promotion to this price. For example, if the product\n price is $14.99, and the promotion discount is 10%, the method will\n return $13.49. If the discount is $2 off, the method will return $12.99.\n If the discount is $10.00 fixed price, the method will return $10.00.",
              "deprecated": false
            },
            "getPromotionalPrice0": {
              "name": "getPromotionalPrice",
              "args": [
                {
                  "name": "product",
                  "description": "the product to calculate the discount for",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                },
                {
                  "name": "optionModel",
                  "description": "the option model to use when calculating",
                  "class": {
                    "name": "ProductOptionModel"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price of the passed product after promotional discount is applied, or Money.NOT_AVAILABLE if any of the restrictions on product or promotion are not met."
              },
              "description": "This method follows the same logic as\n getPromotionalPrice(Product) but prices are calculated based\n on the option values selected in the specified option model.",
              "deprecated": false
            },
            "getPromotionClass": {
              "name": "getPromotionClass",
              "args": [],
              "class": {
                "name": "String",
                "description": "Promotion class or null if the promotion rule has not been configured."
              },
              "description": "Returns the promotion class indicating the general type of the promotion.\n Possible values are PROMOTION_CLASS_PRODUCT,\n PROMOTION_CLASS_ORDER, and PROMOTION_CLASS_SHIPPING.",
              "deprecated": false
            },
            "getQualifierMatchMode": {
              "name": "getQualifierMatchMode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the qualifier matching mode specified by this promotion, either QUALIFIER_MATCH_MODE_ALL or QUALIFIER_MATCH_MODE_ANY."
              },
              "description": "Returns the qualifier matching mode specified by this promotion. A\n promotion may have up to 3 qualifier conditions based on whether it is\n customer-group based, coupon based, and/or source-code based. A promotion\n may require for example that a customer belong to a certain customer\n group and also have a certain coupon in the cart in order for the\n promotion to apply. This method returns QUALIFIER_MATCH_MODE_ALL if it is\n necessary that all the qualifier conditions are satisfied in order for\n this promotion to apply for a given customer. Otherwise, this method\n returns QUALIFIER_MATCH_MODE_ANY indicating that at least of the\n qualifier conditions must be satisfied.\n \n Note: currently QUALIFIER_MATCH_MODE_ALL is only supported for promotions\n assigned to campaigns, and not those assigned to AB-tests.",
              "deprecated": false
            },
            "getRank": {
              "name": "getRank",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The promotion's rank."
              },
              "description": "Returns the promotion's rank. Rank is a numeric attribute that you can specify.\n Promotions with a defined rank are calculated before promotions without a defined rank.\n If two promotions have a rank, the one with the lowest rank is calculated first.\n For example, a promotion with rank 10 is calculated before one with rank 30.",
              "deprecated": false
            },
            "getSourceCodeGroups": {
              "name": "getSourceCodeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Source code groups assigned to promotion in no particular order."
              },
              "description": "Returns the source code groups directly assigned to the promotion or assigned to the campaign of the promotion. \n If the promotion is not based on source code groups (see isBasedOnSourceCodes()), or no source code group is assigned to the\n promotion or its campaign, an empty collection is returned.",
              "deprecated": false
            },
            "getStartDate": {
              "name": "getStartDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "Start date of the promotion, or null if no start date is defined."
              },
              "description": "Returns the effective start date of this instance of the promotion. If no\n explicit start date is defined for this instance, the start date of the\n containing Campaign or AB-test is returned.",
              "deprecated": false
            },
            "getTags": {
              "name": "getTags",
              "args": [],
              "class": {
                "name": "String[]",
                "description": "The promotion's set of tags."
              },
              "description": "Returns the promotion's tags. Tags are a way of categorizing and organizing promotions. A promotion can have many\n tags. Tags will be returned in alphabetical order.",
              "deprecated": false
            },
            "isActive": {
              "name": "isActive",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is active, otherwise false."
              },
              "description": "Returns 'true' if promotion is active, otherwise 'false'. \n A promotion is active if its campaign is active, and the promotion\n is enabled, and it is scheduled for now.",
              "deprecated": false
            },
            "isBasedOnCoupon": {
              "name": "isBasedOnCoupon",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is triggered by coupon, otherwise false."
              },
              "description": "Returns 'true' if the promotion is triggered by a coupon,\n false otherwise.",
              "deprecated": true
            },
            "isBasedOnCoupons": {
              "name": "isBasedOnCoupons",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is triggered by coupons, otherwise false."
              },
              "description": "Returns 'true' if the promotion is triggered by coupons,\n false otherwise.",
              "deprecated": false
            },
            "isBasedOnCustomerGroups": {
              "name": "isBasedOnCustomerGroups",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is triggered by customer groups, otherwise false."
              },
              "description": "Returns 'true' if the promotion is triggered by customer groups,\n false otherwise.",
              "deprecated": false
            },
            "isBasedOnSourceCodes": {
              "name": "isBasedOnSourceCodes",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is triggered by source codes, otherwise false."
              },
              "description": "Returns 'true' if the promotion is triggered by source codes,\n false otherwise.",
              "deprecated": false
            },
            "isEnabled": {
              "name": "isEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is enabled, otherwise false."
              },
              "description": "Returns true if promotion is enabled, otherwise false.",
              "deprecated": false
            },
            "isRefinable": {
              "name": "isRefinable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if promotion is refinable, otherwise false."
              },
              "description": "Returns true if promotion is refinable, otherwise false.",
              "deprecated": false
            }
          }
        },
        "PromotionMgr": {
          "fullClassName": "dw.campaign.PromotionMgr",
          "package": "dw.campaign",
          "description": "<a href=\"class_dw_campaign_PromotionMgr.html\">PromotionMgr</a> is used to access campaigns and promotion\n definitions, display active or upcoming promotions in a storefront, and to\n calculate and apply promotional discounts to line item containers.\n <p>\n To access campaign and promotion definitions, use methods\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getCampaigns_DetailAnchor\">getCampaigns()</a>, <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getCampaign_String_DetailAnchor\">getCampaign(String)</a>,\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getPromotions_DetailAnchor\">getPromotions()</a> and <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getPromotion_String_DetailAnchor\">getPromotion(String)</a>.\n </p><p>\n To display active or upcoming promotions in the storefront, e.g. on product\n pages, various methods are provided. <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getActivePromotions_DetailAnchor\">getActivePromotions()</a> returns\n a <a href=\"class_dw_campaign_PromotionPlan.html\">PromotionPlan</a> with all enabled promotions scheduled for <i>now</i>.\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getActiveCustomerPromotions_DetailAnchor\">getActiveCustomerPromotions()</a> returns a <a href=\"class_dw_campaign_PromotionPlan.html\">PromotionPlan</a> with\n all enabled promotions scheduled for <i>now</i> and applicable for the\n session currency, current customer and active source code.\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getUpcomingPromotions_Number_DetailAnchor\">getUpcomingPromotions(Number)</a> returns a <a href=\"class_dw_campaign_PromotionPlan.html\">PromotionPlan</a> with all\n promotions that are enabled, not scheduled for <i>now</i>, but scheduled for\n any time between <i>now</i> and <i>now + previewTime(hours)</i>.\n </p><p>\n Applying promotions to line item containers is a 3-step process, and\n <a href=\"class_dw_campaign_PromotionMgr.html\">PromotionMgr</a> provides methods supporting each of these steps.\n Convenience methods can be used that execute all three steps at once,\n or the steps can be executed individually if you need to customize\n the output of the steps due to specific business rules. <br>\n </p><ul>\n <li>Step 1 - calculate active customer promotions: Determine the active\n promotions for the session currency, current customer, source code and redeemed coupons.</li>\n <li>Step 2 - calculate applicable discounts: Based on the active promotions\n determined in step 1, applicable discounts are calculated.</li>\n <li>Step 3 - apply discounts: applicable discounts are applied to a line\n item container by creating price adjustment line items.</li>\n </ul>\n <p>\n The simpliest way to execute steps 1-3 is to use method\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_applyDiscounts_LineItemCtnr_DetailAnchor\">applyDiscounts(LineItemCtnr)</a>. The method identifies all active\n customer promotions, calculates and applies applicable discounts.\n </p><p>\n Due to specific business rules it might be necessary to manipulate\n the set of applicable discounts calculated by the promotion engine\n before applying them to the line item container. To implement such a scenario,\n you want to use method <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getDiscounts_LineItemCtnr_DetailAnchor\">getDiscounts(LineItemCtnr)</a>, which\n identifies all active customer promotions, and calculates and returns\n applicable discounts in an instance of <a href=\"class_dw_campaign_DiscountPlan.html\">DiscountPlan</a>. The discount\n plan contains a description for all applicable discounts for the specified line\n item container, and you can remove discounts from it if necessary.\n The customized discount plan can then be passed on for application by\n using method <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_applyDiscounts_DiscountPlan_DetailAnchor\">applyDiscounts(DiscountPlan)</a>.\n </p><p>\n Due to specific business rules it might be necessary to manipulate the\n set of active customer promotions before calculating applicable discounts\n from it. For example, you might want to add promotions to the\n plan or remove promotions from it.\n You want to use method <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getActiveCustomerPromotions_DetailAnchor\">getActiveCustomerPromotions()</a>, which\n identifies all active customer promotions and returns an instance of\n <a href=\"class_dw_campaign_PromotionPlan.html\">PromotionPlan</a>. You can add promotions to the promotion plan\n or remove promotions from the plan. The customized promotion plan can then be\n passed on to calculate applicable discounts by using method\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getDiscounts_LineItemCtnr_PromotionPlan_DetailAnchor\">getDiscounts(LineItemCtnr, PromotionPlan)</a>.<br>\n </p><p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "activeCustomerPromotions": {
              "name": "activeCustomerPromotions",
              "class": {
                "name": "PromotionPlan"
              },
              "static": true,
              "readonly": true,
              "description": "All promotions scheduled for now and applicable for the\n session currency, current customer, source code, or presented coupons.\n\n The active promotions are returned in an instance of\n PromotionPlan. The promotion plan contains all\n promotions assigned to any customer group of the current customer, the\n current source code, or coupons in the current session basket.",
              "deprecated": false,
              "type": "property"
            },
            "activePromotions": {
              "name": "activePromotions",
              "class": {
                "name": "PromotionPlan"
              },
              "static": true,
              "readonly": true,
              "description": "All promotions scheduled for now, and applicable for the\n session currency but regardless of current customer or source code.\n The active promotions are returned in an instance of PromotionPlan.",
              "deprecated": false,
              "type": "property"
            },
            "campaigns": {
              "name": "campaigns",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All campaigns of the current site in no specific order.",
              "deprecated": false,
              "type": "property"
            },
            "promotions": {
              "name": "promotions",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All promotions of the current site in no specific order.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "applyDiscounts": {
              "name": "applyDiscounts",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "Line item ctnr to apply promotions on",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Identifies active promotions, calculates the applicable\n discounts from these promotions and applies these discounts to the\n specified line item container.\n \n As a result of this method, the specified line item container\n contains price adjustments and/or bonus product line items for\n all applicable discounts. The method also removes price\n adjustment and/or bonus product line items from the line item\n container if the related to promotions/discounts are no longer\n applicable.",
              "deprecated": false
            },
            "applyDiscounts0": {
              "name": "applyDiscounts",
              "args": [
                {
                  "name": "discountPlan",
                  "description": "Discount plan to apply to associated line item container",
                  "class": {
                    "name": "DiscountPlan"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Applies the discounts contained in the specified discount plan\n to the line item container associated with the discount\n plan. \n \n As a result of this method, the specified line item container\n contains price adjustments and/or bonus product line items for\n all discounts contained in the specified discount plan.\n The method also removes price adjustment and/or bonus product line items\n from the line item container if the specified discount plan does not\n contain the related discount.\n \n Note that the method does not evaluate if the discounts in the specified\n discount plan are applicable nor that the promotions related to these\n discounts are active.",
              "deprecated": false
            },
            "getActiveCustomerPromotions": {
              "name": "getActiveCustomerPromotions",
              "args": [],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with active customer promotions"
              },
              "description": "Returns all promotions scheduled for now and applicable for the\n session currency, current customer, source code, or presented coupons.\n\n The active promotions are returned in an instance of\n PromotionPlan. The promotion plan contains all\n promotions assigned to any customer group of the current customer, the\n current source code, or coupons in the current session basket.",
              "deprecated": false
            },
            "getActiveCustomerPromotionsForCampaign": {
              "name": "getActiveCustomerPromotionsForCampaign",
              "args": [
                {
                  "name": "campaign",
                  "description": "The campaign, must not be null or an exception is thrown.",
                  "class": {
                    "name": "Campaign"
                  },
                  "multiple": false
                },
                {
                  "name": "from",
                  "description": "The start of the date range to consider. If null, this signifies an open ended time period.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "The end of the date range to consider. If null, this signifies an open ended time period.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with promotions matching all the criteria."
              },
              "description": "Returns all promotions assigned to the passed campaign, which are active\n at some point within the specified date range, and are applicable for the\n current customer, source code, or presented coupons. A promotion must be\n active for an actual time period within the passed date range, and not\n just a single point.\n \n The passed campaign and dates must not be null or an exception is thrown.\n It is valid for the from and to dates to be in the past. If an invalid\n time range is specified (i.e. from is after to), the returned\n PromotionPlan will be empty.",
              "deprecated": false
            },
            "getActivePromotions": {
              "name": "getActivePromotions",
              "args": [],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with active promotions"
              },
              "description": "Returns all promotions scheduled for now, and applicable for the\n session currency but regardless of current customer or source code.\n The active promotions are returned in an instance of PromotionPlan.",
              "deprecated": false
            },
            "getActivePromotionsForCampaign": {
              "name": "getActivePromotionsForCampaign",
              "args": [
                {
                  "name": "campaign",
                  "description": "The campaign. Must not be null.",
                  "class": {
                    "name": "Campaign"
                  },
                  "multiple": false
                },
                {
                  "name": "from",
                  "description": "The start of the date range to consider. Must not be null",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "The end of the date range to consider. Must not be null.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with promotions matching all the criteria."
              },
              "description": "Returns all promotions assigned to the passed campaign which are active\n at some point within the specified date range. A promotion must be active\n for an actual time period within the passed date range, and not just a\n single point. A promotion must be applicable for the session currency.\n \n This method considers only the enabled flags and time conditions of the\n promotion and campaign. It does not consider whether the current customer\n satisfies the qualifiers of the promotion (customer group, source code,\n or coupon).\n \n The passed campaign and dates must not be null or an exception is thrown.\n It is valid for the from and/or to dates to be in the past. If an invalid\n time range is specified (i.e. from is after to), the returned\n PromotionPlan will be empty.",
              "deprecated": false
            },
            "getCampaign": {
              "name": "getCampaign",
              "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": false
            },
            "getCampaigns": {
              "name": "getCampaigns",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "All campaigns of current site"
              },
              "description": "Returns all campaigns of the current site in no specific order.",
              "deprecated": false
            },
            "getDiscounts": {
              "name": "getDiscounts",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "Line item container",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "DiscountPlan",
                "description": "Discount plan with applicable discounts"
              },
              "description": "Returns the discounts applicable for the current customer, active\n source code and specified line item container. \n\n This method identifies all active  promotions assigned to the customer\n groups of the current customer, the active source code and any coupon\n contained in the specified line item container, and calculates applicable\n discounts from these promotions.\n \n The applicable discounts are contained in the returned instance of\n DiscountPlan.",
              "deprecated": false
            },
            "getDiscounts0": {
              "name": "getDiscounts",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "Line item container",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                },
                {
                  "name": "promotionPlan",
                  "description": "Promotion plan with active promotions",
                  "class": {
                    "name": "PromotionPlan"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "DiscountPlan",
                "description": "Discount plan with applicable discounts"
              },
              "description": "Returns the discounts applicable for the current customer, active\n source code and specified line item container, based on the specified\n promotion plan. \n\n This method calculates applicable discounts from the promotions in the\n specified promotion plan. Note that any promotion in the promotion\n plan that is inactive, or not applicable for the current customer\n or source code, is being ignored.\n \n The applicable discounts are contained in the returned instance of\n DiscountPlan.",
              "deprecated": false
            },
            "getPromotion": {
              "name": "getPromotion",
              "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. The same logical\n promotion may be assigned to multiple campaigns or AB-tests. In this\n case, the system returns the instance of highest rank. Some attributes of\n the returned Promotion may vary based on exactly which instance is\n returned. This method returns null if there is no promotion in the system\n with the given ID, or if a promotion with the given ID exists but it is\n not assigned to any campaign or AB-test.",
              "deprecated": false
            },
            "getPromotions": {
              "name": "getPromotions",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "All promotions of current site"
              },
              "description": "Returns all promotions of the current site in no specific order.",
              "deprecated": false
            },
            "getUpcomingCustomerPromotions": {
              "name": "getUpcomingCustomerPromotions",
              "args": [
                {
                  "name": "previewTime",
                  "description": "Preview time in hours",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with active promotions"
              },
              "description": "Returns all promotions currently inactive, but scheduled\n for any time between now and now + previewTime(hours),\n and which are applicable based on the current customer, source code, and\n coupons in the current basket.\n The parameter previewTime specifies for how many hours promotions\n should be previewed.",
              "deprecated": false
            },
            "getUpcomingPromotions": {
              "name": "getUpcomingPromotions",
              "args": [
                {
                  "name": "previewTime",
                  "description": "Preview time in hours",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PromotionPlan",
                "description": "PromotionPlan with active promotions"
              },
              "description": "Returns all promotions currently inactive, but scheduled\n for any time between now and now + previewTime(hours). \n The upcoming promotions are returned in an instance of\n PromotionPlan and might not necessarily be applicable for\n the current customer or source code. \n The parameter previewTime specifies for how many hours promotions\n should be previewed.",
              "deprecated": false
            }
          }
        },
        "PromotionPlan": {
          "fullClassName": "dw.campaign.PromotionPlan",
          "package": "dw.campaign",
          "description": "PromotionPlan represents a set of <a href=\"class_dw_campaign_Promotion.html\">Promotion</a> instances and\n is used to display active or upcoming promotions on storefront pages, or to\n pass it to the <a href=\"class_dw_campaign_PromotionMgr.html\">PromotionMgr</a> to calculate a\n <a href=\"class_dw_campaign_DiscountPlan.html\">DiscountPlan</a> and subsequently apply discounts to a line\n item container. Instances of the class are returned by the\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getActivePromotions_DetailAnchor\">PromotionMgr.getActivePromotions()</a>,\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getActiveCustomerPromotions_DetailAnchor\">PromotionMgr.getActiveCustomerPromotions()</a> and\n <a href=\"class_dw_campaign_PromotionMgr.html#dw_campaign_PromotionMgr_getUpcomingPromotions_Number_DetailAnchor\">PromotionMgr.getUpcomingPromotions(Number)</a>.\n <p>\n PromotionPlan provides methods to access the promotions in the plan and to\n remove promotions from the plan. All methods which return a collection of\n promotions sort them by the following ordered criteria:\n </p><p>\n\n </p><ol>\n <li>Exclusivity: GLOBAL exclusive promotions first, followed by CLASS\n exclusive promotions, and NO exclusive promotions last.</li>\n <li>Rank: sorted ascending</li>\n <li>Promotion Class: PRODUCT promotions first, followed by ORDER promotions,\n and SHIPPING promotions last.</li>\n <li>Discount type: Fixed price promotions first, followed by free,\n amount-off, percentage-off, and bonus product promotions last.</li>\n <li>Best discount: Sorted descending. For example, 30% off comes before 20%\n off.</li>\n <li>ID: alphanumeric ascending.</li>\n </ol>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "SORT_BY_EXCLUSIVITY": {
              "name": "SORT_BY_EXCLUSIVITY",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant indicating that a collection of promotions should be sorted\n first by exclusivity, then rank, promotion class, etc.  See class-level\n javadoc for details.  This is the default sort order for methods that\n return a collection of promotions.",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_BY_START_DATE": {
              "name": "SORT_BY_START_DATE",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Constant indicating that a collection of promotions should be sorted by\n start date ascending. If there is no explicit start date for a promotion\n the start date of its containing Campaign or AB-test is used instead.\n Promotions without a start date are sorted before promotions with a start\n date in the future and after promotions with a start date in the past. In\n case two promotion assignments have the same start date, they are sorted\n by their ID.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "orderPromotions": {
              "name": "orderPromotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All order promotions contained in this plan.",
              "deprecated": false,
              "type": "property"
            },
            "productPromotions": {
              "name": "productPromotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product promotions contained in this plan.",
              "deprecated": false,
              "type": "property"
            },
            "promotions": {
              "name": "promotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All promotions contained in this plan sorted by exclusivity.",
              "deprecated": false,
              "type": "property"
            },
            "shippingPromotions": {
              "name": "shippingPromotions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All shipping promotions contained in this plan.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getOrderPromotions": {
              "name": "getOrderPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of order promotions contained in the promotion plan."
              },
              "description": "Returns all order promotions contained in this plan.",
              "deprecated": false
            },
            "getPaymentCardPromotions": {
              "name": "getPaymentCardPromotions",
              "args": [
                {
                  "name": "paymentCard",
                  "description": "Discounted payment card",
                  "class": {
                    "name": "PaymentCard"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of order promotions associated with the specified payment card."
              },
              "description": "Returns the order promotions explicitly associated to the specified\n discounted payment card.\n \n This method is usually used to display order promotions along with\n payment card choices.",
              "deprecated": false
            },
            "getPaymentMethodPromotions": {
              "name": "getPaymentMethodPromotions",
              "args": [
                {
                  "name": "paymentMethod",
                  "description": "Discounted payment method",
                  "class": {
                    "name": "PaymentMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of order promotions associated with the specified payment method."
              },
              "description": "Returns the order promotions explicitly associated to the specified\n discounted payment method.\n \n This method is usually used to display order promotions along with\n payment method choices.",
              "deprecated": false
            },
            "getProductPromotions": {
              "name": "getProductPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of product promotions contained in the promotion plan."
              },
              "description": "Returns all product promotions contained in this plan.",
              "deprecated": false
            },
            "getProductPromotions0": {
              "name": "getProductPromotions",
              "args": [
                {
                  "name": "product",
                  "description": "Product associated with promotion",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of promotions related to specified discounted product."
              },
              "description": "Returns the promotions related to the specified product. \n The method returns all promotions where the product is either a\n qualifying product, or a discounted product, or both. It also returns\n promotions where the specified product is a bonus product.\n \n This method is usually used to display product promotions on a product\n details page.\n \n If a master product is passed, then this method will return promotions\n which are relevant for the master itself or at least one of its variants.",
              "deprecated": false
            },
            "getProductPromotionsForDiscountedProduct": {
              "name": "getProductPromotionsForDiscountedProduct",
              "args": [
                {
                  "name": "product",
                  "description": "The discounted product.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product promotions related to the specified discounted product."
              },
              "description": "Returns the product promotions for which the specified product is a\n discounted (and possibly also a qualifying) product. It also returns\n promotions where the specified product is a bonus product.\n \n This method is usually used to display product promotions on a product\n details page when separate callout messages are defined depending on if\n the product is a qualifying or discounted product for the promotion.\n \n If a master product is passed, then this method will return promotions\n for which the master product itself or at least one of its product's\n variants is a discounted product.",
              "deprecated": false
            },
            "getProductPromotionsForQualifyingProduct": {
              "name": "getProductPromotionsForQualifyingProduct",
              "args": [
                {
                  "name": "product",
                  "description": "The qualifying product.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product promotions related to the specified qualifying product."
              },
              "description": "Returns the product promotions for which the specified product is a\n qualifying but NOT a discounted product.\n \n This method is usually used to display product promotions on a product\n details page when separate callout messages are defined depending on if\n the product is a qualifying or discounted product for the promotion.\n \n If a master product is passed, then this method will return promotions\n for which the master product itself or at least one of its product's\n variants is a qualifying product.",
              "deprecated": false
            },
            "getPromotions": {
              "name": "getPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of promotions contained in the promotion plan."
              },
              "description": "Returns all promotions contained in this plan sorted by exclusivity.",
              "deprecated": false
            },
            "getPromotions0": {
              "name": "getPromotions",
              "args": [
                {
                  "name": "sortOrder",
                  "description": "the sort order to use. Must be SORT_BY_EXCLUSIVITY or SORT_BY_START_DATE. If an invalid value is passed, SORT_BY_EXCLUSIVITY is used.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of promotions contained in the promotion plan."
              },
              "description": "Returns all promotions contained in this plan sorted according to the\n specified sort order. If the passed sort order is invalid, then the\n returned promotions will be sorted by exclusivity.",
              "deprecated": false
            },
            "getPromotions01": {
              "name": "getPromotions",
              "args": [
                {
                  "name": "product",
                  "description": "Product associated with promotion",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of promotions related to the specified discounted product."
              },
              "description": "Returns the promotions related to the specified product. \n The method returns all promotions where the product is either\n a qualifying product, or a discounted product, or both. It also\n returns promotions where the specified product is a bonus product.\n \n This method is usually used to display product promotions on a\n product details page.",
              "deprecated": true
            },
            "getShippingPromotions": {
              "name": "getShippingPromotions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of shipping promotions contained in promotion plan."
              },
              "description": "Returns all shipping promotions contained in this plan.",
              "deprecated": false
            },
            "getShippingPromotions0": {
              "name": "getShippingPromotions",
              "args": [
                {
                  "name": "shippingMethod",
                  "description": "Discounted shipping method",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The sorted collection of shipping promotions with specified method as discounted method."
              },
              "description": "Returns the shipping promotions related to the specified discounted\n shipping method, i.e. the returned promotions apply a discount on\n the specified shipping method.\n \n This method is usually used to display shipping promotions along with\n shipping methods.",
              "deprecated": false
            },
            "removePromotion": {
              "name": "removePromotion",
              "args": [
                {
                  "name": "promotion",
                  "description": "Promotion to remove from promotion plan",
                  "class": {
                    "name": "Promotion"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Remove promotion from promotion plan. \n Please note that this is the only way to remove promotions from the\n plan, i.e. removing promotions from the collections returned\n by methods such as getProductPromotions() has no effect\n on the promotion plan.",
              "deprecated": false
            }
          }
        },
        "SlotContent": {
          "fullClassName": "dw.campaign.SlotContent",
          "package": "dw.campaign",
          "description": "Represents content for a slot.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "calloutMsg": {
              "name": "calloutMsg",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The callout message for the slot.",
              "deprecated": false,
              "type": "property"
            },
            "content": {
              "name": "content",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of content based on the content type\n for the slot. The collection will include one of the following\n types: Product, Content, Category, or MarkupText.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes for the slot.",
              "deprecated": false,
              "type": "property"
            },
            "recommenderName": {
              "name": "recommenderName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The recommender name for slot configurations of type 'Recommendation'",
              "deprecated": false,
              "type": "property"
            },
            "slotID": {
              "name": "slotID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique slot ID.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCalloutMsg": {
              "name": "getCalloutMsg",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Callout message of the slot."
              },
              "description": "Returns the callout message for the slot.",
              "deprecated": false
            },
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All content of the slot."
              },
              "description": "Returns a collection of content based on the content type\n for the slot. The collection will include one of the following\n types: Product, Content, Category, or MarkupText.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "Map",
                "description": "Custom attributes of the slot."
              },
              "description": "Returns the custom attributes for the slot.",
              "deprecated": false
            },
            "getRecommenderName": {
              "name": "getRecommenderName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the recommender name for slot configurations of type 'Recommendation'"
              },
              "description": "Returns the recommender name for slot configurations of type 'Recommendation'",
              "deprecated": false
            },
            "getSlotID": {
              "name": "getSlotID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the slot."
              },
              "description": "Returns the unique slot ID.",
              "deprecated": false
            }
          }
        },
        "SourceCodeGroup": {
          "fullClassName": "dw.campaign.SourceCodeGroup",
          "package": "dw.campaign",
          "description": "A source code group defines a collection of source codes. Source code groups\n are generally pattern based and any source code satisfying the pattern\n belongs to the group. In this way, merchants may define a large set of source\n codes which qualify a customer for site experiences (different prices, for\n example), which customers without that source code do not receive.\n The class <a href=\"class_dw_campaign_SourceCodeInfo.html\">SourceCodeInfo</a> represents an individual source\n code.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the SourceCodeGroup.",
              "deprecated": false,
              "type": "property"
            },
            "priceBooks": {
              "name": "priceBooks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A Collection of PriceBooks the SourceCodeGroup is assigned to.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID."
              },
              "description": "The ID of the SourceCodeGroup.",
              "deprecated": false
            },
            "getPriceBooks": {
              "name": "getPriceBooks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of PriceBooks the SourceCodeGroup is assigned to."
              },
              "description": "Returns a Collection of PriceBooks the SourceCodeGroup is assigned to.",
              "deprecated": false
            }
          }
        },
        "SourceCodeInfo": {
          "fullClassName": "dw.campaign.SourceCodeInfo",
          "package": "dw.campaign",
          "description": "Class representing a code (i.e. a \"source code\") that has been applied to a\n customer's session. Source codes can qualify customers for different\n campaigns, promotions, and other site experiences from those that the typical\n customer sees. Codes are organized into source code groups.\n <p>\n Typically, a code is applied to a customer's session automatically by\n Commerce Cloud Digital when a customer accesses a Digital URL with a well\n known request parameter in the querystring.  A code may also be explicitly\n applied to a customer session using the <code>SetSourceCode</code>\n pipelet.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "STATUS_ACTIVE": {
              "name": "STATUS_ACTIVE",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "The literal source-code is found and currently active.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_INACTIVE": {
              "name": "STATUS_INACTIVE",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "The literal source-code is found but not active.",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_INVALID": {
              "name": "STATUS_INVALID",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "The literal source-code is not found in the system.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "code": {
              "name": "code",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The literal source-code.",
              "deprecated": false,
              "type": "property"
            },
            "group": {
              "name": "group",
              "class": {
                "name": "SourceCodeGroup"
              },
              "static": false,
              "readonly": true,
              "description": "The associated source-code group.",
              "deprecated": false,
              "type": "property"
            },
            "redirect": {
              "name": "redirect",
              "class": {
                "name": "URLRedirect"
              },
              "static": false,
              "readonly": true,
              "description": "Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). If none exists,\n then the redirect information is retrieved from the source-code preferences, based on the active/inactive status\n of the SourceCodeGroup. The redirect information is then resolved to the output URL. If the redirect information\n cannot be resolved to a URL, or there is an error retrieving the preferences, then null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status of the source-code.  One of the following:\n STATUS_INVALID - The source code is not found in the system.\n STATUS_INACTIVE - The source code is found but not active.\n STATUS_INACTIVE - The source code is found and active.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCode": {
              "name": "getCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the source-code."
              },
              "description": "The literal source-code.",
              "deprecated": false
            },
            "getGroup": {
              "name": "getGroup",
              "args": [],
              "class": {
                "name": "SourceCodeGroup",
                "description": "the source-code group."
              },
              "description": "The associated source-code group.",
              "deprecated": false
            },
            "getRedirect": {
              "name": "getRedirect",
              "args": [],
              "class": {
                "name": "URLRedirect",
                "description": "URLRedirect containing the location and status code, null in case of no redirect was found"
              },
              "description": "Retrieves the redirect information from the last processed SourceCodeGroup (active or inactive). If none exists,\n then the redirect information is retrieved from the source-code preferences, based on the active/inactive status\n of the SourceCodeGroup. The redirect information is then resolved to the output URL. If the redirect information\n cannot be resolved to a URL, or there is an error retrieving the preferences, then null is returned.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the status."
              },
              "description": "The status of the source-code.  One of the following:\n STATUS_INVALID - The source code is not found in the system.\n STATUS_INACTIVE - The source code is found but not active.\n STATUS_INACTIVE - The source code is found and active.",
              "deprecated": false
            }
          }
        },
        "SourceCodeStatusCodes": {
          "fullClassName": "dw.campaign.SourceCodeStatusCodes",
          "package": "dw.campaign",
          "description": "Helper class which contains error result codes returned by the SetSourceCode\n pipelet.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CODE_INACTIVE": {
              "name": "CODE_INACTIVE",
              "value": "\"CODE_INACTIVE\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the specified source code was found in one or more\n source-code groups, none of which are active.",
              "deprecated": false,
              "type": "constant"
            },
            "CODE_INVALID": {
              "name": "CODE_INVALID",
              "value": "\"CODE_INVALID\"",
              "class": {
                "name": "String"
              },
              "description": "Indicates that the specified source code is not contained\n in any source-code group.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "SourceCodeStatusCodes": {
              "name": "SourceCodeStatusCodes",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "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
            }
          }
        },
        "ProductMgr": {
          "fullClassName": "dw.catalog.ProductMgr",
          "package": "dw.catalog",
          "description": "Provides helper methods for getting products based on Product ID or <a href=\"class_dw_catalog_Catalog.html\">Catalog</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "getProduct": {
              "name": "getProduct",
              "args": [
                {
                  "name": "productID",
                  "description": "the product identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Product",
                "description": "Product for specified id or null"
              },
              "description": "Returns the product with the specified id.",
              "deprecated": false
            },
            "queryAllSiteProducts": {
              "name": "queryAllSiteProducts",
              "args": [],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "Iterator of all site products"
              },
              "description": "Returns all products assigned to the current site.\n \n A product is assigned to a site if \n \n it is assigned to at least one category of the site catalog or\n it is a variant and it's master product is assigned to the current site\n \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
            },
            "queryAllSiteProductsSorted": {
              "name": "queryAllSiteProductsSorted",
              "args": [],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "Iterator of all site products sorted by product ID."
              },
              "description": "Returns all products assigned to the current site.\n \n Works like queryAllSiteProducts(), but additionally sorts the result set\n by product ID.\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
            },
            "queryProductsInCatalog": {
              "name": "queryProductsInCatalog",
              "args": [
                {
                  "name": "catalog",
                  "description": "The catalog whose assigned products should be returned.",
                  "class": {
                    "name": "Catalog"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "Iterator of all products assigned to specified catalog."
              },
              "description": "Returns all products assigned to the the specified catalog, where\n assignment has the same meaning as it does for queryAllSiteProducts().\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
            },
            "queryProductsInCatalogSorted": {
              "name": "queryProductsInCatalogSorted",
              "args": [
                {
                  "name": "catalog",
                  "description": "The catalog whose assigned products should be returned.",
                  "class": {
                    "name": "Catalog"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "Iterator of all products assigned to specified catalog sorted by product ID."
              },
              "description": "Returns all products assigned to the the specified catalog.\n Works like queryProductsInCatalog(), but additionally sorts the result\n set by product ID.\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
            }
          }
        },
        "ProductOption": {
          "fullClassName": "dw.catalog.ProductOption",
          "package": "dw.catalog",
          "description": "Represents a product option.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "defaultValue": {
              "name": "defaultValue",
              "class": {
                "name": "ProductOptionValue"
              },
              "static": false,
              "readonly": true,
              "description": "The default value for the product option.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product option's short description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product option's display name in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "htmlName": {
              "name": "htmlName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An HTML representation of the option id.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product option ID.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The product option's image.",
              "deprecated": false,
              "type": "property"
            },
            "optionValues": {
              "name": "optionValues",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection containing the product option values.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDefaultValue": {
              "name": "getDefaultValue",
              "args": [],
              "class": {
                "name": "ProductOptionValue",
                "description": "the object for the relation 'defaultValue'"
              },
              "description": "Returns the default value for the product option.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the short description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the product option's short description in the current locale.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the display name in the current locale, or null if it wasn't found."
              },
              "description": "Returns the product option's display name in the current locale.",
              "deprecated": false
            },
            "getHtmlName": {
              "name": "getHtmlName",
              "args": [],
              "class": {
                "name": "String",
                "description": "an HTML representation of the option id."
              },
              "description": "Returns an HTML representation of the option id.",
              "deprecated": false
            },
            "getHtmlName0": {
              "name": "getHtmlName",
              "args": [
                {
                  "name": "prefix",
                  "description": "a custom prefix for the html name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "an HTML representation of the option id."
              },
              "description": "Returns an HTML representation of the option id with the custom prefix.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the product option identifier."
              },
              "description": "Returns the product option ID.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the product option's image."
              },
              "description": "Returns the product option's image.",
              "deprecated": false
            },
            "getOptionValues": {
              "name": "getOptionValues",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection containing the product option values."
              },
              "description": "Returns a collection containing the product option values.",
              "deprecated": false
            }
          }
        },
        "ProductOptionModel": {
          "fullClassName": "dw.catalog.ProductOptionModel",
          "package": "dw.catalog",
          "description": "This class represents the option model of a specific product and\n for a specific currency. It provides accessor methods to the configured\n options and the values of those options. It has also methods to set a\n specific selection of option values.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "options": {
              "name": "options",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of product options.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getOption": {
              "name": "getOption",
              "args": [
                {
                  "name": "optionID",
                  "description": "the product option identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductOption",
                "description": "the product option for the specified ID."
              },
              "description": "Returns the product option for the specified ID.",
              "deprecated": false
            },
            "getOptions": {
              "name": "getOptions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of Product Options."
              },
              "description": "Returns the collection of product options.",
              "deprecated": false
            },
            "getOptionValue": {
              "name": "getOptionValue",
              "args": [
                {
                  "name": "option",
                  "description": "The option to get the specified value for.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                },
                {
                  "name": "valueID",
                  "description": "The id of the value to retrieve",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductOptionValue",
                "description": "a value for the specified product option and value id"
              },
              "description": "Returns the product option value object for the passed value id and in\n the context of the passed option.",
              "deprecated": false
            },
            "getOptionValues": {
              "name": "getOptionValues",
              "args": [
                {
                  "name": "option",
                  "description": "the option for which we want to extract the collection of product option values.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a collection of product option values for the specified product option."
              },
              "description": "Returns a collection of product option values for the\n specified product option.",
              "deprecated": false
            },
            "getPrice": {
              "name": "getPrice",
              "args": [
                {
                  "name": "optionValue",
                  "description": "the product option value to use.",
                  "class": {
                    "name": "ProductOptionValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the effective price of the specified option value."
              },
              "description": "Returns the effective price of the specified option value.",
              "deprecated": false
            },
            "getSelectedOptionValue": {
              "name": "getSelectedOptionValue",
              "args": [
                {
                  "name": "option",
                  "description": "The option to get the selected value for.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductOptionValue",
                "description": "a selected value for the specified product option."
              },
              "description": "Returns the selected value for the specified product option. If no\n option values was set as selected option explicitly, the method\n returns the default option value for this option.",
              "deprecated": false
            },
            "isSelectedOptionValue": {
              "name": "isSelectedOptionValue",
              "args": [
                {
                  "name": "option",
                  "description": "the product option.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the product option value.",
                  "class": {
                    "name": "ProductOptionValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified option value is the one currently selected, false otherwise."
              },
              "description": "Returns true if the specified option value is the one currently selected,\n false otherwise.",
              "deprecated": false
            },
            "setSelectedOptionValue": {
              "name": "setSelectedOptionValue",
              "args": [
                {
                  "name": "option",
                  "description": "the option to update.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to use when updating the product option.",
                  "class": {
                    "name": "ProductOptionValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Updates the selection of the specified option based on the specified value.",
              "deprecated": false
            },
            "url": {
              "name": "url",
              "args": [
                {
                  "name": "action",
                  "description": "The pipeline action, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "varOptionAndValues",
                  "description": "Variable length list of options and values.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "URL",
                "description": "The constructed URL."
              },
              "description": "Returns a URL that can be used to select one or more option values. The\n optional varOptionAndValues argument can be empty, or can\n contain one or more option / value pairs. This variable list must be even\n in length, with options and values alternating. If the list is odd in\n length, the last argument will be ignored. Options can be specified as\n instances of ProductOption, or String option ID. Values can be specified\n as instances of ProductOptionValue or as strings representing the value\n ID. If a parameter is invalid, then the parameter pair is not included in\n the generated URL. The returned URL will contain options and values\n already selected in the product option model, as well as options and\n values specified as method parameters. This includes option values\n explicitly selected and implicitly selected by default.",
              "deprecated": false
            },
            "urlSelectOptionValue": {
              "name": "urlSelectOptionValue",
              "args": [
                {
                  "name": "action",
                  "description": "the action to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "option",
                  "description": "the option to use when constructing the URL.",
                  "class": {
                    "name": "ProductOption"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to use when constructing the URL.",
                  "class": {
                    "name": "ProductOptionValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "The constructed URL as string."
              },
              "description": "Returns an URL that can be used to select a specific value of a specific\n option.",
              "deprecated": false
            }
          }
        },
        "ProductOptionValue": {
          "fullClassName": "dw.catalog.ProductOptionValue",
          "package": "dw.catalog",
          "description": "Represents the value of a product option.",
          "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 the product option value's description\n in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayValue": {
              "name": "displayValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The the product option value's display name\n in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product option value's ID.",
              "deprecated": false,
              "type": "property"
            },
            "productIDModifier": {
              "name": "productIDModifier",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The product option value's product ID modifier which\n can be used to build the SKU for the actual product.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the product option value's description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the the product option value's description\n in the current locale.",
              "deprecated": false
            },
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "The value of the product option value's display name in the current locale, or null if it wasn't found."
              },
              "description": "Returns the the product option value's display name\n in the current locale.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the product option value's ID."
              },
              "description": "Returns the product option value's ID.",
              "deprecated": false
            },
            "getProductIDModifier": {
              "name": "getProductIDModifier",
              "args": [],
              "class": {
                "name": "String",
                "description": "the product option value's product ID modifier which can be used to build the SKU for the actual product."
              },
              "description": "Returns the product option value's product ID modifier which\n can be used to build the SKU for the actual product.",
              "deprecated": false
            }
          }
        },
        "ProductPriceInfo": {
          "fullClassName": "dw.catalog.ProductPriceInfo",
          "package": "dw.catalog",
          "description": "Simple class representing a product price point.  This class is useful\n because it provides additional information beyond just the price.  Since the\n system calculates sales prices based on applicable price books, it is\n sometimes useful to know additional information such as which price book\n defined a price point, what percentage discount off the base price\n this value represents, and the date range for which this price point is active.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date from which the associated price point is valid. If such a date doesn't exist, e.g. as in the\n case of a continuous price point, null will be returned.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The date until which the associated price point is valid. If such a date doesn't exist, e.g. as in the case\n of a continuous price point, null will be returned.",
              "deprecated": false,
              "type": "property"
            },
            "percentage": {
              "name": "percentage",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The percentage off value of this price point related to the base\n price for the product's minimum order quantity.",
              "deprecated": false,
              "type": "property"
            },
            "price": {
              "name": "price",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The monetary price for this price point.",
              "deprecated": false,
              "type": "property"
            },
            "priceBook": {
              "name": "priceBook",
              "class": {
                "name": "PriceBook"
              },
              "static": false,
              "readonly": true,
              "description": "The price book which defined this price point.",
              "deprecated": false,
              "type": "property"
            },
            "priceInfo": {
              "name": "priceInfo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The price info associated with this price point. This is an\n arbitrary string which a merchant can associate with a price entry. This\n can be used for example, to track which back-end system the price is\n derived from.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date from which the associated price point is valid"
              },
              "description": "Returns the date from which the associated price point is valid. If such a date doesn't exist, e.g. as in the\n case of a continuous price point, null will be returned.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the date to which the associated price point is valid"
              },
              "description": "Returns the date until which the associated price point is valid. If such a date doesn't exist, e.g. as in the case\n of a continuous price point, null will be returned.",
              "deprecated": false
            },
            "getPercentage": {
              "name": "getPercentage",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the percentage off value of this price point"
              },
              "description": "Returns the percentage off value of this price point related to the base\n price for the product's minimum order quantity.",
              "deprecated": false
            },
            "getPrice": {
              "name": "getPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the price amount"
              },
              "description": "Returns the monetary price for this price point.",
              "deprecated": false
            },
            "getPriceBook": {
              "name": "getPriceBook",
              "args": [],
              "class": {
                "name": "PriceBook",
                "description": "the price book defining this price"
              },
              "description": "Returns the price book which defined this price point.",
              "deprecated": false
            },
            "getPriceInfo": {
              "name": "getPriceInfo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the price info associated with this price point."
              },
              "description": "Returns the price info associated with this price point. This is an\n arbitrary string which a merchant can associate with a price entry. This\n can be used for example, to track which back-end system the price is\n derived from.",
              "deprecated": false
            }
          }
        },
        "ProductPriceModel": {
          "fullClassName": "dw.catalog.ProductPriceModel",
          "package": "dw.catalog",
          "description": "ProductPriceModel provides methods to access all the\n <a href=\"class_dw_catalog_PriceBook.html\">PriceBook</a> information of a product. A ProductPriceModel\n instance is retrieved by calling <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getPriceModel_DetailAnchor\">Product.getPriceModel()</a>\n or <a href=\"class_dw_catalog_Product.html#dw_catalog_Product_getPriceModel_ProductOptionModel_DetailAnchor\">Product.getPriceModel(ProductOptionModel)</a> for a\n specific product. The latter method will return a model which also includes\n the additional option prices of an option product.\n <p>\n When the current price of a product is accessed in the storefront via its\n price model, a price lookup is performed. The high-level steps of this price\n lookup are:\n\n </p><ul>\n <li>Get all price books applicable in the context of the current site, time,\n session, customer, source code.</li>\n <li>Identify all prices in the applicable price books and for a requested\n quantity.</li>\n <li>Calculate the best-price of all identified prices. The best-price is the\n lowest price.</li>\n </ul>\n\n In more detail:\n <p>\n\n <b>Identify applicable price books</b><br>\n </p><ul>\n <li>If any price books are explicitly registered in the session (see pipelet\n SetApplicablePriceBooks), use these price books and their direct parents for\n price lookup. Ignore all inactive price books, price books not valid at the\n current time, and price books with a currency other than the session currency.</li>\n </ul>\n\n <b>Otherwise:</b><br>\n <ul>\n <li>If a valid source code is registered with the current session, get all\n price books assigned to the source code and their parent price books. Ignore\n all inactive price books, price books not valid at the current time, and\n price books with a currency other than the session currency.</li>\n <li>Get all price books assigned to site and their parent price books. Ignore\n all inactive price books, price books not valid at the current time, and\n price books with a currency other than the session currency.</li>\n </ul>\n\n <b>Identify all prices:</b><br>\n <ul>\n <li>Get all price definitions for the product from all applicable price\n books. Ignore price definitions not valid at the current time.</li>\n <li>Convert any percentage price definition into a monetary amount. As the\n base price for this calculation, the minimum product price for the minimum\n order quantity of the product, including product options, is used.</li>\n <li>Compare all prices and identify the lowest (= best) price.</li>\n <li>Calculate best price for each defined price cut in the price table and\n return price table.</li>\n </ul>\n\n <b>Variation Price Fallback:</b><br>\n <ul>\n <li>If no applicable pricebooks for a variant is found, the price lookup gets\n the price books from the variant's master product</li>\n <li>A price books is also not applicable of the price definition for the\n variant in the price book is not valid at the current time.</li>\n </ul>\n\n <p>\n\n Typically, in order to do a standard price lookup, it is only necessary to\n call <code>Product.getPriceModel().getPrice()</code>. However, Commerce Cloud\n Digital also supports tiered prices, meaning that higher quantities receive\n a lower price. In this case, the merchant typically wants to display a table\n of price points on product detail pages. Therefore, the ProductPriceModel\n provides the method <a href=\"class_dw_catalog_ProductPriceModel.html#dw_catalog_ProductPriceModel_getPriceTable_DetailAnchor\">getPriceTable()</a> to retrieve a table of these prices.\n\n </p><p>\n\n If a merchant wants to know not only what the price of a given product is,\n but what price book the price was derived from, this class provides the\n method <a href=\"class_dw_catalog_ProductPriceModel.html#dw_catalog_ProductPriceModel_getPriceInfo_DetailAnchor\">getPriceInfo()</a>. This class also provides methods to lookup\n product prices in specific price books by name and quantity. See\n <a href=\"class_dw_catalog_ProductPriceModel.html#dw_catalog_ProductPriceModel_getPriceBookPrice_String_DetailAnchor\">getPriceBookPrice(String)</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "basePriceQuantity": {
              "name": "basePriceQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity for which the base price is defined. This\n is typically 1.0.",
              "deprecated": false,
              "type": "property"
            },
            "maxPrice": {
              "name": "maxPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Calculates and returns the maximum price-book price of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPrice().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false,
              "type": "property"
            },
            "maxPricePerUnit": {
              "name": "maxPricePerUnit",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Calculates and returns the maximum price-book price per unit of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPricePerUnit().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n e.g.\n suppose one master product mp (price = $6, unitQuantity = 2), it has 2 variants:\n v1(price = $5, unitQuantity = 5), v2(price = $10, unitQuantity = 20).\n The max price per unit of mp will be max($6/2, $5/5, $10/20) = $3",
              "deprecated": false,
              "type": "property"
            },
            "minPrice": {
              "name": "minPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Calculates and returns the minimum price-book price of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPrice().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false,
              "type": "property"
            },
            "minPricePerUnit": {
              "name": "minPricePerUnit",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Calculates and returns the minimum price-book price per unit of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPricePerUnit().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n e.g.\n suppose one master product mp (price = $6, unitQuantity = 2), it has 2 variants:\n v1(price = $5, unitQuantity = 5), v2(price = $10, unitQuantity = 20).\n The min price per unit of mp will be min($6/2, $5/5, $10/20) = $0.5",
              "deprecated": false,
              "type": "property"
            },
            "price": {
              "name": "price",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The active price of a product, calculated based on base price quantity\n 1.00. The price is returned for the currency of the current session.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitly\n set as applicable in the current session.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If no price could be found, MONEY.NOT_AVAILABLE is returned.",
              "deprecated": false,
              "type": "property"
            },
            "priceInfo": {
              "name": "priceInfo",
              "class": {
                "name": "ProductPriceInfo"
              },
              "static": false,
              "readonly": true,
              "description": "The active price info of a product, calculated based on base price\n quantity 1.00. The price is returned for the currency of the current\n session.\n \n This method is similar to getPrice() but instead of just\n returning the price value, it returns a ProductPriceInfo\n which contains additional information such as the PriceBook which defined\n the price and the percentage discount this price point represents.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If no price info could be found, null is returned.",
              "deprecated": false,
              "type": "property"
            },
            "priceInfos": {
              "name": "priceInfos",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All the eligible ProductPriceInfo(s), calculated based\n on base price quantity 1.00. This will return an empty list if getPriceInfo() would return null, and if there is\n only one price info in the collection it will be the same price info as getPriceInfo(). Two or more price infos\n indicate that there are that many price books that meet the criteria for returning the price shown in the\n storefront.",
              "deprecated": false,
              "type": "property"
            },
            "pricePerUnit": {
              "name": "pricePerUnit",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sales price per unit of a product, calculated based on base price\n quantity 1.00.\n \n The product sales price per unit is returned for the current session currency.\n Hence, the using this method is only useful in storefront processes.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitly\n set as applicable in the current session.\n \n If no price could be found, MONEY.N_A is returned.",
              "deprecated": false,
              "type": "property"
            },
            "priceRange": {
              "name": "priceRange",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this product is a master product (or product set) and the\n collection of online variants (or set products respectively) contains\n products of different prices.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false,
              "type": "property"
            },
            "priceTable": {
              "name": "priceTable",
              "class": {
                "name": "ProductPriceTable"
              },
              "static": false,
              "readonly": true,
              "description": "The product price table object. The price table represents a map\n between order quantities and prices, and also provides % off information\n to be shown to storefront customers. The price is returned for the\n currency of the current session.\n \n Usually, the product price table is printed on product detail pages in\n the storefront.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n All other methods of this class are based on the information in the\n product price table.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBasePriceQuantity": {
              "name": "getBasePriceQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity for which the base price is defined."
              },
              "description": "Returns the quantity for which the base price is defined. This\n is typically 1.0.",
              "deprecated": false
            },
            "getMaxPrice": {
              "name": "getMaxPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Maximum price of all online variants or set-products."
              },
              "description": "Calculates and returns the maximum price-book price of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPrice().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false
            },
            "getMaxPriceBookPrice": {
              "name": "getMaxPriceBookPrice",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "The maximum price across all subproducts in the specified price book."
              },
              "description": "Calculates and returns the maximum price in a given price book of all\n variants (for master products) or set-products (for product sets) for\n base quantity 1.00. This value can be used to display a range of prices\n in storefront.\n\n This method follows the same rules as\n getPriceBookPrice(String) in determining the price book\n price for each variant or set-product. If the product represented by this\n model is not a master product or product set, then this method behaves\n the same as getPriceBookPrice(String).",
              "deprecated": false
            },
            "getMaxPriceBookPricePerUnit": {
              "name": "getMaxPriceBookPricePerUnit",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "The maximum price per unit across all sub-products in the specified price book."
              },
              "description": "Calculates and returns the maximum price per unit in a given price book of all\n variants (for master products) or set-products (for product sets) for\n base quantity 1.00. This value can be used to display a range of price per units\n in storefront.\n\n This method follows the same rules as\n getPriceBookPricePerUnit(String) in determining the price book\n price for each variant or set-product. If the product represented by this\n model is not a master product or product set, then this method behaves\n the same as getPriceBookPricePerUnit(String).",
              "deprecated": false
            },
            "getMaxPricePerUnit": {
              "name": "getMaxPricePerUnit",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Maximum price per unit of all online variants or set-products."
              },
              "description": "Calculates and returns the maximum price-book price per unit of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPricePerUnit().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n e.g.\n suppose one master product mp (price = $6, unitQuantity = 2), it has 2 variants:\n v1(price = $5, unitQuantity = 5), v2(price = $10, unitQuantity = 20).\n The max price per unit of mp will be max($6/2, $5/5, $10/20) = $3",
              "deprecated": false
            },
            "getMinPrice": {
              "name": "getMinPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Minimum price of all online variants or set-products."
              },
              "description": "Calculates and returns the minimum price-book price of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPrice().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false
            },
            "getMinPriceBookPrice": {
              "name": "getMinPriceBookPrice",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "The minimum price across all subproducts in the specified price book."
              },
              "description": "Calculates and returns the minimum price in a given price book of all\n variants (for master products) or set-products (for product sets) for\n base quantity 1.00. This value can be used to display a range of prices\n in storefront.\n\n This method follows the same rules as\n getPriceBookPrice(String) in determining the price book\n price for each variant or set-product. If the product represented by this\n model is not a master product or product set, then this method behaves\n the same as getPriceBookPrice(String).",
              "deprecated": false
            },
            "getMinPriceBookPricePerUnit": {
              "name": "getMinPriceBookPricePerUnit",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "The minimum price per unit across all sub-products in the specified price book."
              },
              "description": "Calculates and returns the minimum price per unit in a given price book of all\n variants (for master products) or set-products (for product sets) for\n base quantity 1.00. This value can be used to display a range of price per units\n in storefront.\n\n This method follows the same rules as\n getPriceBookPricePerUnit(String) in determining the price book\n price for each variant or set-product. If the product represented by this\n model is not a master product or product set, then this method behaves\n the same as getPriceBookPricePerUnit(String).",
              "deprecated": false
            },
            "getMinPricePerUnit": {
              "name": "getMinPricePerUnit",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Minimum price of all online variants or set-products."
              },
              "description": "Calculates and returns the minimum price-book price per unit of all variants (for\n master products) or set-products (for product sets) for base quantity\n 1.00. This value can be used to display a range of prices in storefront.\n If the product represented by this model is not a master product or\n product set, then this method behaves the same as getPricePerUnit().\n Only online products are considered. If the \"orderable products only\"\n search preference is enabled for the current site, then only orderable\n products are considered. For master products, only variants with all\n variation attributes configured are considered.\n\n e.g.\n suppose one master product mp (price = $6, unitQuantity = 2), it has 2 variants:\n v1(price = $5, unitQuantity = 5), v2(price = $10, unitQuantity = 20).\n The min price per unit of mp will be min($6/2, $5/5, $10/20) = $0.5",
              "deprecated": false
            },
            "getPrice": {
              "name": "getPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the product price."
              },
              "description": "Returns the active price of a product, calculated based on base price quantity\n 1.00. The price is returned for the currency of the current session.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitly\n set as applicable in the current session.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If no price could be found, MONEY.NOT_AVAILABLE is returned.",
              "deprecated": false
            },
            "getPrice0": {
              "name": "getPrice",
              "args": [
                {
                  "name": "quantity",
                  "description": "Quantity price is requested for",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the product price."
              },
              "description": "Returns the active price of a product, calculated based on the passed order\n quantity. The price is returned for the currency of the current session.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitly\n set as applicable in the current session.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If passed order quantity < 1 (and greater than zero), price for quantity\n 1 is returned.\n \n If no price could be found, MONEY.NOT_AVAILABLE is returned.",
              "deprecated": false
            },
            "getPriceBookPrice": {
              "name": "getPriceBookPrice",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price of the product in the specified price book."
              },
              "description": "Returns the active price of the product in the specified price book for\n quantity 1.00.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n Money.NOT_AVAILABLE will be returned in any of the following cases:\n\n \n priceBookID is null or does not identify a valid price book.\n The price book has no price for the product.\n None of the prices for the product in the price book is currently\n active.\n The currently active price entry is a percentage.",
              "deprecated": false
            },
            "getPriceBookPrice0": {
              "name": "getPriceBookPrice",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "the specified quantity to find the price for.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price of the product in the specified price book."
              },
              "description": "Returns the active price of the product in the specified price book for\n the specified quantity.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n Money.NOT_AVAILABLE will be returned in any of the following cases:\n\n \n priceBookID is null or does not identify a valid price book.\n quantity is null.\n The price book has no price for the product.\n None of the prices for the product in the price book is currently\n active.\n The currently active price entry is a percentage.",
              "deprecated": false
            },
            "getPriceBookPriceInfo": {
              "name": "getPriceBookPriceInfo",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductPriceInfo",
                "description": "the product price info, or null if not found."
              },
              "description": "This method acts similarly to getPriceBookPrice(String) but\n returns a ProductPriceInfo object wrapping the actual price with\n additional information.",
              "deprecated": false
            },
            "getPriceBookPriceInfo0": {
              "name": "getPriceBookPriceInfo",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "Quantity price is requested for.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductPriceInfo",
                "description": "the product price info, or null if not found."
              },
              "description": "This method acts similarly to\n getPriceBookPrice(String, Quantity) but returns a\n ProductPriceInfo object wrapping the actual price with additional\n information.",
              "deprecated": false
            },
            "getPriceBookPricePerUnit": {
              "name": "getPriceBookPricePerUnit",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price per unit of the product in the specified price book."
              },
              "description": "Returns the active price per unit of the product in the specified price book for\n quantity 1.00.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n Money.NOT_AVAILABLE will be returned in any of the following cases:\n\n \n The priceBookID does not identify a valid price book.\n The price book has no price for the product.\n None of the prices for the product in the price book is currently\n active.\n The currently active price entry is a percentage.",
              "deprecated": false
            },
            "getPriceBookPricePerUnit0": {
              "name": "getPriceBookPricePerUnit",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "ID of price book the price is requested for, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "the specified quantity to find the price for, must not be null.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "the price per unit of the product in the specified price book for the specific quantity."
              },
              "description": "Returns the active price per unit of the product in the specified price book for\n the specified quantity.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n Money.NOT_AVAILABLE will be returned in any of the following cases:\n\n \n The priceBookID does not identify a valid price book.\n The price book has no price for the product.\n None of the prices for the product in the price book is currently\n active.\n The currently active price entry is a percentage.",
              "deprecated": false
            },
            "getPriceInfo": {
              "name": "getPriceInfo",
              "args": [],
              "class": {
                "name": "ProductPriceInfo",
                "description": "the product price info, or null if not found."
              },
              "description": "Returns the active price info of a product, calculated based on base price\n quantity 1.00. The price is returned for the currency of the current\n session.\n \n This method is similar to getPrice() but instead of just\n returning the price value, it returns a ProductPriceInfo\n which contains additional information such as the PriceBook which defined\n the price and the percentage discount this price point represents.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If no price info could be found, null is returned.",
              "deprecated": false
            },
            "getPriceInfo0": {
              "name": "getPriceInfo",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to use.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductPriceInfo",
                "description": "the product price info, or null if not found."
              },
              "description": "Returns the active price info of a product, calculated based on the passed order\n quantity. The price is returned for the currency of the current session.\n \n This method is similar to getPrice(Quantity) but instead of\n just returning the price value, it returns a\n ProductPriceInfo which contains additional information such\n as the PriceBook which defined the price and the percentage discount this\n price point represents.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n If no price info could be found, null is returned.",
              "deprecated": false
            },
            "getPriceInfos": {
              "name": "getPriceInfos",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "any product price info that could be responsible for the storefront price, or empty collection if there were no product price infos this price model."
              },
              "description": "Returns all the eligible ProductPriceInfo(s), calculated based\n on base price quantity 1.00. This will return an empty list if getPriceInfo() would return null, and if there is\n only one price info in the collection it will be the same price info as getPriceInfo(). Two or more price infos\n indicate that there are that many price books that meet the criteria for returning the price shown in the\n storefront.",
              "deprecated": false
            },
            "getPricePercentage": {
              "name": "getPricePercentage",
              "args": [
                {
                  "name": "basePrice",
                  "description": "The assumed 100% price amount",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                },
                {
                  "name": "comparePrice",
                  "description": "The price to compare to the basePrice",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "The percentage between comparePrice and basePrice (e.g. 90%)."
              },
              "description": "Calculates and returns the percentage off amount of the passed\n comparePrice to the passed basePrice.",
              "deprecated": true
            },
            "getPricePerUnit": {
              "name": "getPricePerUnit",
              "args": [],
              "class": {
                "name": "Money",
                "description": "product sales price per unit"
              },
              "description": "Returns the sales price per unit of a product, calculated based on base price\n quantity 1.00.\n \n The product sales price per unit is returned for the current session currency.\n Hence, the using this method is only useful in storefront processes.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitly\n set as applicable in the current session.\n \n If no price could be found, MONEY.N_A is returned.",
              "deprecated": false
            },
            "getPricePerUnit0": {
              "name": "getPricePerUnit",
              "args": [
                {
                  "name": "quantity",
                  "description": "Quantity price is requested for",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "product sales price per unit"
              },
              "description": "Returns the sales price per unit of a product, calculated based on the passed\n order quantity.\n \n The product sales price per unit is returned for the current session currency.\n Hence, the using this method is only useful in storefront processes.\n \n The price lookup is based on the configuration of price books. It depends\n on various settings, such as which price books are active, or explicitely\n set as applicable in the current session.\n \n If no price could be found, MONEY.N_A is returned.",
              "deprecated": false
            },
            "getPriceTable": {
              "name": "getPriceTable",
              "args": [],
              "class": {
                "name": "ProductPriceTable",
                "description": "the Product price table."
              },
              "description": "Returns the product price table object. The price table represents a map\n between order quantities and prices, and also provides % off information\n to be shown to storefront customers. The price is returned for the\n currency of the current session.\n \n Usually, the product price table is printed on product detail pages in\n the storefront.\n \n If the product represented by this model is an option product, option\n prices will be added to the price book price if the price model was\n initialized with an option model.\n \n All other methods of this class are based on the information in the\n product price table.",
              "deprecated": false
            },
            "isPriceRange": {
              "name": "isPriceRange",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this product has a range of prices, false otherwise."
              },
              "description": "Returns true if this product is a master product (or product set) and the\n collection of online variants (or set products respectively) contains\n products of different prices.\n\n Warning:  If the product represented by this model is a master\n product with numerous variants, this method can be very expensive and\n should be avoided.",
              "deprecated": false
            },
            "isPriceRange0": {
              "name": "isPriceRange",
              "args": [
                {
                  "name": "priceBookID",
                  "description": "The ID of the price book.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if this product has a range of prices, false otherwise."
              },
              "description": "Returns true if this product is a master product (or product set) and the\n collection of online variants (or set products respectively) contains\n products of different prices in the specified price book.",
              "deprecated": false
            }
          }
        },
        "ProductPriceTable": {
          "fullClassName": "dw.catalog.ProductPriceTable",
          "package": "dw.catalog",
          "description": "A ProductPriceTable is a map of quantities to prices representing the\n potentially tiered prices of a product in Commerce Cloud Digital. The price\n of a product is the price associated with the largest quantity in\n the ProductPriceTable which does not exceed the purchase quantity.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "quantities": {
              "name": "quantities",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All quantities stored in the price table.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getNextQuantity": {
              "name": "getNextQuantity",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to use to locate the next quantity in the price table.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "the next quantity or null."
              },
              "description": "Returns the quantity following the passed quantity in the price table.\n If the passed quantity is the last entry in the price table, null is\n returned.",
              "deprecated": false
            },
            "getPercentage": {
              "name": "getPercentage",
              "args": [
                {
                  "name": "quantity",
                  "description": "the price quantity to compute the percentage off.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the percentage off value of the price related to the passed quantity."
              },
              "description": "Returns the percentage off value of the price related to the passed quantity,\n calculated based on the price of the products minimum order quantity.",
              "deprecated": false
            },
            "getPrice": {
              "name": "getPrice",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to use to determine price.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "price amount for the passed quantity"
              },
              "description": "Returns the monetary price for the passed order quantity. If\n no price is defined for the passed quantity, null is returned. This\n can happen if for example no price is defined for a single item.",
              "deprecated": false
            },
            "getPriceBook": {
              "name": "getPriceBook",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity to use to determine price.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceBook",
                "description": "the price book defining this price, or null"
              },
              "description": "Returns the price book which defined the monetary price for the passed\n order quantity. If no price is defined for the passed quantity, null is\n returned. This can happen if for example no price is defined for a single\n item.",
              "deprecated": false
            },
            "getQuantities": {
              "name": "getQuantities",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all price table quantities."
              },
              "description": "Returns all quantities stored in the price table.",
              "deprecated": false
            }
          }
        },
        "ProductSearchHit": {
          "fullClassName": "dw.catalog.ProductSearchHit",
          "package": "dw.catalog",
          "description": "ProductSearchHit is the result of a executed search query and wraps the actual product found by the search.\n\n The method <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getRepresentedProducts_DetailAnchor\">getRepresentedProducts()</a> returns the actual products that is conforming the query and is represented by the search hit.\n Depending on the hit typ, <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getRepresentedProducts_DetailAnchor\">getRepresentedProducts()</a> returns:\n  <ul>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_SIMPLE_DetailAnchor\">HIT_TYPE_SIMPLE</a> -&gt; a simple product </li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_MASTER_DetailAnchor\">HIT_TYPE_PRODUCT_MASTER</a> -&gt; a variation product</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_SET_DetailAnchor\">HIT_TYPE_PRODUCT_SET</a> -&gt; a product part of set</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_BUNDLE_DetailAnchor\">HIT_TYPE_PRODUCT_BUNDLE</a> -&gt; a product part of a bundle</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_VARIATION_GROUP_DetailAnchor\">HIT_TYPE_VARIATION_GROUP</a> -&gt; a variation product</li>\n </ul>\n\n The ProductSearchHit type can be retrieved by method <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getHitType_DetailAnchor\">getHitType()</a> and contains the following types:\n <ul>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_SIMPLE_DetailAnchor\">HIT_TYPE_SIMPLE</a></li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_MASTER_DetailAnchor\">HIT_TYPE_PRODUCT_MASTER</a></li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_SET_DetailAnchor\">HIT_TYPE_PRODUCT_SET</a></li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_BUNDLE_DetailAnchor\">HIT_TYPE_PRODUCT_BUNDLE</a></li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_VARIATION_GROUP_DetailAnchor\">HIT_TYPE_VARIATION_GROUP</a></li>\n </ul>\n\n The method <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getProduct_DetailAnchor\">getProduct()</a> returns the presentation product corresponding to the <a href=\"class_dw_catalog_ProductSearchHit.html\">ProductSearchHit</a> type.\n <ul>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_SIMPLE_DetailAnchor\">HIT_TYPE_SIMPLE</a> -&gt; a simple product </li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_MASTER_DetailAnchor\">HIT_TYPE_PRODUCT_MASTER</a> -&gt; a variation master product</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_SET_DetailAnchor\">HIT_TYPE_PRODUCT_SET</a> -&gt; a product set</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_PRODUCT_BUNDLE_DetailAnchor\">HIT_TYPE_PRODUCT_BUNDLE</a> -&gt; a product bundle</li>\n      <li><a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_HIT_TYPE_VARIATION_GROUP_DetailAnchor\">HIT_TYPE_VARIATION_GROUP</a> -&gt;a variation group</li>\n </ul>\n\n Example:\n\n Given a product master P1 called \"Sweater\" with attributes color and size that has the following variants:\n <ul>\n     <li>V1 - color: red, size: small</li>\n     <li>V2 - color: red, size: large</li>\n     <li>V3 - color: blue, size: small</li>\n     <li>V4 - color: blue, size: large</li>\n     <li>V5 - color: yellow, size: small</li>\n     <li>V6 - color: yellow, size: large</li>\n </ul>\n\n A search for \"red sweater\" should hit the first two variants, V1 and V2\n that are both red. The ProductSearchHit for this result encompass the master and the red variants but not the other\n non-relevant variants.\n\n The variants hit by the query can be retrieved by <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getRepresentedProducts_DetailAnchor\">getRepresentedProducts()</a>, returning a list that contains the two red sweater variants.\n\n The master product \"Sweater\" is returned by <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getProduct_DetailAnchor\">getProduct()</a>.\n\n Furthermore, to get the first or last of that list of variants hit by the query we can call\n <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getFirstRepresentedProduct_DetailAnchor\">getFirstRepresentedProduct()</a> or <a href=\"class_dw_catalog_ProductSearchHit.html#dw_catalog_ProductSearchHit_getLastRepresentedProduct_DetailAnchor\">getLastRepresentedProduct()</a>. The product with the highest\n sort rank is returned first, and the product with the lowest sort rank is\n returned last. The product sort rank depends on the sorting conditions\n used for the search query.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "HIT_TYPE_PRODUCT_BUNDLE": {
              "name": "HIT_TYPE_PRODUCT_BUNDLE",
              "value": "\"bundle\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with product bundles.",
              "deprecated": false,
              "type": "constant"
            },
            "HIT_TYPE_PRODUCT_MASTER": {
              "name": "HIT_TYPE_PRODUCT_MASTER",
              "value": "\"master\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with master products.",
              "deprecated": false,
              "type": "constant"
            },
            "HIT_TYPE_PRODUCT_SET": {
              "name": "HIT_TYPE_PRODUCT_SET",
              "value": "\"set\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with product sets.",
              "deprecated": false,
              "type": "constant"
            },
            "HIT_TYPE_SIMPLE": {
              "name": "HIT_TYPE_SIMPLE",
              "value": "\"product\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with single, non-complex products, including product variants that\n are assigned to a category and are returned as the presentation product.",
              "deprecated": false,
              "type": "constant"
            },
            "HIT_TYPE_SLICING_GROUP": {
              "name": "HIT_TYPE_SLICING_GROUP",
              "value": "\"slicing_group\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with slicing groups.",
              "deprecated": true,
              "type": "constant"
            },
            "HIT_TYPE_VARIATION_GROUP": {
              "name": "HIT_TYPE_VARIATION_GROUP",
              "value": "\"variation_group\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing a product search hit type based on the presentation product of a hit. This hit type is used with variation groups.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allPromotionIDs": {
              "name": "allPromotionIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Return the IDs of all searchable promotions for which at least one of the represented products of this search hit\n relates to the promotion, either as qualifying, discount, or bonus product. This may be used as a better\n performing alternative to PromotionPlan.getProductPromotions(Product) in some special cases.\n However be warned: this method has no additional checks and currently returns all id's which are known at\n indexing time. Custom code should generally filter and sort the promotions returned by this method according to\n PromotionMgr.getActiveCustomerPromotions() before messaging the promotions on a product tile.",
              "deprecated": false,
              "type": "property"
            },
            "bonusPromotionIDs": {
              "name": "bonusPromotionIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Return the IDs of all searchable promotions for which at least one of the represented products of this search hit\n is a bonus product. This may be used as a better performing alternative to\n PromotionPlan.getProductPromotions(Product) in some special cases. However be warned: this\n method has no additional checks and currently returns all id's which are known at indexing time. Custom code\n should generally filter and sort the promotions returned by this method according to\n PromotionMgr.getActiveCustomerPromotions() before messaging the promotions on a product tile.",
              "deprecated": false,
              "type": "property"
            },
            "discountedPromotionIDs": {
              "name": "discountedPromotionIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Return the IDs of all searchable promotions for which at least one of the represented products of this search hit\n satisfy the discounted product rule. This may be used as a better performing alternative to\n PromotionPlan.getProductPromotionsForDiscountedProduct(Product) in some special cases.\n However be warned: this method has no additional checks and currently returns all id's which are known at\n indexing time. Custom code should generally filter and sort the promotions returned by this method according to\n PromotionMgr.getActiveCustomerPromotions() before messaging the promotions on a product tile.",
              "deprecated": false,
              "type": "property"
            },
            "firstRepresentedProduct": {
              "name": "firstRepresentedProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The product that is actually hit by the search and has the highest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false,
              "type": "property"
            },
            "firstRepresentedProductID": {
              "name": "firstRepresentedProductID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product that is actually hit by the search and has the highest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false,
              "type": "property"
            },
            "hitType": {
              "name": "hitType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the product wrapped by this search hit. The product type returned will be one of the hit types: \n \n  HIT_TYPE_SIMPLE\n  HIT_TYPE_PRODUCT_MASTER\n  HIT_TYPE_PRODUCT_BUNDLE\n  HIT_TYPE_PRODUCT_SET\n  HIT_TYPE_SLICING_GROUP\n  HIT_TYPE_VARIATION_GROUP",
              "deprecated": false,
              "type": "property"
            },
            "lastRepresentedProduct": {
              "name": "lastRepresentedProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The product that is actually hit by the search and has the lowest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false,
              "type": "property"
            },
            "lastRepresentedProductID": {
              "name": "lastRepresentedProductID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product that is actually hit by the search and has the lowest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false,
              "type": "property"
            },
            "maxPrice": {
              "name": "maxPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum price of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the maximum. The method returns\n N/A in case no price information can be found.\n \n Note: The method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false,
              "type": "property"
            },
            "maxPricePerUnit": {
              "name": "maxPricePerUnit",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum price per unit of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the maximum. The method returns\n N/A in case no price information can be found.\n \n Note: The method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false,
              "type": "property"
            },
            "minPrice": {
              "name": "minPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The minimum price of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the minimum. The method returns\n N/A in case no price information can be found.\n \n Note: the method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false,
              "type": "property"
            },
            "minPricePerUnit": {
              "name": "minPricePerUnit",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The minimum price per unit of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the minimum. The method returns\n N/A in case no price information can be found.\n \n Note: the method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false,
              "type": "property"
            },
            "priceRange": {
              "name": "priceRange",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Convenience method to check whether this ProductSearchHit represents\n multiple products (see getRepresentedProducts()) that have\n different prices.",
              "deprecated": false,
              "type": "property"
            },
            "product": {
              "name": "product",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The presentation product of this ProductSearchHit corresponding to the ProductSearchHit type.\n \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation master product\n      HIT_TYPE_PRODUCT_SET -> a product set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation group\n \n\n To retrieve the product(s) actually hit by the search use getRepresentedProducts().",
              "deprecated": false,
              "type": "property"
            },
            "productID": {
              "name": "productID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the presentation product of this ProductSearchHit corresponding to the ProductSearchHit type.\n \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation master product\n      HIT_TYPE_PRODUCT_SET -> a product set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation group\n \n\n To retrieve the ID of the product actually hit by the search use getFirstRepresentedProductID() or getLastRepresentedProductID().",
              "deprecated": false,
              "type": "property"
            },
            "qualifyingPromotionIDs": {
              "name": "qualifyingPromotionIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Return the IDs of all searchable promotions for which at least one of the represented products of this search hit\n satisfies the qualifying product rule. This may be used as a better performing alternative to\n PromotionPlan.getProductPromotionsForQualifyingProduct(Product) in some special cases.\n However be warned: this method has no additional checks and currently returns all id's which are known at\n indexing time. Custom code should generally filter and sort the promotions returned by this method according to\n PromotionMgr.getActiveCustomerPromotions() before messaging the promotions on a product tile.",
              "deprecated": false,
              "type": "property"
            },
            "representedProductIDs": {
              "name": "representedProductIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns the actual ID of the product that is conforming the query and is represented by the search hit.\n Depending on the hit typ, it returns the ID of:\n  \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation product\n      HIT_TYPE_PRODUCT_SET -> a product part of set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product part of a bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation product\n \n\n If the method returns multiple products, the product with the highest\n sort rank is returned first, and the product with the lowest sort rank is\n returned last. The product sort rank depends on the sorting conditions\n used for the search query.",
              "deprecated": false,
              "type": "property"
            },
            "representedProducts": {
              "name": "representedProducts",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns the actual product that is conforming the query and is represented by the search hit.\n Depending on the hit typ, getRepresentedProducts() returns:\n  \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation product\n      HIT_TYPE_PRODUCT_SET -> a product part of set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product part of a bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation product\n \n\n If the method returns multiple products, the product with the highest\n sort rank is returned first, and the product with the lowest sort rank is\n returned last. The product sort rank depends on the sorting conditions\n used for the search query.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getFirstRepresentedProduct": {
              "name": "getFirstRepresentedProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the first product that is actually hit by the search"
              },
              "description": "Returns the product that is actually hit by the search and has the highest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false
            },
            "getFirstRepresentedProductID": {
              "name": "getFirstRepresentedProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the first product that is actually hit by the search"
              },
              "description": "Returns the ID of the product that is actually hit by the search and has the highest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false
            },
            "getHitType": {
              "name": "getHitType",
              "args": [],
              "class": {
                "name": "String",
                "description": "search hit type"
              },
              "description": "Returns the type of the product wrapped by this search hit. The product type returned will be one of the hit types: \n \n  HIT_TYPE_SIMPLE\n  HIT_TYPE_PRODUCT_MASTER\n  HIT_TYPE_PRODUCT_BUNDLE\n  HIT_TYPE_PRODUCT_SET\n  HIT_TYPE_SLICING_GROUP\n  HIT_TYPE_VARIATION_GROUP",
              "deprecated": false
            },
            "getLastRepresentedProduct": {
              "name": "getLastRepresentedProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the last product that is actually hit by the search"
              },
              "description": "Returns the product that is actually hit by the search and has the lowest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false
            },
            "getLastRepresentedProductID": {
              "name": "getLastRepresentedProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the last product that is actually hit by the search"
              },
              "description": "Returns the ID of the product that is actually hit by the search and has the lowest\n sort rank according to the sorting conditions used for the search query.",
              "deprecated": false
            },
            "getMaxPrice": {
              "name": "getMaxPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the maximum price of all products represented by the product hit."
              },
              "description": "Returns the maximum price of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the maximum. The method returns\n N/A in case no price information can be found.\n \n Note: The method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false
            },
            "getMaxPricePerUnit": {
              "name": "getMaxPricePerUnit",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the maximum price per unit of all products represented by the product hit."
              },
              "description": "Returns the maximum price per unit of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the maximum. The method returns\n N/A in case no price information can be found.\n \n Note: The method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false
            },
            "getMinPrice": {
              "name": "getMinPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the minimum price of all products represented by the product hit."
              },
              "description": "Returns the minimum price of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the minimum. The method returns\n N/A in case no price information can be found.\n \n Note: the method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false
            },
            "getMinPricePerUnit": {
              "name": "getMinPricePerUnit",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the minimum price per unit of all products represented by the product hit."
              },
              "description": "Returns the minimum price per unit of all products represented by the\n product hit. See getRepresentedProducts() for details on\n the set of products used for finding the minimum. The method returns\n N/A in case no price information can be found.\n \n Note: the method uses price information of the search index and therefore\n might return different prices than the ProductPriceModel.",
              "deprecated": false
            },
            "getProduct": {
              "name": "getProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the presentation product of this ProductSearchHit, which is possibly a representative of other related products actually hit by the search."
              },
              "description": "Returns the presentation product of this ProductSearchHit corresponding to the ProductSearchHit type.\n \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation master product\n      HIT_TYPE_PRODUCT_SET -> a product set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation group\n \n\n To retrieve the product(s) actually hit by the search use getRepresentedProducts().",
              "deprecated": false
            },
            "getProductID": {
              "name": "getProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the presentation product of this ProductSearchHit, that possibly represents a set of related products actually hit by the search."
              },
              "description": "Returns the ID of the presentation product of this ProductSearchHit corresponding to the ProductSearchHit type.\n \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation master product\n      HIT_TYPE_PRODUCT_SET -> a product set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation group\n \n\n To retrieve the ID of the product actually hit by the search use getFirstRepresentedProductID() or getLastRepresentedProductID().",
              "deprecated": false
            },
            "getRepresentedProductIDs": {
              "name": "getRepresentedProductIDs",
              "args": [],
              "class": {
                "name": "List",
                "description": "a sorted list of products represented by the wrapped product."
              },
              "description": "The method returns the actual ID of the product that is conforming the query and is represented by the search hit.\n Depending on the hit typ, it returns the ID of:\n  \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation product\n      HIT_TYPE_PRODUCT_SET -> a product part of set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product part of a bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation product\n \n\n If the method returns multiple products, the product with the highest\n sort rank is returned first, and the product with the lowest sort rank is\n returned last. The product sort rank depends on the sorting conditions\n used for the search query.",
              "deprecated": false
            },
            "getRepresentedProducts": {
              "name": "getRepresentedProducts",
              "args": [],
              "class": {
                "name": "List",
                "description": "a sorted list of products represented by the wrapped product."
              },
              "description": "The method returns the actual product that is conforming the query and is represented by the search hit.\n Depending on the hit typ, getRepresentedProducts() returns:\n  \n      HIT_TYPE_SIMPLE -> a simple product \n      HIT_TYPE_PRODUCT_MASTER -> a variation product\n      HIT_TYPE_PRODUCT_SET -> a product part of set\n      HIT_TYPE_PRODUCT_BUNDLE -> a product part of a bundle\n      HIT_TYPE_VARIATION_GROUP ->a variation product\n \n\n If the method returns multiple products, the product with the highest\n sort rank is returned first, and the product with the lowest sort rank is\n returned last. The product sort rank depends on the sorting conditions\n used for the search query.",
              "deprecated": false
            },
            "getRepresentedVariationValues": {
              "name": "getRepresentedVariationValues",
              "args": [
                {
                  "name": "va",
                  "description": "the product variation attribute, specified as either a ProductVariationAttribute or a String which is the ID of a variation attribute associated with this product.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "a list containing all distinct ProductVariationAttributeValues."
              },
              "description": "This method is only applicable if this ProductSearchHit represents a\n product variation (see getRepresentedProducts). It returns the\n distinct value set for the specified variation attribute for all variants\n represented by this ProductSearchHit. The values are returned in the same\n order as they are defined for the variation.\n \n This method will accept a ProductVariationAttribute parameter or a String\n which is the ID of a variation attribute. If any other object type is\n passed, or null is passed, an exception will be thrown. If this\n ProductSearchHit does not represent a product variation, or the passed\n variation attribute is not associated with this product, the method\n returns an empty list.",
              "deprecated": false
            },
            "isPriceRange": {
              "name": "isPriceRange",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the represented products form a price range false otherwise."
              },
              "description": "Convenience method to check whether this ProductSearchHit represents\n multiple products (see getRepresentedProducts()) that have\n different prices.",
              "deprecated": false
            }
          }
        },
        "ProductSearchModel": {
          "fullClassName": "dw.catalog.ProductSearchModel",
          "package": "dw.catalog",
          "description": "The class is the central interface to a product search result and a product\n search refinement. It also provides utility methods to generate a search URL.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.catalog.SearchModel"
            }
          ],
          "constants": {
            "CATEGORYID_PARAMETER": {
              "name": "CATEGORYID_PARAMETER",
              "value": "\"cgid\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the category ID",
              "deprecated": false,
              "type": "constant"
            },
            "MAXIMUM_PRODUCT_IDS": {
              "name": "MAXIMUM_PRODUCT_IDS",
              "value": "30",
              "class": {
                "name": "Number"
              },
              "description": "The maximum number of product IDs that can be passed to setProductIDs(List)",
              "deprecated": false,
              "type": "constant"
            },
            "PRICE_MAX_PARAMETER": {
              "name": "PRICE_MAX_PARAMETER",
              "value": "\"pmax\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the maximum price",
              "deprecated": false,
              "type": "constant"
            },
            "PRICE_MIN_PARAMETER": {
              "name": "PRICE_MIN_PARAMETER",
              "value": "\"pmin\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the minimum price",
              "deprecated": false,
              "type": "constant"
            },
            "PRODUCTID_PARAMETER": {
              "name": "PRODUCTID_PARAMETER",
              "value": "\"pid\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the product ID",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_PRODUCT_TYPE_ALL": {
              "name": "PROMOTION_PRODUCT_TYPE_ALL",
              "value": "\"all\"",
              "class": {
                "name": "String"
              },
              "description": "constant indicating that all related products should be returned for the next product search by promotion ID",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_PRODUCT_TYPE_BONUS": {
              "name": "PROMOTION_PRODUCT_TYPE_BONUS",
              "value": "\"bonus\"",
              "class": {
                "name": "String"
              },
              "description": "constant indicating that only bonus products should be returned for the next product search by promotion ID. This\n constant should be set using setPromotionProductType(String) when using the search model to find the\n available list of bonus products for a Choice of Bonus Product (Rule) promotion, along with\n setPromotionID(String).",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_PRODUCT_TYPE_DISCOUNTED": {
              "name": "PROMOTION_PRODUCT_TYPE_DISCOUNTED",
              "value": "\"discounted\"",
              "class": {
                "name": "String"
              },
              "description": "constant indicating that only discounted products should be returned for the next product search by promotion ID",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_PRODUCT_TYPE_PARAMETER": {
              "name": "PROMOTION_PRODUCT_TYPE_PARAMETER",
              "value": "\"pmpt\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the promotion product type",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTION_PRODUCT_TYPE_QUALIFYING": {
              "name": "PROMOTION_PRODUCT_TYPE_QUALIFYING",
              "value": "\"qualifying\"",
              "class": {
                "name": "String"
              },
              "description": "constant indicating that only qualifying products should be returned for the next product search by promotion ID",
              "deprecated": false,
              "type": "constant"
            },
            "PROMOTIONID_PARAMETER": {
              "name": "PROMOTIONID_PARAMETER",
              "value": "\"pmid\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the promotion ID",
              "deprecated": false,
              "type": "constant"
            },
            "REFINE_NAME_PARAMETER_PREFIX": {
              "name": "REFINE_NAME_PARAMETER_PREFIX",
              "value": "\"prefn\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a refinement name",
              "deprecated": false,
              "type": "constant"
            },
            "REFINE_VALUE_PARAMETER_PREFIX": {
              "name": "REFINE_VALUE_PARAMETER_PREFIX",
              "value": "\"prefv\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a refinement value",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_BY_PARAMETER_PREFIX": {
              "name": "SORT_BY_PARAMETER_PREFIX",
              "value": "\"psortb\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a refinement value",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_DIRECTION_PARAMETER_PREFIX": {
              "name": "SORT_DIRECTION_PARAMETER_PREFIX",
              "value": "\"psortd\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a refinement value",
              "deprecated": false,
              "type": "constant"
            },
            "SORTING_OPTION_PARAMETER": {
              "name": "SORTING_OPTION_PARAMETER",
              "value": "\"sopt\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a sorting option",
              "deprecated": false,
              "type": "constant"
            },
            "SORTING_RULE_PARAMETER": {
              "name": "SORTING_RULE_PARAMETER",
              "value": "\"srule\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter prefix for a sorting rule",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "category": {
              "name": "category",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The category object for the category id specified in the query.\n If a category with that id doesn't exist or if the category is offline\n this method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "categoryID": {
              "name": "categoryID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The category id that was specified in the search query.",
              "deprecated": false,
              "type": "property"
            },
            "categorySearch": {
              "name": "categorySearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if this is a pure search for a category. The\n method checks, that a category ID is specified and no search phrase is\n specified.",
              "deprecated": false,
              "type": "property"
            },
            "deepestCommonCategory": {
              "name": "deepestCommonCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The deepest common category of all products in the search result.\n In case of an empty search result the method returns the root category.",
              "deprecated": false,
              "type": "property"
            },
            "effectiveSortingRule": {
              "name": "effectiveSortingRule",
              "class": {
                "name": "SortingRule"
              },
              "static": false,
              "readonly": true,
              "description": "The sorting rule used to order the products in the results of this query,\n or null if no search has been executed yet.\n\n In contrast to getSortingRule(), this method respects explicit sorting rules and sorting options and rules determined implicitly\n based on the refinement category, keyword sorting rule assignment, etc.",
              "deprecated": false,
              "type": "property"
            },
            "orderableProductsOnly": {
              "name": "orderableProductsOnly",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Get the flag indicating whether unorderable products should be excluded\n when the next call to getProducts() is made. If this value has not been\n previously set, then the value returned will be based on the value of the\n search preference.",
              "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 listing page meta tag context and rules.\n The rules are obtained from the current category context or inherited from the parent category,\n up to the root category.",
              "deprecated": false,
              "type": "property"
            },
            "personalizedSort": {
              "name": "personalizedSort",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method indicates if the search result is ordered by a personalized sorting rule.",
              "deprecated": false,
              "type": "property"
            },
            "priceMax": {
              "name": "priceMax",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The maximum price by which the search result is refined.",
              "deprecated": false,
              "type": "property"
            },
            "priceMin": {
              "name": "priceMin",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The minimum price by which the search result is refined.",
              "deprecated": false,
              "type": "property"
            },
            "productID": {
              "name": "productID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The product id that was specified in the search query.",
              "deprecated": true,
              "type": "property"
            },
            "productIDs": {
              "name": "productIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "A list of product IDs that were specified in the search query or an empty list if no product ID set.",
              "deprecated": false,
              "type": "property"
            },
            "products": {
              "name": "products",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "All products in the search result. \n Note that products that were removed or went offline since the last index\n update are not included in the returned set.",
              "deprecated": true,
              "type": "property"
            },
            "productSearchHits": {
              "name": "productSearchHits",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "The product search hits in the search result. \n Note that method does also return search hits representing products that\n were removed or went offline since the last index update, i.e. you must\n implement appropriate checks before accessing the product related to the\n search hit instance (see ProductSearchHit.getProduct)",
              "deprecated": false,
              "type": "property"
            },
            "promotionID": {
              "name": "promotionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The promotion id that was specified in the search query or null if no promotion id set. If multiple\n promotion id's specified the method returns only the first id. See setPromotionIDs(List) and\n getPromotionIDs().",
              "deprecated": false,
              "type": "property"
            },
            "promotionIDs": {
              "name": "promotionIDs",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": false,
              "description": "A list of promotion id's that were specified in the search query or an empty list if no promotion id set.",
              "deprecated": false,
              "type": "property"
            },
            "promotionProductType": {
              "name": "promotionProductType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The promotion product type specified in the search query.",
              "deprecated": false,
              "type": "property"
            },
            "recursiveCategorySearch": {
              "name": "recursiveCategorySearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Get the flag that determines if the category search will\n be recursive.",
              "deprecated": false,
              "type": "property"
            },
            "refinedByCategory": {
              "name": "refinedByCategory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if the search is refined by a category.\n The method checks, that a category ID is specified.",
              "deprecated": false,
              "type": "property"
            },
            "refinedByPrice": {
              "name": "refinedByPrice",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this search has been refined by price.",
              "deprecated": false,
              "type": "property"
            },
            "refinedByPromotion": {
              "name": "refinedByPromotion",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this search has been refined by promotion.",
              "deprecated": false,
              "type": "property"
            },
            "refinedCategorySearch": {
              "name": "refinedCategorySearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a category search and is refined with further\n criteria, like a brand refinement or an attribute refinement.",
              "deprecated": false,
              "type": "property"
            },
            "refinementCategory": {
              "name": "refinementCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": false,
              "description": "The category used to determine possible refinements for the search.\n If an explicit category was set for this purpose using setRefinementCategory(Category), it is returned.\n Otherwise, the deepest common category of all search results will be returned.",
              "deprecated": false,
              "type": "property"
            },
            "refinements": {
              "name": "refinements",
              "class": {
                "name": "ProductSearchRefinements"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductSearchRefinements associated with this search and filtered by session currency.\n If an explicit category was set for this purpose using setRefinementCategory(Category), it will be used to determine the refinements.\n Otherwise, the refinements are determined based on the deepest common category of all products in the search result.\n Hint: If you want to use the same refinements for all searches, consider defining them in one category (usually root) and using setRefinementCategory(Category) to avoid unnecessary calculation of the deepest common category.",
              "deprecated": false,
              "type": "property"
            },
            "searchableImageUploadURL": {
              "name": "searchableImageUploadURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the URL of the endpoint where the merchants should upload their image for visual search.",
              "deprecated": false,
              "type": "property"
            },
            "searchPhraseSuggestions": {
              "name": "searchPhraseSuggestions",
              "class": {
                "name": "SearchPhraseSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "Returns search phrase suggestions for the current search phrase.\n Search phrase suggestions may contain alternative search phrases as well\n as lists of corrected and completed search terms.",
              "deprecated": false,
              "type": "property"
            },
            "sortingRule": {
              "name": "sortingRule",
              "class": {
                "name": "SortingRule"
              },
              "static": false,
              "readonly": false,
              "description": "The sorting rule explicitly set on this model to be used\n to order the products in the results of this query, or null\n if no rule has been explicitly set.\n\n This method does not return the sorting rule that will be used implicitly\n based on the context of the search, such as the refinement category.",
              "deprecated": false,
              "type": "property"
            },
            "suggestedSearchPhrase": {
              "name": "suggestedSearchPhrase",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The suggested search phrase with the highest accuracy provided\n for the current search phrase.",
              "deprecated": true,
              "type": "property"
            },
            "suggestedSearchPhrases": {
              "name": "suggestedSearchPhrases",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "A list with up to 5 suggested search phrases provided for the\n current search phrase. It is possible that less than 5 suggestions\n or even no suggestions are returned.",
              "deprecated": true,
              "type": "property"
            },
            "trackingEmptySearchesEnabled": {
              "name": "trackingEmptySearchesEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method indicates if no-hits search should be tracked for predictive intelligence use.",
              "deprecated": false,
              "type": "property"
            },
            "visualSearch": {
              "name": "visualSearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if this is a visual search. The\n method checks that a image UUID is specified.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "ProductSearchModel": {
              "name": "ProductSearchModel",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new ProductSearchModel.",
              "deprecated": false
            }
          },
          "methods": {
            "addHitTypeRefinement": {
              "name": "addHitTypeRefinement",
              "args": [
                {
                  "name": "types",
                  "description": "to be included.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the only search hit types to be included from the search. Values accepted are the 'hit type' constants\n exposed in the ProductSearchHit class. Overwrites any hit type refinements set from prior calls to\n addHitTypeRefinement(String...) or excludeHitType(String...).",
              "deprecated": false
            },
            "excludeHitType": {
              "name": "excludeHitType",
              "args": [
                {
                  "name": "types",
                  "description": "to be excluded.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the search hit types to be excluded from the search. Values accepted are the 'hit type' constants exposed in\n the ProductSearchHit class. Overwrites any hit type refinements set from prior calls to\n addHitTypeRefinement(String...) or excludeHitType(String...).",
              "deprecated": false
            },
            "getCategory": {
              "name": "getCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the category object for the category id specified in the query."
              },
              "description": "Returns the category object for the category id specified in the query.\n If a category with that id doesn't exist or if the category is offline\n this method returns null.",
              "deprecated": false
            },
            "getCategoryID": {
              "name": "getCategoryID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the category id that was specified in the search query."
              },
              "description": "Returns the category id that was specified in the search query.",
              "deprecated": false
            },
            "getDeepestCommonCategory": {
              "name": "getDeepestCommonCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the deepest common category of all products in the search result of this search model or root for an empty search result."
              },
              "description": "Returns the deepest common category of all products in the search result.\n In case of an empty search result the method returns the root category.",
              "deprecated": false
            },
            "getEffectiveSortingRule": {
              "name": "getEffectiveSortingRule",
              "args": [],
              "class": {
                "name": "SortingRule",
                "description": "a SortingRule or null."
              },
              "description": "Returns the sorting rule used to order the products in the results of this query,\n or null if no search has been executed yet.\n\n In contrast to getSortingRule(), this method respects explicit sorting rules and sorting options and rules determined implicitly\n based on the refinement category, keyword sorting rule assignment, etc.",
              "deprecated": false
            },
            "getOrderableProductsOnly": {
              "name": "getOrderableProductsOnly",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if unorderable products should be excluded from product search results, false otherwise."
              },
              "description": "Get the flag indicating whether unorderable products should be excluded\n when the next call to getProducts() is made. If this value has not been\n previously set, then the value returned will be based on the value of the\n search preference.",
              "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 listing page meta tag context and rule.\n The rule is obtained from the current category context or inherited from the parent category,\n 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 listing page meta tag context and rules.\n The rules are obtained from the current category context or inherited from the parent category,\n up to the root category.",
              "deprecated": false
            },
            "getPriceMax": {
              "name": "getPriceMax",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the maximum price by which the search result is refined."
              },
              "description": "Returns the maximum price by which the search result is refined.",
              "deprecated": false
            },
            "getPriceMin": {
              "name": "getPriceMin",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the minimum price by which the search result is refined."
              },
              "description": "Returns the minimum price by which the search result is refined.",
              "deprecated": false
            },
            "getProductID": {
              "name": "getProductID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the product id that was specified in the search."
              },
              "description": "Returns the product id that was specified in the search query.",
              "deprecated": true
            },
            "getProductIDs": {
              "name": "getProductIDs",
              "args": [],
              "class": {
                "name": "List",
                "description": "the list of product IDs that were specified in the search query or an empty list if no product ID set."
              },
              "description": "Returns a list of product IDs that were specified in the search query or an empty list if no product ID set.",
              "deprecated": false
            },
            "getProducts": {
              "name": "getProducts",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "Products in search result"
              },
              "description": "Returns all products in the search result. \n Note that products that were removed or went offline since the last index\n update are not included in the returned set.",
              "deprecated": true
            },
            "getProductSearchHit": {
              "name": "getProductSearchHit",
              "args": [
                {
                  "name": "product",
                  "description": "the product to find the underlying ProductSearchHit",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductSearchHit",
                "description": "the underlying ProductSearchHit for a product, or null if no ProductSearchHit found for this product."
              },
              "description": "Returns the underlying ProductSearchHit for a product, or null if no\n ProductSearchHit found for this product.",
              "deprecated": false
            },
            "getProductSearchHits": {
              "name": "getProductSearchHits",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "Products hits in search result"
              },
              "description": "Returns the product search hits in the search result. \n Note that method does also return search hits representing products that\n were removed or went offline since the last index update, i.e. you must\n implement appropriate checks before accessing the product related to the\n search hit instance (see ProductSearchHit.getProduct)",
              "deprecated": false
            },
            "getPromotionID": {
              "name": "getPromotionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the promotion id that was specified in the search query or null if no promotion id set."
              },
              "description": "Returns the promotion id that was specified in the search query or null if no promotion id set. If multiple\n promotion id's specified the method returns only the first id. See setPromotionIDs(List) and\n getPromotionIDs().",
              "deprecated": false
            },
            "getPromotionIDs": {
              "name": "getPromotionIDs",
              "args": [],
              "class": {
                "name": "List",
                "description": "the list of promotion id's that was specified in the search query or an empty list if no promotion id set."
              },
              "description": "Returns a list of promotion id's that were specified in the search query or an empty list if no promotion id set.",
              "deprecated": false
            },
            "getPromotionProductType": {
              "name": "getPromotionProductType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the promotion product type that was specified in the search query."
              },
              "description": "Returns the promotion product type specified in the search query.",
              "deprecated": false
            },
            "getRefinementCategory": {
              "name": "getRefinementCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the category used to determine refinements."
              },
              "description": "Returns the category used to determine possible refinements for the search.\n If an explicit category was set for this purpose using setRefinementCategory(Category), it is returned.\n Otherwise, the deepest common category of all search results will be returned.",
              "deprecated": false
            },
            "getRefinements": {
              "name": "getRefinements",
              "args": [],
              "class": {
                "name": "ProductSearchRefinements",
                "description": "the ProductSearchRefinements associated with this search."
              },
              "description": "Returns the ProductSearchRefinements associated with this search and filtered by session currency.\n If an explicit category was set for this purpose using setRefinementCategory(Category), it will be used to determine the refinements.\n Otherwise, the refinements are determined based on the deepest common category of all products in the search result.\n Hint: If you want to use the same refinements for all searches, consider defining them in one category (usually root) and using setRefinementCategory(Category) to avoid unnecessary calculation of the deepest common category.",
              "deprecated": false
            },
            "getSearchableImageUploadURL": {
              "name": "getSearchableImageUploadURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "returns the URL where the merchants should upload their image."
              },
              "description": "This method returns the URL of the endpoint where the merchants should upload their image for visual search.",
              "deprecated": false
            },
            "getSearchPhraseSuggestions": {
              "name": "getSearchPhraseSuggestions",
              "args": [],
              "class": {
                "name": "SearchPhraseSuggestions",
                "description": "search phrase suggestions for the current search phrase"
              },
              "description": "Returns search phrase suggestions for the current search phrase.\n Search phrase suggestions may contain alternative search phrases as well\n as lists of corrected and completed search terms.",
              "deprecated": false
            },
            "getSortingRule": {
              "name": "getSortingRule",
              "args": [],
              "class": {
                "name": "SortingRule",
                "description": "a SortingRule or null."
              },
              "description": "Returns the sorting rule explicitly set on this model to be used\n to order the products in the results of this query, or null\n if no rule has been explicitly set.\n\n This method does not return the sorting rule that will be used implicitly\n based on the context of the search, such as the refinement category.",
              "deprecated": false
            },
            "getSuggestedSearchPhrase": {
              "name": "getSuggestedSearchPhrase",
              "args": [],
              "class": {
                "name": "String",
                "description": "the suggested search phrase."
              },
              "description": "Returns the suggested search phrase with the highest accuracy provided\n for the current search phrase.",
              "deprecated": true
            },
            "getSuggestedSearchPhrases": {
              "name": "getSuggestedSearchPhrases",
              "args": [],
              "class": {
                "name": "List",
                "description": "a list containing the suggested search phrases."
              },
              "description": "Returns a list with up to 5 suggested search phrases provided for the\n current search phrase. It is possible that less than 5 suggestions\n or even no suggestions are returned.",
              "deprecated": true
            },
            "isCategorySearch": {
              "name": "isCategorySearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this is a category search"
              },
              "description": "The method returns true, if this is a pure search for a category. The\n method checks, that a category ID is specified and no search phrase is\n specified.",
              "deprecated": false
            },
            "isPersonalizedSort": {
              "name": "isPersonalizedSort",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if search result is ordered by a personalized sorting rule, otherwise false."
              },
              "description": "The method indicates if the search result is ordered by a personalized sorting rule.",
              "deprecated": false
            },
            "isRecursiveCategorySearch": {
              "name": "isRecursiveCategorySearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the category search will be recursive, false otherwise"
              },
              "description": "Get the flag that determines if the category search will\n be recursive.",
              "deprecated": false
            },
            "isRefinedByCategory": {
              "name": "isRefinedByCategory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if the search is refined by a category, false otherwise."
              },
              "description": "The method returns true, if the search is refined by a category.\n The method checks, that a category ID is specified.",
              "deprecated": false
            },
            "isRefinedByPrice": {
              "name": "isRefinedByPrice",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined by price, false otherwise."
              },
              "description": "Identifies if this search has been refined by price.",
              "deprecated": false
            },
            "isRefinedByPriceRange": {
              "name": "isRefinedByPriceRange",
              "args": [
                {
                  "name": "priceMin",
                  "description": "The lower bound of the price range.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "priceMax",
                  "description": "The upper bound of the price range.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refinemd on the given price range, false otherwise."
              },
              "description": "Identifies if this search has been refined by the given price range.\n Either range parameters may be null to represent open ranges.",
              "deprecated": false
            },
            "isRefinedByPromotion": {
              "name": "isRefinedByPromotion",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined by promotion, false otherwise."
              },
              "description": "Identifies if this search has been refined by promotion.",
              "deprecated": false
            },
            "isRefinedByPromotion0": {
              "name": "isRefinedByPromotion",
              "args": [
                {
                  "name": "promotionID",
                  "description": "the ID of the promotion to check",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined by the given promotionID, false otherwise."
              },
              "description": "Identifies if this search has been refined by a given promotion.",
              "deprecated": false
            },
            "isRefinedCategorySearch": {
              "name": "isRefinedCategorySearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a category search and is refined with further criteria, false otherwise."
              },
              "description": "Identifies if this is a category search and is refined with further\n criteria, like a brand refinement or an attribute refinement.",
              "deprecated": false
            },
            "isTrackingEmptySearchesEnabled": {
              "name": "isTrackingEmptySearchesEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if no-hits search should be tracked, otherwise false."
              },
              "description": "The method indicates if no-hits search should be tracked for predictive intelligence use.",
              "deprecated": false
            },
            "isVisualSearch": {
              "name": "isVisualSearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if this is a visual search"
              },
              "description": "The method returns true, if this is a visual search. The\n method checks that a image UUID is specified.",
              "deprecated": false
            },
            "search": {
              "name": "search",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Execute the search.",
              "deprecated": false
            },
            "setCategoryID": {
              "name": "setCategoryID",
              "args": [
                {
                  "name": "categoryID",
                  "description": "the category id for the search query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies the category id used for the search query.",
              "deprecated": false
            },
            "setEnableTrackingEmptySearches": {
              "name": "setEnableTrackingEmptySearches",
              "args": [
                {
                  "name": "trackingEmptySearches",
                  "description": "true, no-hits search should be tracked, false, otherwise.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag indicating whether no-hits search should be tracked for predictive intelligence use.",
              "deprecated": false
            },
            "setOrderableProductsOnly": {
              "name": "setOrderableProductsOnly",
              "args": [
                {
                  "name": "orderableOnly",
                  "description": "true if unorderable products should be excluded from product search results, false otherwise.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag indicating whether unorderable products should be excluded\n when the next call to getProducts() is made. This method overrides the\n default behavior which is controlled by the search preference.",
              "deprecated": false
            },
            "setPriceMax": {
              "name": "setPriceMax",
              "args": [
                {
                  "name": "priceMax",
                  "description": "sets the maximum price by which the search result is to be refined.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the maximum price by which the search result is to be refined.",
              "deprecated": false
            },
            "setPriceMin": {
              "name": "setPriceMin",
              "args": [
                {
                  "name": "priceMin",
                  "description": "the minimum price by which the search result is to be refined.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the minimum price by which the search result is to be refined.",
              "deprecated": false
            },
            "setProductID": {
              "name": "setProductID",
              "args": [
                {
                  "name": "productID",
                  "description": "the product id for the search query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies the product id used for the search query.",
              "deprecated": true
            },
            "setProductIDs": {
              "name": "setProductIDs",
              "args": [
                {
                  "name": "productIDs",
                  "description": "the product IDs for the search query.",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies multiple product IDs used for the search query. The specified product IDs include, but not limited to,\n variant product IDs, product master IDs, variation group IDs, product set IDs, or product bundle IDs. For\n example, this API could be used in high-traffic pages where developers need to be able to filter quickly for only\n available child products of a specified master product, instead of looping through all variants of a set products\n and checking their availabilities. The method supports up to MAXIMUM_PRODUCT_IDS product IDs. If more\n than MAXIMUM_PRODUCT_IDS products IDs are passed, the method throws an IllegalArgumentException.",
              "deprecated": false
            },
            "setPromotionID": {
              "name": "setPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "the promotion id for the search query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies the promotion id used for the search query.",
              "deprecated": false
            },
            "setPromotionIDs": {
              "name": "setPromotionIDs",
              "args": [
                {
                  "name": "promotionIDs",
                  "description": "the promotion ids for the search query.",
                  "class": {
                    "name": "List"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies multiple promotion id's used for the search query. The method supports up to 30 promotion id's. If more\n than 30 promotion id's used the method throws an IllegalArgumentException.",
              "deprecated": false
            },
            "setPromotionProductType": {
              "name": "setPromotionProductType",
              "args": [
                {
                  "name": "promotionProductType",
                  "description": "The type of product to filter by when searching by promotion ID. Allowed values are PROMOTION_PRODUCT_TYPE_ALL, PROMOTION_PRODUCT_TYPE_BONUS, PROMOTION_PRODUCT_TYPE_QUALIFYING, and PROMOTION_PRODUCT_TYPE_DISCOUNTED. If null is passed, or an invalid value is passed, the search will use PROMOTION_PRODUCT_TYPE_ALL.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies the promotion product type used for the search query. This\n value is only relevant for searches by promotion ID.",
              "deprecated": false
            },
            "setRecursiveCategorySearch": {
              "name": "setRecursiveCategorySearch",
              "args": [
                {
                  "name": "recurse",
                  "description": "recurse the category in the search",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag to indicate if the search in category should be recursive.",
              "deprecated": false
            },
            "setRefinementCategory": {
              "name": "setRefinementCategory",
              "args": [
                {
                  "name": "refinementCategory",
                  "description": "the category used to determine the applicable refinements.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets an explicit category to be used when determining refinements. If this is not done, they will be determined based on the deepest common category of all search results.\n The explicit category must be in the site's storefront catalog, otherwise the method fails with an IllegalArgumentException.",
              "deprecated": false
            },
            "setSearchableImageID": {
              "name": "setSearchableImageID",
              "args": [
                {
                  "name": "imageID",
                  "description": "the image ID for the visual search query.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "An image ID can be retrieved by uploading an image with a multipart/form-data POST\n request to 'https://api.cquotient.com/v3/image/search/upload/{siteID}'. This method sets product IDs retrieved\n from the image ID to the ProductSearchModel. If using setProductIDs(List) in addition to this method,\n the ProductSearchModel will take the intersection of these sets of product IDs. If the image ID provided is\n invalid or expired, product IDs will not be set onto the product search model.",
              "deprecated": false
            },
            "setSortingCondition": {
              "name": "setSortingCondition",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "direction",
                  "description": "SORT_DIRECTION_ASCENDING, SORT_DIRECTION_DESCENDING or SORT_DIRECTION_NONE",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets or removes a sorting condition for the specified attribute. Specify\n either SORT_DIRECTION_ASCENDING or SORT_DIRECTION_DESCENDING to set a\n sorting condition. Specify SORT_DIRECTION_NONE to remove a sorting\n condition from the attribute.",
              "deprecated": true
            },
            "setSortingOption": {
              "name": "setSortingOption",
              "args": [
                {
                  "name": "option",
                  "description": "the SortingOption to use to sort the products",
                  "class": {
                    "name": "SortingOption"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the sorting option to be used to order the products in the results of this query.\n If a sorting rule is also set, the sorting option is ignored.",
              "deprecated": false
            },
            "setSortingRule": {
              "name": "setSortingRule",
              "args": [
                {
                  "name": "rule",
                  "description": "the SortingRule to use to sort the products",
                  "class": {
                    "name": "SortingRule"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the sorting rule to be used to order the products in the\n results of this query.  Setting the rule in this way overrides the\n default behavior of choosing the sorting rule based on the context of the\n search, such as the refinement category.",
              "deprecated": false
            },
            "urlForCategory": {
              "name": "urlForCategory",
              "args": [
                {
                  "name": "action",
                  "description": "pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "cgid",
                  "description": "the category ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n Category.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlForCategory0": {
              "name": "urlForCategory",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use to generate the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "cgid",
                  "description": "the category ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n Category. The search specific parameters are appended to the provided\n URL. The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlForProduct": {
              "name": "urlForProduct",
              "args": [
                {
                  "name": "action",
                  "description": "pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "cgid",
                  "description": "the category id or null if product is not in category context.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "pid",
                  "description": "the product id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n Product. The passed action is used to build an initial url. All search\n specific attributes are appended.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlForProduct0": {
              "name": "urlForProduct",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use to generate the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "cgid",
                  "description": "the category id or null if product is not in category context.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "pid",
                  "description": "the product id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n Product. 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
            },
            "urlForRefine": {
              "name": "urlForRefine",
              "args": [
                {
                  "name": "action",
                  "description": "pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the attribute ID for the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the attribute value for the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n attribute name-value pair.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlForRefine0": {
              "name": "urlForRefine",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use to generate the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the attribute ID for the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the attribute value for the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to execute a query for a specific\n attribute name-value pair. The search specific parameters are appended to\n the provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRefineCategory": {
              "name": "urlRefineCategory",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "refineCategoryID",
                  "description": "the ID of the category.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with a\n category refinement.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlRefineCategory0": {
              "name": "urlRefineCategory",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "refineCategoryID",
                  "description": "the ID of the category.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with a\n category refinement. The search specific parameters are appended to the\n provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRefinePrice": {
              "name": "urlRefinePrice",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "min",
                  "description": "the minimum price.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "max",
                  "description": "the maximum price.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with an\n additional price filter.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlRefinePrice0": {
              "name": "urlRefinePrice",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to use to generate the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "min",
                  "description": "the minimum price.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "max",
                  "description": "the maximum price.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with an\n additional price filter. The search specific parameters are appended to\n the provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRefinePromotion": {
              "name": "urlRefinePromotion",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "refinePromotionID",
                  "description": "the ID of the promotion.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with a promotion refinement. The search specific\n parameters are appended to the provided URL. The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRefinePromotion0": {
              "name": "urlRefinePromotion",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "refinePromotionID",
                  "description": "the ID of the promotion.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with a promotion refinement. The generated URL will be\n an absolute URL which uses the protocol of the current request.",
              "deprecated": false
            },
            "urlRelaxCategory": {
              "name": "urlRelaxCategory",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query without any\n category refinement.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlRelaxCategory0": {
              "name": "urlRelaxCategory",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query without any\n category refinement. The search specific parameters are appended to the\n provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRelaxPrice": {
              "name": "urlRelaxPrice",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query with no price\n filter.\n\n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlRelaxPrice0": {
              "name": "urlRelaxPrice",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to would re-execute the query with no\n price filter. The search specific parameters are appended to the provided\n URL. The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRelaxPromotion": {
              "name": "urlRelaxPromotion",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query without any promotion refinement. The search specific\n parameters are appended to the provided URL. The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRelaxPromotion0": {
              "name": "urlRelaxPromotion",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query without any promotion refinement. The generated URL\n will be an absolute URL which uses the protocol of the current request.",
              "deprecated": false
            },
            "urlSortingOption": {
              "name": "urlSortingOption",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "option",
                  "description": "sorting option",
                  "class": {
                    "name": "SortingOption"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query but sort the\n results by the given storefront sorting option.\n\n The generated URL will be an absolute URL which uses the protocol of the\n current request.",
              "deprecated": false
            },
            "urlSortingOption0": {
              "name": "urlSortingOption",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "option",
                  "description": "sorting option",
                  "class": {
                    "name": "SortingOption"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query but sort\n the results by the given storefront sorting option. The search specific parameters are\n appended to the provided URL. The URL is typically generated with one of\n the URLUtils methods.",
              "deprecated": false
            },
            "urlSortingRule": {
              "name": "urlSortingRule",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. 'Search-Show'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "rule",
                  "description": "sorting rule",
                  "class": {
                    "name": "SortingRule"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query but sort the\n results by the given rule.\n\n The generated URL will be an absolute URL which uses the protocol of the\n current request.",
              "deprecated": false
            },
            "urlSortingRule0": {
              "name": "urlSortingRule",
              "args": [
                {
                  "name": "url",
                  "description": "the existing URL to use to create the new URL.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "rule",
                  "description": "sorting rule",
                  "class": {
                    "name": "SortingRule"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs a URL that you can use to re-execute the query but sort\n the results by the given rule. The search specific parameters are\n appended to the provided URL. The URL is typically generated with one of\n the URLUtils methods.",
              "deprecated": false
            }
          }
        },
        "ProductSearchRefinementDefinition": {
          "fullClassName": "dw.catalog.ProductSearchRefinementDefinition",
          "package": "dw.catalog",
          "description": "This class provides an interface to refinement options for the product search.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.catalog.SearchRefinementDefinition"
            }
          ],
          "constants": {},
          "properties": {
            "categoryRefinement": {
              "name": "categoryRefinement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a category refinement.",
              "deprecated": false,
              "type": "property"
            },
            "priceRefinement": {
              "name": "priceRefinement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a price refinement.",
              "deprecated": false,
              "type": "property"
            },
            "promotionRefinement": {
              "name": "promotionRefinement",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this is a promotion refinement.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "isCategoryRefinement": {
              "name": "isCategoryRefinement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a category refinement, false otherwise."
              },
              "description": "Identifies if this is a category refinement.",
              "deprecated": false
            },
            "isPriceRefinement": {
              "name": "isPriceRefinement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a price refinement, false otherwise."
              },
              "description": "Identifies if this is a price refinement.",
              "deprecated": false
            },
            "isPromotionRefinement": {
              "name": "isPromotionRefinement",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a promotion refinement, false otherwise."
              },
              "description": "Identifies if this is a promotion refinement.",
              "deprecated": false
            }
          }
        },
        "ProductSearchRefinementValue": {
          "fullClassName": "dw.catalog.ProductSearchRefinementValue",
          "package": "dw.catalog",
          "description": "Represents the value of a product search refinement.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.catalog.SearchRefinementValue"
            }
          ],
          "constants": {},
          "properties": {
            "valueFrom": {
              "name": "valueFrom",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The lower bound for price refinements.  For example, 50.00\n for a range of $50.00 - $99.99.",
              "deprecated": false,
              "type": "property"
            },
            "valueTo": {
              "name": "valueTo",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The upper bound for price refinements.  For example, 99.99\n for a range of $50.00 - $99.99.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getValueFrom": {
              "name": "getValueFrom",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the lower bound for price refinements."
              },
              "description": "Returns the lower bound for price refinements.  For example, 50.00\n for a range of $50.00 - $99.99.",
              "deprecated": false
            },
            "getValueTo": {
              "name": "getValueTo",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the upper bound for price refinements."
              },
              "description": "Returns the upper bound for price refinements.  For example, 99.99\n for a range of $50.00 - $99.99.",
              "deprecated": false
            }
          }
        },
        "ProductSearchRefinements": {
          "fullClassName": "dw.catalog.ProductSearchRefinements",
          "package": "dw.catalog",
          "description": "This class provides an interface to refinement options for the product\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 product criteria, or \"relax\" (i.e. broaden) the results after previously\n refining. The four types of product search refinements are:\n\n <ul>\n <li><b>Refine By Category:</b> Limit the products to those assigned to\n specific child/ancestor categories of the search category.</li>\n <li><b>Refine By Attribute:</b> Limit the products to those with specific\n values for a given attribute. Values may be grouped into \"buckets\" so that a\n given set of values are represented as a single refinement option.</li>\n <li><b>Refine By Price:</b> Limit the products to those whose prices fall in\n a specific range.</li>\n <li><b>Refine By Promotion:</b> Limit the products to those which are related\n to a specific promotion.</li>\n </ul>\n\n Rendering a product 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_catalog_ProductSearchRefinements.html#dw_catalog_ProductSearchRefinements_getAllRefinementValues_ProductSearchRefinementDefinition_DetailAnchor\">getAllRefinementValues(ProductSearchRefinementDefinition)</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 4 types, methods\n in <a href=\"class_dw_catalog_ProductSearchModel.html\">ProductSearchModel</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": {
            "categoryRefinementDefinition": {
              "name": "categoryRefinementDefinition",
              "class": {
                "name": "ProductSearchRefinementDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The appropriate category refinement definition based on the search\n result. The category refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false,
              "type": "property"
            },
            "priceRefinementDefinition": {
              "name": "priceRefinementDefinition",
              "class": {
                "name": "ProductSearchRefinementDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The appropriate price refinement definition based on the search\n result. The price refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false,
              "type": "property"
            },
            "promotionRefinementDefinition": {
              "name": "promotionRefinementDefinition",
              "class": {
                "name": "ProductSearchRefinementDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The appropriate promotion refinement definition based on the search\n result. The promotion refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllRefinementValues": {
              "name": "getAllRefinementValues",
              "args": [
                {
                  "name": "definition",
                  "description": "The refinement definition to return refinement values for. Must not be null.",
                  "class": {
                    "name": "ProductSearchRefinementDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of ProductSearchRefinementValue instances, sorted according to the settings of the refinement definition."
              },
              "description": "Returns a sorted collection of refinement values for the passed\n refinement definition. The returned collection includes all refinement\n values for which the hit count is greater than 0 within the search result\n when the passed refinement definition is excluded from filtering the\n search hits but all other refinement filters are still applied. This\n method is useful for rendering broadening options for definitions that\n the search is currently refined by. If the search is not currently\n restricted by the passed refinement definition, then this method will\n return the same result as\n getRefinementValues(ProductSearchRefinementDefinition).\n \n For attribute-based refinement definitions, the returned collection\n depends upon how the \"value set\" property is configured. (Category and\n price refinement definitions do not have such a property.) If this\n property is set to \"search result values\", the behavior is as described\n above. If this property is set to \"all values of category\", then the\n returned collection will also include all refinement values for products\n in the category subtree rooted at the search definition's category. This\n setting is useful for refinements whose visualization is supposed to\n remain constant for a certain subtree of a catalog (e.g. color pickers or\n size charts). These additional values are independent of the search\n result and do not contribute towards the value hit counts. If the search\n result is further refined by one of these values, it is possible to get\n an empty search result. Except for this one case this method does NOT\n return refinement values independent of the search result.",
              "deprecated": false
            },
            "getCategoryRefinementDefinition": {
              "name": "getCategoryRefinementDefinition",
              "args": [],
              "class": {
                "name": "ProductSearchRefinementDefinition",
                "description": "The category refinement definition or null if none can be found."
              },
              "description": "Returns the appropriate category refinement definition based on the search\n result. The category refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false
            },
            "getNextLevelCategoryRefinementValues": {
              "name": "getNextLevelCategoryRefinementValues",
              "args": [
                {
                  "name": "category",
                  "description": "The category to return child category refinement values for.",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The refinement values for all child categories of the given category."
              },
              "description": "Returns category refinement values based on the current search result\n filtered such that only category refinements representing children of the\n given category are present. If no category is given, the method uses the\n catalog's root category. The refinement value product counts represent\n all hits contained in the catalog tree starting at the corresponding\n child category.",
              "deprecated": false
            },
            "getPriceRefinementDefinition": {
              "name": "getPriceRefinementDefinition",
              "args": [],
              "class": {
                "name": "ProductSearchRefinementDefinition",
                "description": "The price refinement definition or null if none can be found."
              },
              "description": "Returns the appropriate price refinement definition based on the search\n result. The price refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false
            },
            "getPromotionRefinementDefinition": {
              "name": "getPromotionRefinementDefinition",
              "args": [],
              "class": {
                "name": "ProductSearchRefinementDefinition",
                "description": "The promotion refinement definition or null if none can be found."
              },
              "description": "Returns the appropriate promotion refinement definition based on the search\n result. The promotion refinement definition returned will be the first that\n can be found traversing the category tree upward starting at the deepest\n common category of the search result.",
              "deprecated": false
            },
            "getRefinementValue": {
              "name": "getRefinementValue",
              "args": [
                {
                  "name": "definition",
                  "description": "The definition to return the refinement for.",
                  "class": {
                    "name": "ProductSearchRefinementDefinition"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The value to return the refinement for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductSearchRefinementValue",
                "description": "The refinement value."
              },
              "description": "Returns the refinement value (incl. product 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 for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductSearchRefinementValue",
                "description": "The refinement value."
              },
              "description": "Returns the refinement value (incl. product hit count) for the given\n refinement attribute and the given (selected) value.",
              "deprecated": false
            },
            "getRefinementValues": {
              "name": "getRefinementValues",
              "args": [
                {
                  "name": "definition",
                  "description": "The refinement definition to return refinement values for.",
                  "class": {
                    "name": "ProductSearchRefinementDefinition"
                  },
                  "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
            }
          }
        },
        "ProductVariationAttribute": {
          "fullClassName": "dw.catalog.ProductVariationAttribute",
          "package": "dw.catalog",
          "description": "Represents a product variation attribute",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeID": {
              "name": "attributeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product attribute defintion related to \n this variation attribute.  This ID matches the\n value returned by ObjectAttributeDefinition.getID()  \n for the appropriate product attribute definition.\n This ID is generally different than the ID returned by \n getID().",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name for the product variation attribute, which can be used in the\n user interface.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product variation attribute.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttributeID": {
              "name": "getAttributeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product attribute definition of this variation attribute."
              },
              "description": "Returns the ID of the product attribute defintion related to \n this variation attribute.  This ID matches the\n value returned by ObjectAttributeDefinition.getID()  \n for the appropriate product attribute definition.\n This ID is generally different than the ID returned by \n getID().",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name for the product variation attribute, which can be used in the user interface."
              },
              "description": "Returns the display name for the product variation attribute, which can be used in the\n user interface.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product variation attribute."
              },
              "description": "Returns the ID of the product variation attribute.",
              "deprecated": false
            }
          }
        },
        "ProductVariationAttributeValue": {
          "fullClassName": "dw.catalog.ProductVariationAttributeValue",
          "package": "dw.catalog",
          "description": "Represents a product variation attribute",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the product variation attribute value in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayValue": {
              "name": "displayValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display value for the product variation attribute value, which can be used in the\n user interface.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the product variation attribute value.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The value for the product variation attribute value.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "obj",
                  "description": "the object to test.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified object is equal to this object."
              },
              "description": "Returns true if the specified object is equal to this object.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description of the product variation attribute value in the current locale, or null if it wasn't found."
              },
              "description": "Returns the description of the product variation attribute value in the current locale.",
              "deprecated": false
            },
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display value for the product variation attribute value, which can be used in the user interface."
              },
              "description": "Returns the display value for the product variation attribute value, which can be used in the\n user interface.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the product variation attribute value."
              },
              "description": "Returns the ID of the product variation attribute value.",
              "deprecated": false
            },
            "getImage": {
              "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.\n\n If images are defined for this view type and variant, but not for\n specified index, the method returns null.\n\n If no images are defined for this variant and specified view type, the\n image at the specified index of the master product images is returned. If\n no master product image for specified index is defined, the method\n returns null.",
              "deprecated": false
            },
            "getImage0": {
              "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 of the list. The method is specifically built for handling color\n swatches in an apparel site.\n\n If no images are defined for this variant and specified view type, then\n the first image of the master product images for that view type is\n returned. If no master product images are defined, the method returns\n 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 that match the given view type and have the variant\n value of this value, which is typically the 'color' attribute. The images\n are returned in the order of their index number ascending.\n\n If no images are defined for this variant, then the images of the master\n for that view type are returned.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the value for the product variation attribute value."
              },
              "description": "Returns the value for the product variation attribute value.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the hash code for a product variation attribute value."
              },
              "description": "Calculates the hash code for a product variation attribute value.",
              "deprecated": false
            }
          }
        },
        "ProductVariationModel": {
          "fullClassName": "dw.catalog.ProductVariationModel",
          "package": "dw.catalog",
          "description": "Class representing the complete variation information for a master product in\n the system. An instance of this class provides methods to access the\n following information:\n\n <ul>\n <li>The variation attributes of the master product (e.g. size and color). Use\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getProductVariationAttributes_DetailAnchor\">getProductVariationAttributes()</a>.</li>\n <li>The variation attribute values (e.g. size=Small, Medium, Large and\n color=Red, Blue). Use <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getAllValues_ProductVariationAttribute_DetailAnchor\">getAllValues(ProductVariationAttribute)</a>.</li>\n <li>The variation groups which may represent a subset of variants by defining a\n subset of the variation attribute values (e.g. color=Red, size=empty). Use\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getVariationGroups_DetailAnchor\">getVariationGroups()</a>.</li>\n <li>The variants themselves (e.g. the products representing Small Red, Large\n Red, Small Blue, Large Blue, etc). Use <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getVariants_DetailAnchor\">getVariants()</a>.</li>\n <li>The variation attribute values of those variants. Use\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getVariationValue_Product_ProductVariationAttribute_DetailAnchor\">getVariationValue(Product, ProductVariationAttribute)</a>.</li>\n </ul>\n\n This model only considers variants which are complete (i.e. the variant has a\n value for each variation attribute), and currently online. Incomplete or\n offline variants will not be returned by any method that returns Variants,\n and their attribute values will not be considered in any method that returns\n values.\n <p>\n In addition to providing access to this meta information,\n ProductVariationModel maintains a collection of selected variation attribute\n values, representing the selections that a customer makes in the storefront.\n If this model was constructed for a master product, then none of the\n attributes will have pre-selected values. If this model was constructed for a\n variant product, then all the attribute values of that variant will be\n pre-selected.\n </p><p>\n It is possible to query the current selections by calling\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getSelectedValue_ProductVariationAttribute_DetailAnchor\">getSelectedValue(ProductVariationAttribute)</a> or\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_isSelectedAttributeValue_ProductVariationAttribute_ProductVariationAttributeValue_DetailAnchor\">isSelectedAttributeValue(ProductVariationAttribute, ProductVariationAttributeValue)</a>.\n </p><p>\n The method <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_setSelectedAttributeValue_String_String_DetailAnchor\">setSelectedAttributeValue(String, String)</a> can be used to modify\n the selected values. Depending on the product type, it's possible to select or modify\n variation attribute values:\n\n </p><ul>\n     <li>If this model was constructed for a master product, it's possible to select and modify all variation attributes.</li>\n     <li>If this model was constructed for a variation group, it's possible to select and modify all variation attributes that are not defined by the variation group.</li>\n     <li>If this model was constructed for a variation product, it's not possible to select or modify any of the variation attributes.</li>\n </ul>\n\n <p>\n Furthermore, the model provides helper methods to generate URLs\n for selecting and unselecting variation attribute values. See those methods\n for details.\n </p><p>\n If this model was constructed for a product that is neither a\n master nor a variant, then none of the methods will return useful values at\n all.\n </p><p>\n The methods in this class which access the currently selected variation\n attribute values can be used on product detail pages to render information\n about which combinations are available or unavailable. The methods\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_getFilteredValues_ProductVariationAttribute_DetailAnchor\">getFilteredValues(ProductVariationAttribute)</a> and\n <a href=\"class_dw_catalog_ProductVariationModel.html#dw_catalog_ProductVariationModel_hasOrderableVariants_ProductVariationAttribute_ProductVariationAttributeValue_DetailAnchor\">hasOrderableVariants(ProductVariationAttribute, ProductVariationAttributeValue)</a>\n can be used to determine this type of situation and render the appropriate\n message in the storefront.\n </p><p>\n NOTE: Several methods in this class have a version taking a\n <a href=\"class_dw_catalog_ProductVariationAttribute.html\">ProductVariationAttribute</a> parameter, and another\n deprecated version accepting a <a href=\"class_dw_object_ObjectAttributeDefinition.html\">ObjectAttributeDefinition</a>\n parameter instead. The former should be strictly favored. The latter are\n historical leftovers from when object attributes were used directly as the\n basis for variation, and the value lists were stored directly on the\n ObjectAttributeDefinition. Every ProductVariationAttribute corresponds with\n exactly one ObjectAttributeDefinition, but values are now stored on the\n ProductVariationAttribute and not the ObjectAttributeDefinition.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeDefinitions": {
              "name": "attributeDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The object attribute definitions corresponding with the product\n variation attributes of the master product.",
              "deprecated": true,
              "type": "property"
            },
            "defaultVariant": {
              "name": "defaultVariant",
              "class": {
                "name": "Variant"
              },
              "static": false,
              "readonly": true,
              "description": "Return the default variant of this model's master product. If no default\n variant has been defined, return an arbitrary variant.",
              "deprecated": false,
              "type": "property"
            },
            "master": {
              "name": "master",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The master of the product variation.",
              "deprecated": false,
              "type": "property"
            },
            "productVariationAttributes": {
              "name": "productVariationAttributes",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of product variation attributes of the variation.",
              "deprecated": false,
              "type": "property"
            },
            "selectedVariant": {
              "name": "selectedVariant",
              "class": {
                "name": "Variant"
              },
              "static": false,
              "readonly": true,
              "description": "The variant currently selected for this variation model.\n Returns null if no variant is selected.",
              "deprecated": false,
              "type": "property"
            },
            "selectedVariants": {
              "name": "selectedVariants",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The variants currently selected for this variation model.\n Returns an empty collection if no variant is selected.",
              "deprecated": false,
              "type": "property"
            },
            "variants": {
              "name": "variants",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of product variants of this variation model.\n This collection only includes online variants. Offline variants are\n filtered out. If all variation products are required, consider using\n Product.getVariants().\n\n The product variants are returned in no particular order.",
              "deprecated": false,
              "type": "property"
            },
            "variationGroups": {
              "name": "variationGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of variation groups of this variation model.\n This collection only includes online variation groups. Offline variation\n groups are filtered out. If all variation group products are required,\n consider using Product.getVariationGroups().\n\n The variation groups are returned in no particular order.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllValues": {
              "name": "getAllValues",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute whose values will be returned.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of ObjectAttributeValueDefinition instances representing the value definitions defined for the specified attribute. The collection is sorted by the explicit sort order defined for the values."
              },
              "description": "Returns the value definitions for the specified attribute. Only values\n that actually exist for at least one of the master product's currently\n online and complete variants are returned.\n \n Returns an empty collection if the passed attribute is not even a\n variation attribute of the master product.",
              "deprecated": true
            },
            "getAllValues0": {
              "name": "getAllValues",
              "args": [
                {
                  "name": "attribute",
                  "description": "the variation attribute whose values will be returned.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection of ProductVariationAttributeValue instances representing the values defined for the specified attribute. The collection is sorted by the explicit sort order defined for the values."
              },
              "description": "Returns the values for the specified attribute. Only values that actually\n exist for at least one of the master product's currently online and\n complete variants are returned.\n \n Returns an empty collection if the passed attribute is not even a\n variation attribute of the master product.",
              "deprecated": false
            },
            "getAttributeDefinitions": {
              "name": "getAttributeDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the collection of ObjectAttributeDefinition instances corresponding with the variation attributes of the master product, sorted by explicit position."
              },
              "description": "Returns the object attribute definitions corresponding with the product\n variation attributes of the master product.",
              "deprecated": true
            },
            "getDefaultVariant": {
              "name": "getDefaultVariant",
              "args": [],
              "class": {
                "name": "Variant",
                "description": "the default value of this model's master product, an arbitrary variant if no default is defined, or null if this model does not represent a master product with variants."
              },
              "description": "Return the default variant of this model's master product. If no default\n variant has been defined, return an arbitrary variant.",
              "deprecated": false
            },
            "getFilteredValues": {
              "name": "getFilteredValues",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute whose values are returned by this method.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a sorted collection of ObjectAttributeDefinitionValue instances calculated based on the currently selected variation values."
              },
              "description": "Returns a collection of the value definitions defined for the specified\n attribute, filtered based on currently selected values.\n \n A value is only returned if it at least one variant has the value and\n also possesses the selected values for all previous attributes. It is\n important to know that the filter is applied in a certain order. The\n method looks at all ObjectAttributeDefinition instances that appear\n before the passed one in the sorted collection returned by\n getAttributeDefinitions(). If the passed attribute is the first\n in this collection, then this method simply returns all its values. If an\n earlier attribute does not have a selected value, this method returns an\n empty list. Otherwise, the filter looks at all variants matching the\n selected value for all previous attributes, and considers the range of\n values possessed by these variants for the passed attribute.\n \n The idea behind this method is that customers in the storefront select\n variation attribute values one by one in the order the variation\n attributes are defined and displayed. After each selection, customer only\n wants to see values that he can possibly order for the remaining\n attributes.\n \n Returns an empty collection if the passed attribute is not even a\n variation attribute of the master product.",
              "deprecated": true
            },
            "getFilteredValues0": {
              "name": "getFilteredValues",
              "args": [
                {
                  "name": "attribute",
                  "description": "the product variation attribute whose values are to be returned.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "a sorted and filtered collection of product variation attribute values. The collection is sorted by the explicit sort order defined for the values."
              },
              "description": "Returns a collection of the value definitions defined for the specified\n attribute, filtered based on currently selected values.\n \n A value is only returned if it at least one variant has the value and\n also possesses the selected values for all previous attributes. It is\n important to know that the filter is applied in a certain order. The\n method looks at all ProductVariationAttribute instances that appear\n before the passed one in the sorted collection returned by\n getProductVariationAttributes(). If the passed attribute is the\n first in this collection, then this method simply returns all its values.\n If an earlier attribute does not have a selected value, this method\n returns an empty list. Otherwise, the filter looks at all variants\n matching the selected value for all previous attributes, and considers\n the range of values possessed by these variants for the passed attribute.\n \n The idea behind this method is that customers in the storefront select\n variation attribute values one by one in the order the variation\n attributes are defined and displayed. After each selection, customer only\n wants to see values that he can possibly order for the remaining\n attributes.\n \n Returns an empty collection if the passed attribute is not even a\n variation attribute of the master product.",
              "deprecated": false
            },
            "getHtmlName": {
              "name": "getHtmlName",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute whose ID is returned.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "an HTML representation of the attribute id."
              },
              "description": "Returns an HTML representation of the variation attribute id. This method\n is deprecated. You should use getHtmlName(ProductVariationAttribute)\n instead.",
              "deprecated": true
            },
            "getHtmlName0": {
              "name": "getHtmlName",
              "args": [
                {
                  "name": "prefix",
                  "description": "a custom prefix.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the attribute whose ID is returned.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "an HTML representation of the attribute id."
              },
              "description": "Returns an HTML representation of the variation attribute id with the\n custom prefix. This method is deprecated. You should use\n getHtmlName(String, ProductVariationAttribute) instead.",
              "deprecated": true
            },
            "getHtmlName01": {
              "name": "getHtmlName",
              "args": [
                {
                  "name": "attribute",
                  "description": "the product variation attribute whose ID is returned.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "an HTML representation of the product variation attribute id."
              },
              "description": "Returns an HTML representation of the product variation attribute id.",
              "deprecated": false
            },
            "getHtmlName012": {
              "name": "getHtmlName",
              "args": [
                {
                  "name": "prefix",
                  "description": "a custom prefix.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the product variation attribute whose ID is returned.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "an HTML representation of the product variation attribute id."
              },
              "description": "Returns an HTML representation of the  product variation attribute id with the custom prefix.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [
                {
                  "name": "viewtype",
                  "description": "the view type annotated to image",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the variation attribute",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the the variation attribute value",
                  "class": {
                    "name": "ProductVariationAttributeValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "MediaFile",
                "description": "the first image, or null if not found"
              },
              "description": "The method returns the first image appropriate for the currently selected attribute values.\n\n The method first considers the most specific combination of attribute values (e.g\n \"Red leather\") and if that is not found, more general (e.g \"Red\").  If no image group\n is found for the attributes, returns null\n\n The view type parameter is required, otherwise a exception is thrown.",
              "deprecated": false
            },
            "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 returns an image appropriate for the current selected variation values\n with the specific index.\n\n If images are defined for this view type and variants, but not for\n specified index, the method returns null.\n\n If no images are defined for all variants and specified view type, the\n image at the specified index of the master product images is returned. If\n no master product image for specified index is defined, the method\n returns null.\n\n The view type parameter is required, otherwise a exception is thrown.",
              "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 returns the first image appropriate for the current selected variation values\n with the specific index.\n\n If images are defined for this view type and variants, but not for\n specified index, the method returns null.\n\n If no images are defined for all variants and specified view type, the\n image at the specified index of the master product images is returned. If\n no master product image for specified index is defined, the method\n returns null.\n\n The view type parameter is required, otherwise a exception is thrown.",
              "deprecated": false
            },
            "getImages": {
              "name": "getImages",
              "args": [
                {
                  "name": "viewtype",
                  "description": "the view type annotated to image",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "an array of images"
              },
              "description": "The method returns the image appropriate for the currently selected attribute values.\n\n The method first considers the most specific combination of attribute values (e.g\n \"Red leather\") and if that is not found, more general (e.g \"Red\").  If no image group\n is found for the attributes, returns null\n\n The view type parameter is required, otherwise a exception is thrown.",
              "deprecated": false
            },
            "getMaster": {
              "name": "getMaster",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the master of the product variation."
              },
              "description": "Returns the master of the product variation.",
              "deprecated": false
            },
            "getProductVariationAttribute": {
              "name": "getProductVariationAttribute",
              "args": [
                {
                  "name": "id",
                  "description": "the id of the product variation attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductVariationAttribute",
                "description": "the product variation attribute, or null."
              },
              "description": "Returns the product variation attribute for the specific id,\n or null if there is no product variation attribute for that id.",
              "deprecated": false
            },
            "getProductVariationAttributes": {
              "name": "getProductVariationAttributes",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of product variation attributes of the variation."
              },
              "description": "Returns a collection of product variation attributes of the variation.",
              "deprecated": false
            },
            "getSelectedValue": {
              "name": "getSelectedValue",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute whose value will be returned.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeValueDefinition",
                "description": "the selected value for the specified attribute or null."
              },
              "description": "Returns the selected value for the specified attribute. If no value is\n selected, null is returned.",
              "deprecated": true
            },
            "getSelectedValue0": {
              "name": "getSelectedValue",
              "args": [
                {
                  "name": "attribute",
                  "description": "the product variation attribute whose value will be returned.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductVariationAttributeValue",
                "description": "the selected product variation attribute value for the specified attribute or null."
              },
              "description": "Returns the selected value for the specified product variation attribute. If no value is\n selected, null is returned.",
              "deprecated": false
            },
            "getSelectedVariant": {
              "name": "getSelectedVariant",
              "args": [],
              "class": {
                "name": "Variant",
                "description": "selected variant or null."
              },
              "description": "Returns the variant currently selected for this variation model.\n Returns null if no variant is selected.",
              "deprecated": false
            },
            "getSelectedVariants": {
              "name": "getSelectedVariants",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "selected variants, might be empty if no valid variant was selected by the given attribute values"
              },
              "description": "Returns the variants currently selected for this variation model.\n Returns an empty collection if no variant is selected.",
              "deprecated": false
            },
            "getVariants": {
              "name": "getVariants",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all the product variants of the variation model."
              },
              "description": "Returns the collection of product variants of this variation model.\n This collection only includes online variants. Offline variants are\n filtered out. If all variation products are required, consider using\n Product.getVariants().\n\n The product variants are returned in no particular order.",
              "deprecated": false
            },
            "getVariants0": {
              "name": "getVariants",
              "args": [
                {
                  "name": "filter",
                  "description": "the filters to apply when collecting the variants.",
                  "class": {
                    "name": "HashMap"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the collection of variants that match the specified filter conditions."
              },
              "description": "Returns the variants that match the specified filter conditions. The\n filter conditions are specified as a hash map of <attribute_id> -\n <value_id>.  This method does not consider the currently selected\n attribute values.",
              "deprecated": false
            },
            "getVariationGroups": {
              "name": "getVariationGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all the variation groups of the variation model."
              },
              "description": "Returns the collection of variation groups of this variation model.\n This collection only includes online variation groups. Offline variation\n groups are filtered out. If all variation group products are required,\n consider using Product.getVariationGroups().\n\n The variation groups are returned in no particular order.",
              "deprecated": false
            },
            "getVariationValue": {
              "name": "getVariationValue",
              "args": [
                {
                  "name": "variantOrVariationGroup",
                  "description": "the variant or variation group product to retrieve a value for, must not be null.",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the product variation attribute to get the value for, must not be null.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductVariationAttributeValue",
                "description": "the attribute value for the specified variant or variation group and attribute, or null if an invalid variant, variation group or attribute is passed or the variation group define no value for the variation attribute."
              },
              "description": "Returns the value for the specified variant or variation group product and\n variation attribute. The specified product should be a Variant\n returned by getVariants() or a VariationGroup returned by\n getVariationGroups(). The variation attribute should be one returned by\n getProductVariationAttributes(). If an invalid product or attribute is passed,\n null is returned. If null is passed for either argument, an exception is thrown.",
              "deprecated": false
            },
            "hasOrderableVariants": {
              "name": "hasOrderableVariants",
              "args": [
                {
                  "name": "attribute",
                  "description": "The product variation attribute whose values are to be tested for orderable variants.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The specific attribute value to test for orderable variants.",
                  "class": {
                    "name": "ProductVariationAttributeValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if any variant is available with the specified value of the specified variation attribute based on the currently selected attribute values, false otherwise."
              },
              "description": "Returns true if any variant is available with the specified value of the\n specified variation attribute. Available means that the variant is\n orderable according to the variant's availability model. This method\n takes currently selected attribute values into consideration. The\n specific rules are as follows:\n \n If no variation value is currently selected, the method returns true\n if any variant with the specified value is available, else false.\n if one or more variation values are selected, the method returns true\n if any variant with a combination of the specified value and the selected\n value is available, else false.\n if all variation values are selected, the method returns true of the\n variant that is represented by the current selection is available, else\n false.",
              "deprecated": false
            },
            "isSelectedAttributeValue": {
              "name": "isSelectedAttributeValue",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute to check.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to check for selection.",
                  "class": {
                    "name": "ObjectAttributeValueDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified variation value is currently selected, false otherwise."
              },
              "description": "Identifies if the specified variation value is the one currently\n selected.",
              "deprecated": true
            },
            "isSelectedAttributeValue0": {
              "name": "isSelectedAttributeValue",
              "args": [
                {
                  "name": "attribute",
                  "description": "the attribute to check.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to check for selection.",
                  "class": {
                    "name": "ProductVariationAttributeValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if the specified variation attribute value is currently selected, false otherwise."
              },
              "description": "Identifies if the specified product variation attribute value is the one\n currently selected.",
              "deprecated": false
            },
            "setSelectedAttributeValue": {
              "name": "setSelectedAttributeValue",
              "args": [
                {
                  "name": "variationAttributeID",
                  "description": "the ID of an product variation attribute, must not be null, otherwise a exception is thrown",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "variationAttributeValueID",
                  "description": "the ID of the product variation attribute value to apply, this value must not be part of the initial model state (e.g. the variant or group that the model has been created for), otherwise a exception is thrown",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Applies a selected attribute value to this model instance.\n Usually this method is used to set the model state corresponding to the variation attribute values\n specified by a URL. The URLs can be obtained by using one of the models URL methods, like\n urlSelectVariationValue(String, ProductVariationAttribute, ProductVariationAttributeValue) and\n urlUnselectVariationValue(String, ProductVariationAttribute).\n\n Anyway, there are some limitations to keep in mind when selecting variation attribute values.\n A Variation Model created for a Variation Group or Variant Product is bound to an initial state.\n Example:\n \n A Variation Model created for Variation Group A can't be switched to Variation Group B.\n A Variation Model created for Variant A can't be switched to Variant B.\n The state of a Variation Model for a Variation Group that defines color = red can't be changed to color = black.\n The state of a Variation Model for a Variant that defines color = red / size = L can't be changed to color = black / size = S.\n However, the state of a Variation Model created for a Variation Group that defines color = red\n can be changed to a more specific state by adding another selected value, e.g. size = L.\n \n The state of a Variation Model created for a Variation Master can be changed in any possible way\n because the initial state involves all variation values and Variants.",
              "deprecated": false
            },
            "url": {
              "name": "url",
              "args": [
                {
                  "name": "action",
                  "description": "The pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "varAttrAndValues",
                  "description": "Variable length list of attributes and corresponding values to select.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "URL",
                "description": "The constructed URL."
              },
              "description": "Constructs a URL to select a set of variation attribute values. The\n optional varAttrAndValues argument can be empty, or can\n contain one or more variation attribute / value pairs. This variable list\n should be even in length, with attributes and values alternating.\n Attributes can be specified as instances of ProductVariationAttribute, or\n String variation attribute ID. (Note: ObjectAttributeDefinition IDs are\n not supported.) Values can be specified as instances of\n ProductVariationAttributeValue or String or Integer depending on the data\n type of the variation attribute. If a parameter type is invalid, or does\n not reference a valid ProductVariationAttribute or\n ProductVariationAttributeValue, then the parameter pair is not included\n in the generated URL. The returned URL will contain variation attributes\n and values already selected in the product variation model, as well as\n attributes and values specified as method parameters. \n\n Sample usage: \n\n  master.variationModel.url(\"Product-Show\", \"color\", \"red\", \"size\", \"XL\"); \n master.variationModel.url(\"Product-Show\", colorVarAttr, colorValue, sizeVarAttr, sizeValue); \n // --> on/demandware.store/Sites-SiteGenesis-Site/default/Product-Show?pid=master_id&dwvar_color=red&dwvar_size=XL",
              "deprecated": false
            },
            "urlSelectVariationValue": {
              "name": "urlSelectVariationValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. \"Product-Show\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the attribute to select a value for.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the attribute definition value portion of the variation.",
                  "class": {
                    "name": "ObjectAttributeValueDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the generated URL, an absolute URL which uses the protocol of the current request."
              },
              "description": "Constructs an URL to select the specified value of the specified\n variation attribute.\n \n The generated URL will be an absolute URL which uses the protocol of the\n current request.",
              "deprecated": true
            },
            "urlSelectVariationValue0": {
              "name": "urlSelectVariationValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. \"Product-Show\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the product variation attribute to select a value for.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the product variation attribute value to select.",
                  "class": {
                    "name": "ProductVariationAttributeValue"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the generated URL, an absolute URL which uses the protocol of the current request."
              },
              "description": "Generates a URL for selecting a value for a given variation attribute.\n This URL is intended to be used on dynamic product detail pages. When a\n customer selects which value he wants for one of the variation\n attributes, the product detail page can issue a request to the passed URL\n which in turn can invoke the\n UpdateProductVariationSelections pipelet. That pipelet reads\n the querystring parameters and returns an updated variation model with\n the desired attribute value selected.\n \n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            },
            "urlUnselectVariationValue": {
              "name": "urlUnselectVariationValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. \"Product-Show\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the attribute to unselect.",
                  "class": {
                    "name": "ObjectAttributeDefinition"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the generated URL, an absolute URL which uses the protocol of the current request."
              },
              "description": "Constructs an URL to unselect the value of the specified variation\n attribute.\n \n The generated URL will be an absolute URL which uses the protocol of the\n current request.",
              "deprecated": true
            },
            "urlUnselectVariationValue0": {
              "name": "urlUnselectVariationValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action, e.g. \"Product-Show\".",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attribute",
                  "description": "the product variation attribute to unselect.",
                  "class": {
                    "name": "ProductVariationAttribute"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the generated URL, an absolute URL which uses the protocol of the current request."
              },
              "description": "Generates a URL for unselecting a value for a given variation attribute.\n This URL is intended to be used on dynamic product detail pages. When a\n customer deselects a value for one of the variation attributes, the\n product detail page can issue a request to the passed URL which in turn\n can invoke the UpdateProductVariationSelections pipelet.\n That pipelet reads the querystring parameters and returns an updated\n variation model with the desired attribute value unselected.\n \n The generated URL will be an absolute URL which uses the protocol of\n the current request.",
              "deprecated": false
            }
          }
        },
        "Recommendation": {
          "fullClassName": "dw.catalog.Recommendation",
          "package": "dw.catalog",
          "description": "Represents a recommendation in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "RECOMMENDATION_TYPE_CROSS_SELL": {
              "name": "RECOMMENDATION_TYPE_CROSS_SELL",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents a cross-sell recommendation.",
              "deprecated": true,
              "type": "constant"
            },
            "RECOMMENDATION_TYPE_OTHER": {
              "name": "RECOMMENDATION_TYPE_OTHER",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Represents a recommendation that is neither a cross-sell or an up-sell.",
              "deprecated": true,
              "type": "constant"
            },
            "RECOMMENDATION_TYPE_UP_SELL": {
              "name": "RECOMMENDATION_TYPE_UP_SELL",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents an up-sell recommendation.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {
            "calloutMsg": {
              "name": "calloutMsg",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The recommendation's callout message in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "catalog": {
              "name": "catalog",
              "class": {
                "name": "Catalog"
              },
              "static": false,
              "readonly": true,
              "description": "Return the catalog containing the recommendation.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The recommendation's image.",
              "deprecated": false,
              "type": "property"
            },
            "longDescription": {
              "name": "longDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The recommendation'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 recommended item in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "recommendationType": {
              "name": "recommendationType",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the recommendation.",
              "deprecated": false,
              "type": "property"
            },
            "recommendedItem": {
              "name": "recommendedItem",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "Return a reference to the recommended item.  This will always be an\n object of type dw.catalog.Product since this is the only\n currently supported recommendation target type.",
              "deprecated": false,
              "type": "property"
            },
            "recommendedItemID": {
              "name": "recommendedItemID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the ID of the recommended item.  This will always be a product\n ID since this is the only currently supported recommendation target\n type.",
              "deprecated": false,
              "type": "property"
            },
            "shortDescription": {
              "name": "shortDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The recommendation's short description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "sourceItem": {
              "name": "sourceItem",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "Return a reference to the source item.  This will be an object of type\n dw.catalog.Product or dw.catalog.Category.",
              "deprecated": false,
              "type": "property"
            },
            "sourceItemID": {
              "name": "sourceItemID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the ID of the recommendation source item.  This will either be a\n product ID or category name.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCalloutMsg": {
              "name": "getCalloutMsg",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "the recommendation's callout message in the current locale, or null if it wasn't found."
              },
              "description": "Returns the recommendation's callout message in the current locale.",
              "deprecated": false
            },
            "getCatalog": {
              "name": "getCatalog",
              "args": [],
              "class": {
                "name": "Catalog",
                "description": "the catalog containing the recommendation."
              },
              "description": "Return the catalog containing the recommendation.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "the recommendation's image."
              },
              "description": "Returns the recommendation's image.",
              "deprecated": false
            },
            "getLongDescription": {
              "name": "getLongDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The recommendation's long description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the recommendation's long description in the current locale.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the recommended item for the current locale, or null if it wasn't found."
              },
              "description": "Returns the name of the recommended item in the current locale.",
              "deprecated": false
            },
            "getRecommendationType": {
              "name": "getRecommendationType",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the type of the recommendation expressed as an integer."
              },
              "description": "Returns the type of the recommendation.",
              "deprecated": false
            },
            "getRecommendedItem": {
              "name": "getRecommendedItem",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the recommended item, possibly null if the item does not exist."
              },
              "description": "Return a reference to the recommended item.  This will always be an\n object of type dw.catalog.Product since this is the only\n currently supported recommendation target type.",
              "deprecated": false
            },
            "getRecommendedItemID": {
              "name": "getRecommendedItemID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the recommended item ID."
              },
              "description": "Return the ID of the recommended item.  This will always be a product\n ID since this is the only currently supported recommendation target\n type.",
              "deprecated": false
            },
            "getShortDescription": {
              "name": "getShortDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "the recommendations's short description in the current locale, or null if it wasn't found."
              },
              "description": "Returns the recommendation's short description in the current locale.",
              "deprecated": false
            },
            "getSourceItem": {
              "name": "getSourceItem",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the source item."
              },
              "description": "Return a reference to the source item.  This will be an object of type\n dw.catalog.Product or dw.catalog.Category.",
              "deprecated": false
            },
            "getSourceItemID": {
              "name": "getSourceItemID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the source item ID."
              },
              "description": "Return the ID of the recommendation source item.  This will either be a\n product ID or category name.",
              "deprecated": false
            }
          }
        },
        "SearchModel": {
          "fullClassName": "dw.catalog.SearchModel",
          "package": "dw.catalog",
          "description": "Common search model base class.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "SEARCH_PHRASE_PARAMETER": {
              "name": "SEARCH_PHRASE_PARAMETER",
              "value": "\"q\"",
              "class": {
                "name": "String"
              },
              "description": "URL Parameter for the Search Phrase",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_DIRECTION_ASCENDING": {
              "name": "SORT_DIRECTION_ASCENDING",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Sorting parameter ASCENDING",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_DIRECTION_DESCENDING": {
              "name": "SORT_DIRECTION_DESCENDING",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Sorting parameter DESCENDING",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_DIRECTION_NONE": {
              "name": "SORT_DIRECTION_NONE",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Sorting parameter NO_SORT - will remove a sorting condition",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "count": {
              "name": "count",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of search results found by this search.",
              "deprecated": false,
              "type": "property"
            },
            "emptyQuery": {
              "name": "emptyQuery",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the query is emtpy when no search term, search parameter or\n refinement was specified for the search. In case also no result is\n returned. This \"empty\" is different to a query with a specified query and\n with an empty result.",
              "deprecated": false,
              "type": "property"
            },
            "refinedByAttribute": {
              "name": "refinedByAttribute",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The method returns true, if this search is refined by at least one\n attribute.",
              "deprecated": false,
              "type": "property"
            },
            "refinedSearch": {
              "name": "refinedSearch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this was a refined search. A search is a refined search if\n at least one refinement is part of the query.",
              "deprecated": false,
              "type": "property"
            },
            "searchPhrase": {
              "name": "searchPhrase",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The search phrase used in this search.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addRefinementValues": {
              "name": "addRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement value to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a refinement. The method can be called to add an additional query\n parameter specified as name-value pair. The values string may encode\n multiple values delimited by the pipe symbol ('|').",
              "deprecated": false
            },
            "canRelax": {
              "name": "canRelax",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the search can be relaxed without creating a search for all searchable items, false otherwise."
              },
              "description": "Identifies if the search can be relaxed without creating a search for all\n searchable items.",
              "deprecated": false
            },
            "getCount": {
              "name": "getCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of search results found by this search."
              },
              "description": "Returns the number of search results found by this search.",
              "deprecated": false
            },
            "getRefinementMaxValue": {
              "name": "getRefinementMaxValue",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute whose refinement value is returned.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the maximum refinement value selected in the query for the specific attribute."
              },
              "description": "Returns the maximum refinement value selected in the query for the specific\n attribute, or null if there is no maximum refinement value or no refinement for that attribute.",
              "deprecated": false
            },
            "getRefinementMinValue": {
              "name": "getRefinementMinValue",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute whose refinement value is returned.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the minimum refinement value selected in the query for the specific attribute."
              },
              "description": "Returns the minimum refinement value selected in the query for the specific\n attribute, or null if there is no minimum refinement value or no refinement for that attribute.",
              "deprecated": false
            },
            "getRefinementValue": {
              "name": "getRefinementValue",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute whose refinement value is returned.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the refinement value selected in the query for the specific attribute."
              },
              "description": "Returns the refinement value selected in the query for the specific\n attribute, or null if there is no refinement for that attribute.",
              "deprecated": true
            },
            "getRefinementValues": {
              "name": "getRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The name of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "A list of values currently selected for the refinement attribute."
              },
              "description": "Returns the list of selected refinement values for the given attribute as\n used in the search.",
              "deprecated": false
            },
            "getSearchPhrase": {
              "name": "getSearchPhrase",
              "args": [],
              "class": {
                "name": "String",
                "description": "the search phrase used in this search."
              },
              "description": "Returns the search phrase used in this search.",
              "deprecated": false
            },
            "getSearchRedirect": {
              "name": "getSearchRedirect",
              "args": [
                {
                  "name": "searchPhrase",
                  "description": "a search phrase to lookup a URLRedirect for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URLRedirect",
                "description": "URLRedirect containing the location and status code, null in case no redirect was found for the search phrase."
              },
              "description": "Returns an URLRedirect object for a search phrase.",
              "deprecated": false
            },
            "getSortingCondition": {
              "name": "getSortingCondition",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "zero if no sorting order set, or the sorting order"
              },
              "description": "Returns the sorting condition for a given attribute name. A value of 0\n indicates that no sorting condition is set.",
              "deprecated": false
            },
            "isEmptyQuery": {
              "name": "isEmptyQuery",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the query is emtpy when no search term, search parameter or refinement was specified for the search."
              },
              "description": "Identifies if the query is emtpy when no search term, search parameter or\n refinement was specified for the search. In case also no result is\n returned. This \"empty\" is different to a query with a specified query and\n with an empty result.",
              "deprecated": false
            },
            "isRefinedByAttribute": {
              "name": "isRefinedByAttribute",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined on the attribute, false otherwise."
              },
              "description": "Identifies if this search has been refined on the given attribute.",
              "deprecated": false
            },
            "isRefinedByAttribute0": {
              "name": "isRefinedByAttribute",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if the search is refined by at least one attribute, false otherwise."
              },
              "description": "The method returns true, if this search is refined by at least one\n attribute.",
              "deprecated": false
            },
            "isRefinedByAttributeValue": {
              "name": "isRefinedByAttributeValue",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The value to be checked for inclusion in the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined on the attribute and value, false otherwise."
              },
              "description": "Identifies if this search has been refined on the given attribute and\n value.",
              "deprecated": false
            },
            "isRefinedSearch": {
              "name": "isRefinedSearch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a refined search, false otherwise."
              },
              "description": "Identifies if this was a refined search. A search is a refined search if\n at least one refinement is part of the query.",
              "deprecated": false
            },
            "isRefinementByValueRange": {
              "name": "isRefinementByValueRange",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined on the attribute, false otherwise."
              },
              "description": "Identifies if this search has been refined on the given attribute.",
              "deprecated": false
            },
            "isRefinementByValueRange0": {
              "name": "isRefinementByValueRange",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "minValue",
                  "description": "The minimum value to be checked for inclusion in the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxValue",
                  "description": "The maximum value to be checked for inclusion in the refinement.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "True if the search is refined on the attribute and range values, false otherwise."
              },
              "description": "Identifies if this search has been refined on the given attribute and range values.",
              "deprecated": false
            },
            "removeRefinementValues": {
              "name": "removeRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement value to remove or null to remove all values",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes a refinement. The method can be called to remove previously added\n refinement values. The values string may encode multiple values delimited\n by the pipe symbol ('|').",
              "deprecated": false
            },
            "search": {
              "name": "search",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Execute the search.",
              "deprecated": false
            },
            "setRefinementValueRange": {
              "name": "setRefinementValueRange",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "minValue",
                  "description": "the minimum refinement boundary value to set or null to remove the minimum boundary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxValue",
                  "description": "the maximum refinement boundary value to set or null to remove the maximum boundary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a refinement value range for an attribute. The method can be called to set\n an additional range query parameter specified as name-range-value pair. The values\n string can contain only a range boundary.\n Existing refinement values for the attribute will be removed.",
              "deprecated": false
            },
            "setRefinementValues": {
              "name": "setRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement values to set (delimited by '|') or null to remove all values",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets refinement values for an attribute. The method can be called to set\n an additional query parameter specified as name-value pair. The value\n string may encode multiple values delimited by the pipe symbol ('|').\n Existing refinement values for the attribute will be removed.",
              "deprecated": false
            },
            "setSearchPhrase": {
              "name": "setSearchPhrase",
              "args": [
                {
                  "name": "phrase",
                  "description": "the search phrase used in this search.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the search phrase used in this search. The search query parser uses\n the following operators:\n\n \n PHRASE operator (\"\"), e.g. \"cream cheese\", \"John Lennon\"\n NOT operator (-), e.g. -cargo (will not return results containing\n \"cargo\")\n WILDCARD operator (*), e.g. sho* (will return results containing\n \"shoulder\", \"shoes\" and \"shoot\")",
              "deprecated": false
            },
            "setSortingCondition": {
              "name": "setSortingCondition",
              "args": [
                {
                  "name": "attributeID",
                  "description": "the attribute ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "direction",
                  "description": "SORT_DIRECTION_ASCENDING, SORT_DIRECTION_DESCENDING or SORT_DIRECTION_NONE",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets or removes a sorting condition for the specified attribute. Specify\n either SORT_DIRECTION_ASCENDING or SORT_DIRECTION_DESCENDING to set a\n sorting condition. Specify SORT_DIRECTION_NONE to remove a sorting\n condition from the attribute.",
              "deprecated": false
            },
            "url": {
              "name": "url",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that can be used to re-execute the exact same query."
              },
              "description": "Constructs an URL that you can use to re-execute the exact same query.\n The provided parameter must be an action, e.g. 'Search-Show'.",
              "deprecated": false
            },
            "url0": {
              "name": "url",
              "args": [
                {
                  "name": "url",
                  "description": "the url to use.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "a new url URL that can be used to re-execute the exact same query."
              },
              "description": "Constructs an URL that you can use to re-execute the exact same query.\n The search specific parameter are appended to the provided URL. The URL\n is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlDefaultSort": {
              "name": "urlDefaultSort",
              "args": [
                {
                  "name": "url",
                  "description": "url or pipeline name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with a default\n sorting. The provided parameter must be an action, e.g. 'Search-Show'.",
              "deprecated": false
            },
            "urlDefaultSort0": {
              "name": "urlDefaultSort",
              "args": [
                {
                  "name": "url",
                  "description": "url or pipeline name",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with a default\n sorting. The search specific parameters are appended to the provided URL.\n The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRefineAttribute": {
              "name": "urlRefineAttribute",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value for the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with an\n additional refinement.",
              "deprecated": false
            },
            "urlRefineAttribute0": {
              "name": "urlRefineAttribute",
              "args": [
                {
                  "name": "url",
                  "description": "url",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the ID of the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "value for the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with an\n additional refinement. The search specific parameters are appended to the\n provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRefineAttributeValue": {
              "name": "urlRefineAttributeValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the additional value for the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with an\n additional refinement value for a given refinement attribute. The\n provided value will be added to the set of allowed values for the\n refinement attribute. This basically broadens the search result.",
              "deprecated": false
            },
            "urlRefineAttributeValue0": {
              "name": "urlRefineAttributeValue",
              "args": [
                {
                  "name": "url",
                  "description": "url",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "ID of the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the additional value for the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with an\n additional refinement value for a given refinement attribute. The\n provided value will be added to the set of allowed values for the\n refinement attribute. This basically broadens the search result.\n\n The search specific parameters are appended to the provided URL. The URL\n is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRefineAttributeValueRange": {
              "name": "urlRefineAttributeValueRange",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "ID of the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "minValue",
                  "description": "the min value for the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxValue",
                  "description": "the max value for the refinement attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with an additional refinement value range for a given refinement attribute. The\n provided value range will be replace to the existing value range for the refinement attribute.\n\n The search specific parameters are appended to the provided URL. The URL is typically generated with one of the URLUtils methods.",
              "deprecated": false
            },
            "urlRelaxAttribute": {
              "name": "urlRelaxAttribute",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "ID of the refinement attribute to be removed",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query without the\n specified refinement. The value for the action parameter must be a\n pipeline action, e.g. 'Search-Show'.",
              "deprecated": false
            },
            "urlRelaxAttribute0": {
              "name": "urlRelaxAttribute",
              "args": [
                {
                  "name": "url",
                  "description": "the url to use.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the ID of the refinement attribute to be removed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query without the\n specified refinement. The search specific parameters are appended to the\n provided URL. The URL is typically generated with one of the URLUtils\n methods.",
              "deprecated": false
            },
            "urlRelaxAttributeValue": {
              "name": "urlRelaxAttributeValue",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline action.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "ID of the refinement attribute to be removed",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value that should be removed from the list of refinement values.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query without the\n specified refinement. The value for the action parameter must be a\n pipeline action, e.g. 'Search-Show'.",
              "deprecated": false
            },
            "urlRelaxAttributeValue0": {
              "name": "urlRelaxAttributeValue",
              "args": [
                {
                  "name": "url",
                  "description": "the url to use.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "attributeID",
                  "description": "the ID of the refinement attribute to relax the value for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value that should be removed from the list of refinement values.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "the new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query without the\n specified refinement value. The search specific parameters are appended\n to the provided URL. The URL is typically generated with one of the\n URLUtils methods.",
              "deprecated": false
            },
            "urlSort": {
              "name": "urlSort",
              "args": [
                {
                  "name": "action",
                  "description": "Pipeline action",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortBy",
                  "description": "ID of the sort attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortDir",
                  "description": "Sort direction. 1 - ASCENDING (default), 2 - DESCENDING",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "The new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with a\n specific sorting criteria. This criteria will overwrite all previous sort\n critiria. The provided parameter must be an action, e.g. 'Search-Show'.",
              "deprecated": false
            },
            "urlSort0": {
              "name": "urlSort",
              "args": [
                {
                  "name": "url",
                  "description": "URL",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "sortBy",
                  "description": "ID of the sort attribute",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortDir",
                  "description": "Sort direction. 1 - ASCENDING (default), 2 - DESCENDING",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "The new URL."
              },
              "description": "Constructs an URL that you can use to re-execute the query with a\n specific sorting criteria. This criteria will overwrite all previous sort\n critiria. The search specific parameters are appended to the provided\n URL. The URL is typically generated with one of the URLUtils methods.",
              "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
            }
          }
        },
        "SearchRefinementValue": {
          "fullClassName": "dw.catalog.SearchRefinementValue",
          "package": "dw.catalog",
          "description": "Represents the value of a product or content search refinement.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The optional refinement value description in the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayValue": {
              "name": "displayValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The refinement display value. For attribute refinements, this is\n the appropriate display value based on optional value display names\n within the object attribute definition. If no display name is defined,\n the value itself is returned. For category refinements, this is the\n display name of the category in the current locale. For price\n refinements, this is a string representation of the range appropriate for\n display.",
              "deprecated": false,
              "type": "property"
            },
            "hitCount": {
              "name": "hitCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The hit count value.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The refinement value's ID. For attribute refinements, this will\n be the ID of the corresponding\n ObjectAttributeDefinition. This ID is included in the\n querystring parameter names returned by the URL-generating methods of\n SearchModel. For price and category refinements, this\n value will be empty.",
              "deprecated": false,
              "type": "property"
            },
            "presentationID": {
              "name": "presentationID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The optional presentation ID associated with this refinement\n value. The presentation ID can be used, for example, to associate an ID\n with an HTML widget.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The refinement value. For attribute refinements, this is the\n attribute value if the refinement values are unbucketed, or the bucket\n display name if the values are bucketed. This value is included in the\n querystring parameter values returned by the URL-generating methods of\n SearchModel. For price refinements, the value will be\n a string representation of the price range lower bound. For category\n refinements, the value will be a category ID.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the optional refinement value description in the current locale, or null if none is defined."
              },
              "description": "Returns the optional refinement value description in the current locale.",
              "deprecated": false
            },
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the refinement display value in the current locale."
              },
              "description": "Returns the refinement display value. For attribute refinements, this is\n the appropriate display value based on optional value display names\n within the object attribute definition. If no display name is defined,\n the value itself is returned. For category refinements, this is the\n display name of the category in the current locale. For price\n refinements, this is a string representation of the range appropriate for\n display.",
              "deprecated": false
            },
            "getHitCount": {
              "name": "getHitCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the hit count value."
              },
              "description": "Returns the hit count value.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the refinement value's ID."
              },
              "description": "Returns the refinement value's ID. For attribute refinements, this will\n be the ID of the corresponding\n ObjectAttributeDefinition. This ID is included in the\n querystring parameter names returned by the URL-generating methods of\n SearchModel. For price and category refinements, this\n value will be empty.",
              "deprecated": false
            },
            "getPresentationID": {
              "name": "getPresentationID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the presentation ID, or null if none is defined."
              },
              "description": "Returns the optional presentation ID associated with this refinement\n value. The presentation ID can be used, for example, to associate an ID\n with an HTML widget.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the refinement value."
              },
              "description": "Returns the refinement value. For attribute refinements, this is the\n attribute value if the refinement values are unbucketed, or the bucket\n display name if the values are bucketed. This value is included in the\n querystring parameter values returned by the URL-generating methods of\n SearchModel. For price refinements, the value will be\n a string representation of the price range lower bound. For category\n refinements, the value will be a category ID.",
              "deprecated": false
            }
          }
        },
        "SearchRefinements": {
          "fullClassName": "dw.catalog.SearchRefinements",
          "package": "dw.catalog",
          "description": "Common search refinements base class.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ASCENDING": {
              "name": "ASCENDING",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Flag for an ascending sort.",
              "deprecated": false,
              "type": "constant"
            },
            "DESCENDING": {
              "name": "DESCENDING",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Flag for a descending sort.",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_VALUE_COUNT": {
              "name": "SORT_VALUE_COUNT",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Flag for sorting on value count.",
              "deprecated": false,
              "type": "constant"
            },
            "SORT_VALUE_NAME": {
              "name": "SORT_VALUE_NAME",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Flag for sorting on value name.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allRefinementDefinitions": {
              "name": "allRefinementDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted list of refinement definitions that are appropriate for\n the deepest common category (or deepest common folder) of the search\n result. The method concatenates the sorted refinement definitions per\n category starting at the root category until reaching the deepest common\n category.\n\n The method does not filter out refinement definitions that do\n not provide values for the current search result and can therefore also\n be used on empty search results.",
              "deprecated": false,
              "type": "property"
            },
            "refinementDefinitions": {
              "name": "refinementDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A sorted list of refinement definitions that are appropriate for\n the deepest common category (or deepest common folder) of the search\n result. The method concatenates the sorted refinement definitions per category\n starting at the root category until reaching the deepest common category.\n\n The method also filters out refinement definitions that do not provide\n any values for the current search result.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllRefinementDefinitions": {
              "name": "getAllRefinementDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A sorted list of refinement definitions appropriate for the search result (based on its deepest common category)"
              },
              "description": "Returns a sorted list of refinement definitions that are appropriate for\n the deepest common category (or deepest common folder) of the search\n result. The method concatenates the sorted refinement definitions per\n category starting at the root category until reaching the deepest common\n category.\n\n The method does not filter out refinement definitions that do\n not provide values for the current search result and can therefore also\n be used on empty search results.",
              "deprecated": false
            },
            "getAllRefinementValues": {
              "name": "getAllRefinementValues",
              "args": [
                {
                  "name": "attributeName",
                  "description": "The name of the attribute to return refinement values for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of SearchRefinementValue instances, sorted according to the settings of the refinement definition, or null if there is no refinement definition for the passed attribute name."
              },
              "description": "Returns a sorted collection of refinement values for the given refinement\n attribute. 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 attribute is excluded from filtering the search hits but all other\n refinement filters are still applied. This method is useful for rendering\n broadening options for attributes that the search is currently refined\n by. This method does NOT return refinement values independent of the\n search result.\n \n For product search refinements, this method may return slightly different\n results based on the \"value set\" property of the refinement definition.\n See\n ProductSearchRefinements.getAllRefinementValues(ProductSearchRefinementDefinition)\n for details.",
              "deprecated": false
            },
            "getAllRefinementValues0": {
              "name": "getAllRefinementValues",
              "args": [
                {
                  "name": "attributeName",
                  "description": "The name of the attribute to return refinement values for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortMode",
                  "description": "The sort mode to use to control how the collection is sorted.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "sortDirection",
                  "description": "The sort direction to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of SearchRefinementValue instances, sorted according to the passed parameters."
              },
              "description": "Returns a sorted collection of refinement values for the given refinement\n attribute. In general, the returned collection includes all refinement\n values for which hit count is greater than 0 within the search result\n assuming that:\n\n \n The passed refinement attribute is NOT used to filter the search\n hits.\n All other refinements are still applied.\n \n\n This is useful for rendering broadening options for the refinement\n definitions that the search is already refined by. It is important to\n note that this method does NOT return refinement values independent of\n the search result.\n \n For product search refinements, this method may return slightly different\n results based on the \"value set\" of the refinement definition. See\n ProductSearchRefinements.getAllRefinementValues(ProductSearchRefinementDefinition)\n for details.",
              "deprecated": false
            },
            "getRefinementDefinitions": {
              "name": "getRefinementDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A sorted list of refinement definitions appropriate for the search result (based on its deepest common category)"
              },
              "description": "Returns a sorted list of refinement definitions that are appropriate for\n the deepest common category (or deepest common folder) of the search\n result. The method concatenates the sorted refinement definitions per category\n starting at the root category until reaching the deepest common category.\n\n The method also filters out refinement definitions that do not provide\n any values for the current search result.",
              "deprecated": false
            },
            "getRefinementValues": {
              "name": "getRefinementValues",
              "args": [
                {
                  "name": "attributeName",
                  "description": "The attribute name to use when collection refinement values.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortMode",
                  "description": "The sort mode to use to control how the collection is sorted.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "sortDirection",
                  "description": "The sort direction to use.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "The collection of refinement values."
              },
              "description": "Returns a collection of refinement values for the given refinement\n attribute, sorting mode and sorting direction.",
              "deprecated": false
            }
          }
        },
        "SortingOption": {
          "fullClassName": "dw.catalog.SortingOption",
          "package": "dw.catalog",
          "description": "Represents an option for how to sort products in storefront search results.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the sorting option for the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of the of the sorting option for the current locale.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the sorting option.",
              "deprecated": false,
              "type": "property"
            },
            "sortingRule": {
              "name": "sortingRule",
              "class": {
                "name": "SortingRule"
              },
              "static": false,
              "readonly": true,
              "description": "The sorting rule for this sorting option,\n or null if there is no associated rule.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "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 sorting option for the current locale.",
              "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 sorting option for the current locale.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "sorting option ID"
              },
              "description": "Returns the ID of the sorting option.",
              "deprecated": false
            },
            "getSortingRule": {
              "name": "getSortingRule",
              "args": [],
              "class": {
                "name": "SortingRule",
                "description": "a ProductSortingRule instance representing the rule for this option or null."
              },
              "description": "Returns the sorting rule for this sorting option,\n or null if there is no associated rule.",
              "deprecated": false
            }
          }
        },
        "SortingRule": {
          "fullClassName": "dw.catalog.SortingRule",
          "package": "dw.catalog",
          "description": "Represents a product sorting rule for use with the <a href=\"class_dw_catalog_ProductSearchModel.html\">ProductSearchModel</a>.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the sorting rule.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "sorting rule ID"
              },
              "description": "Returns the ID of the sorting rule.",
              "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
            }
          }
        },
        "StoreGroup": {
          "fullClassName": "dw.catalog.StoreGroup",
          "package": "dw.catalog",
          "description": "Represents a store group. Store groups can be used to group the stores for different marketing purposes.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the store group.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the store group.",
              "deprecated": false,
              "type": "property"
            },
            "stores": {
              "name": "stores",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All the stores that are assigned to the store group.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the store group"
              },
              "description": "Returns the ID of the store group.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "name of the store group"
              },
              "description": "Returns the name of the store group.",
              "deprecated": false
            },
            "getStores": {
              "name": "getStores",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "collection of the stores"
              },
              "description": "Returns all the stores that are assigned to the store group.",
              "deprecated": false
            }
          }
        },
        "StoreMgr": {
          "fullClassName": "dw.catalog.StoreMgr",
          "package": "dw.catalog",
          "description": "Provides helper methods for getting stores based on id and querying for\n stores based on geolocation.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "allStoreGroups": {
              "name": "allStoreGroups",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "All the store groups of the current site.",
              "deprecated": false,
              "type": "property"
            },
            "storeIDFromSession": {
              "name": "storeIDFromSession",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "Get the store id associated with the current session. By default, the session store id is null.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllStoreGroups": {
              "name": "getAllStoreGroups",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "The store groups of the current site."
              },
              "description": "Returns all the store groups of the current site.",
              "deprecated": false
            },
            "getStore": {
              "name": "getStore",
              "args": [
                {
                  "name": "storeID",
                  "description": "the store identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Store",
                "description": "Store for specified id or null."
              },
              "description": "Returns the store object with the specified id or null if store with this\n id does not exist in the site.",
              "deprecated": false
            },
            "getStoreGroup": {
              "name": "getStoreGroup",
              "args": [
                {
                  "name": "storeGroupID",
                  "description": "the store group identifier.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "StoreGroup",
                "description": "The store group for specified id or null."
              },
              "description": "Returns the store group with the specified id or null if the store group with this id does not exist in the current site.",
              "deprecated": false
            },
            "getStoreIDFromSession": {
              "name": "getStoreIDFromSession",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "store id, null is returned and means no store id is set on session"
              },
              "description": "Get the store id associated with the current session. By default, the session store id is null.",
              "deprecated": false
            },
            "searchStoresByCoordinates": {
              "name": "searchStoresByCoordinates",
              "args": [
                {
                  "name": "latitude",
                  "description": "Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "longitude",
                  "description": "Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "distanceUnit",
                  "description": "The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxDistance",
                  "description": "Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "optional filter criteria specified as querystring.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the arguments to fill in the values in the querystring.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "LinkedHashMap",
                "description": "The stores and their distance from the specified location, sorted in ascending order by distance."
              },
              "description": "Search for stores based on geo-coordinates. The method returns a list of\n stores for the current site that are within a specified distance of a\n location on the earth and which optionally satisfy additional filter\n criteria. If no additional criteria are specified, then this method\n behaves similar to GetNearestStores pipelet. The criteria are specified\n as a querystring, using the same syntax as\n SystemObjectMgr.querySystemObjects(String, String, String, Object...)\n \n The stores and their distance from the specified location are returned as\n a LinkedHashMap of Store objects to distances, sorting in ascending order\n by distance. The distance is interpreted either in miles or kilometers\n depending on the \"distanceUnit\" parameter.\n \n The latitude and longitude of each store is determined by first looking\n at Store.getLatitude() and\n Store.getLongitude(). If these are not set, then the\n system deduces the location of the store by looking for a configured\n geolocation matching the store's postal and country codes.",
              "deprecated": false
            },
            "searchStoresByCoordinates0": {
              "name": "searchStoresByCoordinates",
              "args": [
                {
                  "name": "latitude",
                  "description": "Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "longitude",
                  "description": "Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "distanceUnit",
                  "description": "The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxDistance",
                  "description": "Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "LinkedHashMap",
                "description": "The stores and their distance from the specified location, sorted in ascending order by distance."
              },
              "description": "Convenience method.  Same as searchStoresByCoordinates(latitude, longitude, distanceUnit, maxDistance, null).",
              "deprecated": false
            },
            "searchStoresByPostalCode": {
              "name": "searchStoresByPostalCode",
              "args": [
                {
                  "name": "countryCode",
                  "description": "The country code for the search area, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "postalCode",
                  "description": "The postal code for the center of the search area, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "distanceUnit",
                  "description": "The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxDistance",
                  "description": "Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "An optional search querystring which provides additional criteria to filter stores by.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "The arguments providing the dynamic values to the querystring.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "LinkedHashMap",
                "description": "The stores and their distance from the specified location, sorted in ascending order by distance."
              },
              "description": "Search for stores by country/postal code and optionally by additional\n filter criteria. This method is analagous to\n searchStoresByCoordinates(Number, Number, String, Number, String, Object...)\n but identifies a location on the earth indirectly using country and\n postal code. The method will look first in the saved geolocations of the\n system to find a geolocation matching the passed country and postal code.\n If none is found, this method will return an empty map. If one is found,\n it will use the latitude/longitude of the found geolocation as the center\n of the search.",
              "deprecated": false
            },
            "searchStoresByPostalCode0": {
              "name": "searchStoresByPostalCode",
              "args": [
                {
                  "name": "countryCode",
                  "description": "The country code for the search area, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "postalCode",
                  "description": "The postal code for the center of the search area, must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "distanceUnit",
                  "description": "The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxDistance",
                  "description": "Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "LinkedHashMap",
                "description": "The stores and their distance from the specified location, sorted in ascending order by distance."
              },
              "description": "Convenience method.  Same as searchStoresByPostalCode(countryCode, postalCode, distanceUnit, maxDistance, null).",
              "deprecated": false
            },
            "setStoreIDToSession": {
              "name": "setStoreIDToSession",
              "args": [
                {
                  "name": "storeID",
                  "description": "the id of the store. The leading and trailing white spaces are removed by system from storeID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the store id for the current session. The store id is also saved on the cookie with the cookie name\n \"dw_store\" with no expiration time. Null is allowed to remove store id from session, when null is passed in, the\n cookie will be removed when browser exits.",
              "deprecated": false
            }
          }
        },
        "Variant": {
          "fullClassName": "dw.catalog.Variant",
          "package": "dw.catalog",
          "description": "Represents a variant of a product variation. If the variant does not define an own value,\n the value is retrieved by fallback from variation groups (sorted by their position) or the\n variation master.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.catalog.Product"
            }
          ],
          "constants": {},
          "properties": {
            "allProductLinks": {
              "name": "allProductLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product links of the product variant. \n\n If the variant does not define any product links, the product links are retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define any product links, the product links are\n retrieved from the master product.",
              "deprecated": false,
              "type": "property"
            },
            "brand": {
              "name": "brand",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The brand of the product variant. \n\n If the variant does not define an own value for 'brand', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'brand', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "classificationCategory": {
              "name": "classificationCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The classification category of the product variant. \n\n Please note that the classification category is always inherited\n from the master and cannot be overridden by the variant.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes of the variant. \n\n Custom attributes are inherited from the master product and can\n be overridden by the variant.",
              "deprecated": false,
              "type": "property"
            },
            "EAN": {
              "name": "EAN",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The EAN of the product variant. \n\n If the variant does not define an own value for 'EAN', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'EAN', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The image of the product variant. \n\n If the variant does not define an own value for 'image', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'image', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "longDescription": {
              "name": "longDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The long description of the product variant. \n\n If the variant does not define an own value for 'longDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'longDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerName": {
              "name": "manufacturerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The manufacturer name of the product variant. \n\n If the variant does not define an own value for 'manufacturerName', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'manufacturerName', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerSKU": {
              "name": "manufacturerSKU",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The manufacturer sku of the product variant. \n\n If the variant does not define an own value for 'manufacturerSKU', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'manufacturerSKU', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "masterProduct": {
              "name": "masterProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductMaster for this mastered product.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the product variant. \n\n If the variant does not define an own value for 'name', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'name', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The onlineFrom date of the product variant. \n\n If the variant does not define an own value for 'onlineFrom', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'onlineFrom', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The onlineTo date of the product variant. \n\n If the variant does not define an own value for 'onlineTo', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'onlineTo', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "optionProduct": {
              "name": "optionProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the variant has any options, otherwise 'false'.\n Method also returns 'true' if the variant has not any options,\n but the related variation groups (sorted by position) or\n master product has options.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageDescription of the product variant. \n\n If the variant does not define an own value for 'pageDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageKeywords of the product variant. \n\n If the variant does not define an own value for 'pageKeywords', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageKeywords', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageTitle of the product variant. \n\n If the variant does not define an own value for 'pageTitle', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageTitle', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageURL of the product variant. \n\n If the variant does not define an own value for 'pageURL', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageURL', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "productLinks": {
              "name": "productLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product links of the product variant for which the target\n product is assigned to the current site catalog. \n\n If the variant does not define any product links, the product links are retrieved\n from the assigned variation groups, sorted by their position\n\n If none of the variation groups define any product links, the product links are retrieved\n from the master product.",
              "deprecated": false,
              "type": "property"
            },
            "shortDescription": {
              "name": "shortDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The short description of the product variant. \n\n If the variant does not define an own value for 'shortDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'shortDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "taxClassID": {
              "name": "taxClassID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The tax class id of the product variant. \n\n If the variant does not define an own value for 'taxClassID', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'taxClassID', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The rendering template name of the product variant. \n\n If the variant does not define an own value for 'template', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'template', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "thumbnail": {
              "name": "thumbnail",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The thumbnail image of the product variant. \n\n If the variant does not define an own value for 'thumbnail', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'thumbnail', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "unit": {
              "name": "unit",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The sales unit of the product variant as defined by the\n master product. \n\n If the variant does not define an own value for 'unit', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'unit', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "unitQuantity": {
              "name": "unitQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The unitQuantity of the product variant as defined by the\n master product. \n\n If the variant does not define an own value for 'unitQuantity', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'unitQuantity', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "UPC": {
              "name": "UPC",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The UPC of the product variant. \n\n If the variant does not define an own value for 'UPC', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'UPC', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllProductLinks": {
              "name": "getAllProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All product links of the variant, variation group or master"
              },
              "description": "Returns all product links of the product variant. \n\n If the variant does not define any product links, the product links are retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define any product links, the product links are\n retrieved from the master product.",
              "deprecated": false
            },
            "getAllProductLinks0": {
              "name": "getAllProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "Type of the product link",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product links of specified type of the variant, variation group or master"
              },
              "description": "Returns all product links of the specified type of the product variant. \n\n If the variant does not define any product links of the specified type,\n the product links are retrieved for the specified type from the assigned\n variation groups, sorted by their position.\n\n If none of the variation groups define any product links of the specified type,\n the product links are retrieved for the specified type from the master product.",
              "deprecated": false
            },
            "getBrand": {
              "name": "getBrand",
              "args": [],
              "class": {
                "name": "String",
                "description": "The brand of the variant, variation group or master"
              },
              "description": "Returns the brand of the product variant. \n\n If the variant does not define an own value for 'brand', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'brand', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getClassificationCategory": {
              "name": "getClassificationCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "The classification category as defined for the master product of the variant"
              },
              "description": "Returns the classification category of the product variant. \n\n Please note that the classification category is always inherited\n from the master and cannot be overridden by the variant.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes of the variant."
              },
              "description": "Returns the custom attributes of the variant. \n\n Custom attributes are inherited from the master product and can\n be overridden by the variant.",
              "deprecated": false
            },
            "getEAN": {
              "name": "getEAN",
              "args": [],
              "class": {
                "name": "String",
                "description": "The EAN of the variant, variation group or master"
              },
              "description": "Returns the EAN of the product variant. \n\n If the variant does not define an own value for 'EAN', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'EAN', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "The image of the variant, variation group or master"
              },
              "description": "Returns the image of the product variant. \n\n If the variant does not define an own value for 'image', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'image', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getLongDescription": {
              "name": "getLongDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The long description of the variant, variation group or master"
              },
              "description": "Returns the long description of the product variant. \n\n If the variant does not define an own value for 'longDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'longDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getManufacturerName": {
              "name": "getManufacturerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The manufacturer name of the variant, variation group or master"
              },
              "description": "Returns the manufacturer name of the product variant. \n\n If the variant does not define an own value for 'manufacturerName', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'manufacturerName', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getManufacturerSKU": {
              "name": "getManufacturerSKU",
              "args": [],
              "class": {
                "name": "String",
                "description": "The manufacturer sku of the variant, variation group or master"
              },
              "description": "Returns the manufacturer sku of the product variant. \n\n If the variant does not define an own value for 'manufacturerSKU', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'manufacturerSKU', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getMasterProduct": {
              "name": "getMasterProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the ProductMaster of this mastered product"
              },
              "description": "Returns the ProductMaster for this mastered product.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the variant, variation group or master"
              },
              "description": "Returns the name of the product variant. \n\n If the variant does not define an own value for 'name', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'name', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "The onlineFrom date of the variant, variation group or master"
              },
              "description": "Returns the onlineFrom date of the product variant. \n\n If the variant does not define an own value for 'onlineFrom', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'onlineFrom', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "The onlineTo date of the variant, variation group or master"
              },
              "description": "Returns the onlineTo date of the product variant. \n\n If the variant does not define an own value for 'onlineTo', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'onlineTo', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageDescription of the variant, variation group or master"
              },
              "description": "Returns the pageDescription of the product variant. \n\n If the variant does not define an own value for 'pageDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageKeywords of the variant, variation group or master"
              },
              "description": "Returns the pageKeywords of the product variant. \n\n If the variant does not define an own value for 'pageKeywords', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageKeywords', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageTitle of the variant, variation group or master"
              },
              "description": "Returns the pageTitle of the product variant. \n\n If the variant does not define an own value for 'pageTitle', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageTitle', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageURL of the variant, variation group or master"
              },
              "description": "Returns the pageURL of the product variant. \n\n If the variant does not define an own value for 'pageURL', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'pageURL', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getProductLinks": {
              "name": "getProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Product links of the variant, variation group or master"
              },
              "description": "Returns all product links of the product variant for which the target\n product is assigned to the current site catalog. \n\n If the variant does not define any product links, the product links are retrieved\n from the assigned variation groups, sorted by their position\n\n If none of the variation groups define any product links, the product links are retrieved\n from the master product.",
              "deprecated": false
            },
            "getProductLinks0": {
              "name": "getProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "Type of the product link",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product links of specified type of the variant, variation group or master"
              },
              "description": "Returns all product links of the specified type of the product variant\n for which the target product is assigned to the current site catalog. \n\n If the variant does not define any product links of the specified type,\n the product links are retrieved for the specified type from the assigned\n variation groups, sorted by their position\n\n If none of the variation groups define any product links of the specified type,\n the product links are retrieved for the specified type from the master product.",
              "deprecated": false
            },
            "getRecommendations": {
              "name": "getRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection, never null but possibly empty."
              },
              "description": "Retrieve the sorted collection of recommendations of the specified type\n for this product variant.  The types (cross-sell, up-sell, etc) are\n enumerated in the dw.catalog.Recommendation class.  Only\n recommendations which are stored in the current site catalog are returned.\n Furthermore, a recommendation is only returned if the target of the\n recommendation is assigned to the current site catalog.\n \n\n If the variant does not define any recommendations, recommendations are\n retrieved from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define any recommendations, the recommendations\n of the master are returned.",
              "deprecated": false
            },
            "getShortDescription": {
              "name": "getShortDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The short description of the variant, variation group or master"
              },
              "description": "Returns the short description of the product variant. \n\n If the variant does not define an own value for 'shortDescription', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'shortDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getTaxClassID": {
              "name": "getTaxClassID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The tax class id of the variant, variation group or master"
              },
              "description": "Returns the tax class id of the product variant. \n\n If the variant does not define an own value for 'taxClassID', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'taxClassID', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "The rendering template name of the variant, variation group or master"
              },
              "description": "Returns the rendering template name of the product variant. \n\n If the variant does not define an own value for 'template', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'template', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getThumbnail": {
              "name": "getThumbnail",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "The thumbnail image of the variant, variation group or master"
              },
              "description": "Returns the thumbnail image of the product variant. \n\n If the variant does not define an own value for 'thumbnail', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'thumbnail', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUnit": {
              "name": "getUnit",
              "args": [],
              "class": {
                "name": "String",
                "description": "The sales unit of the variant, variation group or master"
              },
              "description": "Returns the sales unit of the product variant as defined by the\n master product. \n\n If the variant does not define an own value for 'unit', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'unit', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUnitQuantity": {
              "name": "getUnitQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "The unitQuantity of the variant, variation group or master"
              },
              "description": "Returns the unitQuantity of the product variant as defined by the\n master product. \n\n If the variant does not define an own value for 'unitQuantity', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'unitQuantity', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUPC": {
              "name": "getUPC",
              "args": [],
              "class": {
                "name": "String",
                "description": "The UPC of the variant, variation group or master"
              },
              "description": "Returns the UPC of the product variant. \n\n If the variant does not define an own value for 'UPC', the value is retrieved\n from the assigned variation groups, sorted by their position.\n\n If none of the variation groups define a value for 'UPC', the value of\n the master product is returned.",
              "deprecated": false
            },
            "isOptionProduct": {
              "name": "isOptionProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the variant has any options, false otherwise."
              },
              "description": "Returns 'true' if the variant has any options, otherwise 'false'.\n Method also returns 'true' if the variant has not any options,\n but the related variation groups (sorted by position) or\n master product has options.",
              "deprecated": false
            }
          }
        },
        "VariationGroup": {
          "fullClassName": "dw.catalog.VariationGroup",
          "package": "dw.catalog",
          "description": "Class representing a group of variants within a master product who share a\n common value for one or more variation attribute values. Variation groups are\n used to simplify merchandising of products.\n <p>\n From a more technical perspective, variation groups are defined by two things:\n\n </p><ul>\n <li>A relation to a master product.</li>\n <li>A set of variation attributes which have fixed values.</li>\n </ul>\n A variant of the related master product is considered in the group if and\n only if it matches on the fixed variation attribute values.\n <p>\n Similar to a Variant, a VariationGroup does a fallback to the master product\n for all attributes (name, description, etc) and relations (recommendations,\n etc).</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.catalog.Product"
            }
          ],
          "constants": {},
          "properties": {
            "allProductLinks": {
              "name": "allProductLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product links of the product variation group. \n\n If the variation group does not define any product links, but the master product\n does, the product links of the master are returned.",
              "deprecated": false,
              "type": "property"
            },
            "brand": {
              "name": "brand",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The brand of the product variation group. \n\n If the variation group does not define an own value for 'brand', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "classificationCategory": {
              "name": "classificationCategory",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "The classification category of the product variation group. \n\n Please note that the classification category is always inherited\n from the master and cannot be overridden by the variation group.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The custom attributes of the variation group. \n\n Custom attributes are inherited from the master product and can\n be overridden by the variation group.",
              "deprecated": false,
              "type": "property"
            },
            "EAN": {
              "name": "EAN",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The EAN of the product variation group. \n\n If the variation group does not define an own value for 'EAN', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The image of the product variation group. \n\n If the variation group does not define an own value for 'image', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "longDescription": {
              "name": "longDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The long description of the product variation group. \n\n If the variation group does not define an own value for 'longDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerName": {
              "name": "manufacturerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The manufacturer name of the product variation group. \n\n If the variation group does not define an own value for 'manufacturerName', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "manufacturerSKU": {
              "name": "manufacturerSKU",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The manufacturer sku of the product variation group. \n\n If the variation group does not define an own value for 'manufacturerSKU', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "masterProduct": {
              "name": "masterProduct",
              "class": {
                "name": "Product"
              },
              "static": false,
              "readonly": true,
              "description": "The ProductMaster for this mastered product.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the product variation group. \n\n If the variation group does not define an own value for 'name', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "onlineFrom": {
              "name": "onlineFrom",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The onlineFrom date of the product variation group. \n\n If the variation group does not define an own value for 'onlineFrom', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "onlineTo": {
              "name": "onlineTo",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The onlineTo date of the product variation group. \n\n If the variation group does not define an own value for 'onlineTo', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "optionProduct": {
              "name": "optionProduct",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the variation group has any options, otherwise 'false'.\n Method also returns 'true' if the variation group has not any options,\n but the related master product has options.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageDescription of the product variation group. \n\n If the variation group does not define an own value for 'pageDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageKeywords of the product variation group. \n\n If the variation group does not define an own value for 'pageKeywords', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageTitle of the product variation group. \n\n If the variation group does not define an own value for 'pageTitle', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageURL": {
              "name": "pageURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The pageURL of the product variation group. \n\n If the variation group does not define an own value for 'pageURL', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "productLinks": {
              "name": "productLinks",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All product links of the product variation group for which the target\n product is assigned to the current site catalog. \n\n If the variation group does not define any product links, but the master product\n does, the product links of the master are returned.",
              "deprecated": false,
              "type": "property"
            },
            "shortDescription": {
              "name": "shortDescription",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The short description of the product variation group. \n\n If the variation group does not define an own value for 'shortDescription', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "taxClassID": {
              "name": "taxClassID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The tax class id of the product variation group. \n\n If the variation group does not define an own value for 'taxClassID', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "template": {
              "name": "template",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The rendering template name of the product variation group. \n\n If the variation group does not define an own value for 'template', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "thumbnail": {
              "name": "thumbnail",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The thumbnail image of the product variation group. \n\n If the variation group does not define an own value for 'thumbnailImage', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "unit": {
              "name": "unit",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The sales unit of the product variation group as defined by the\n master product. \n\n If the variation group does not define an own value for 'unit', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "unitQuantity": {
              "name": "unitQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The unitQuantity of the product variation group as defined by the\n master product. \n\n If the variation group does not define an own value for 'unitQuantity', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            },
            "UPC": {
              "name": "UPC",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The UPC of the product variation group. \n\n If the variation group does not define an own value for 'UPC', the value of\n the master product is returned.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllProductLinks": {
              "name": "getAllProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "All product links of the variation group or master"
              },
              "description": "Returns all product links of the product variation group. \n\n If the variation group does not define any product links, but the master product\n does, the product links of the master are returned.",
              "deprecated": false
            },
            "getAllProductLinks0": {
              "name": "getAllProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "Type of the product link",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product links of specified type of the variation group or master"
              },
              "description": "Returns all product links of the specified type of the product variation group. \n\n If the variation group does not define any product links, but the master product\n does, the product links of the master are returned.",
              "deprecated": false
            },
            "getBrand": {
              "name": "getBrand",
              "args": [],
              "class": {
                "name": "String",
                "description": "The brand of the variation group or master"
              },
              "description": "Returns the brand of the product variation group. \n\n If the variation group does not define an own value for 'brand', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getClassificationCategory": {
              "name": "getClassificationCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "The classification category as defined for the master product of the variation group"
              },
              "description": "Returns the classification category of the product variation group. \n\n Please note that the classification category is always inherited\n from the master and cannot be overridden by the variation group.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes of the variation group."
              },
              "description": "Returns the custom attributes of the variation group. \n\n Custom attributes are inherited from the master product and can\n be overridden by the variation group.",
              "deprecated": false
            },
            "getEAN": {
              "name": "getEAN",
              "args": [],
              "class": {
                "name": "String",
                "description": "The EAN of the variation group or master"
              },
              "description": "Returns the EAN of the product variation group. \n\n If the variation group does not define an own value for 'EAN', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "The image of the variation group or master"
              },
              "description": "Returns the image of the product variation group. \n\n If the variation group does not define an own value for 'image', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getLongDescription": {
              "name": "getLongDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The long description name of the variation group or master"
              },
              "description": "Returns the long description of the product variation group. \n\n If the variation group does not define an own value for 'longDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getManufacturerName": {
              "name": "getManufacturerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The manufacturer name of the variation group or master"
              },
              "description": "Returns the manufacturer name of the product variation group. \n\n If the variation group does not define an own value for 'manufacturerName', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getManufacturerSKU": {
              "name": "getManufacturerSKU",
              "args": [],
              "class": {
                "name": "String",
                "description": "The manufacturer sku of the variation group or master"
              },
              "description": "Returns the manufacturer sku of the product variation group. \n\n If the variation group does not define an own value for 'manufacturerSKU', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getMasterProduct": {
              "name": "getMasterProduct",
              "args": [],
              "class": {
                "name": "Product",
                "description": "the ProductMaster of this mastered product"
              },
              "description": "Returns the ProductMaster for this mastered product.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The name of the variation group or master"
              },
              "description": "Returns the name of the product variation group. \n\n If the variation group does not define an own value for 'name', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getOnlineFrom": {
              "name": "getOnlineFrom",
              "args": [],
              "class": {
                "name": "Date",
                "description": "The onlineFrom date of the variation group or master"
              },
              "description": "Returns the onlineFrom date of the product variation group. \n\n If the variation group does not define an own value for 'onlineFrom', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getOnlineTo": {
              "name": "getOnlineTo",
              "args": [],
              "class": {
                "name": "Date",
                "description": "The onlineTo date of the variation group or master"
              },
              "description": "Returns the onlineTo date of the product variation group. \n\n If the variation group does not define an own value for 'onlineTo', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageDescription of the variation group or master"
              },
              "description": "Returns the pageDescription of the product variation group. \n\n If the variation group does not define an own value for 'pageDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageKeywords of the variation group or master"
              },
              "description": "Returns the pageKeywords of the product variation group. \n\n If the variation group does not define an own value for 'pageKeywords', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageTitle of the variation group or master"
              },
              "description": "Returns the pageTitle of the product variation group. \n\n If the variation group does not define an own value for 'pageTitle', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getPageURL": {
              "name": "getPageURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "The pageURL of the variation group or master"
              },
              "description": "Returns the pageURL of the product variation group. \n\n If the variation group does not define an own value for 'pageURL', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getProductLinks": {
              "name": "getProductLinks",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Product links of the variation group or master"
              },
              "description": "Returns all product links of the product variation group for which the target\n product is assigned to the current site catalog. \n\n If the variation group does not define any product links, but the master product\n does, the product links of the master are returned.",
              "deprecated": false
            },
            "getProductLinks0": {
              "name": "getProductLinks",
              "args": [
                {
                  "name": "type",
                  "description": "Type of the product link",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Product links of specified type of the variation group or master"
              },
              "description": "Returns all product links of the specified type of the product variation group\n for which the target product is assigned to the current site catalog. \n\n If the variation group does not define any product links of the specified type,\n but the master product does, the product links of the master are returned.",
              "deprecated": false
            },
            "getRecommendations": {
              "name": "getRecommendations",
              "args": [
                {
                  "name": "type",
                  "description": "the recommendation type",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "the sorted collection, never null but possibly empty."
              },
              "description": "Retrieve the sorted collection of recommendations of the specified type\n for this product variation group.  The types (cross-sell, up-sell, etc) are\n enumerated in the dw.catalog.Recommendation class.  Only\n recommendations which are stored in the current site catalog are returned.\n Furthermore, a recommendation is only returned if the target of the\n recommendation is assigned to the current site catalog.\n \n If the variation group does not define any recommendations, but the master\n product does, the recommendations of the master are returned.",
              "deprecated": false
            },
            "getShortDescription": {
              "name": "getShortDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "The short description name of the variation group or master"
              },
              "description": "Returns the short description of the product variation group. \n\n If the variation group does not define an own value for 'shortDescription', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getTaxClassID": {
              "name": "getTaxClassID",
              "args": [],
              "class": {
                "name": "String",
                "description": "The tax class id of the variation group or master"
              },
              "description": "Returns the tax class id of the product variation group. \n\n If the variation group does not define an own value for 'taxClassID', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getTemplate": {
              "name": "getTemplate",
              "args": [],
              "class": {
                "name": "String",
                "description": "The rendering template name of the variation group or master"
              },
              "description": "Returns the rendering template name of the product variation group. \n\n If the variation group does not define an own value for 'template', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getThumbnail": {
              "name": "getThumbnail",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "The thumbnail image of the variation group or master"
              },
              "description": "Returns the thumbnail image of the product variation group. \n\n If the variation group does not define an own value for 'thumbnailImage', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUnit": {
              "name": "getUnit",
              "args": [],
              "class": {
                "name": "String",
                "description": "The sales unit of the variation group or master"
              },
              "description": "Returns the sales unit of the product variation group as defined by the\n master product. \n\n If the variation group does not define an own value for 'unit', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUnitQuantity": {
              "name": "getUnitQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "The unitQuantity of the variation group or master"
              },
              "description": "Returns the unitQuantity of the product variation group as defined by the\n master product. \n\n If the variation group does not define an own value for 'unitQuantity', the value of\n the master product is returned.",
              "deprecated": false
            },
            "getUPC": {
              "name": "getUPC",
              "args": [],
              "class": {
                "name": "String",
                "description": "The UPC of the variation group or master"
              },
              "description": "Returns the UPC of the product variation group. \n\n If the variation group does not define an own value for 'UPC', the value of\n the master product is returned.",
              "deprecated": false
            },
            "isOptionProduct": {
              "name": "isOptionProduct",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the variation group has any options, false otherwise."
              },
              "description": "Returns 'true' if the variation group has any options, otherwise 'false'.\n Method also returns 'true' if the variation group has not any options,\n but the related master product has options.",
              "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
            }
          }
        },
        "SecureRandom": {
          "fullClassName": "dw.crypto.SecureRandom",
          "package": "dw.crypto",
          "description": "The SecureRandom class provides a cryptographically strong random number generator (RNG).\n See the Internet Engineering Task Force (IETF) RFC 1750: <i>Randomness Recommendations for\n Security</i> for more information.\n\n <p> Typical callers of SecureRandom invoke the following methods to retrieve random bytes:\n\n </p><pre>      Bytes bytes...\n      SecureRandom random = new SecureRandom();\n      Bytes nextBytes = random.nextBytes(bytes);\n </pre>\n\n or more convenient to get a Bytes with the demanded length\n\n <pre>      int length = 32;\n      SecureRandom random = new SecureRandom();\n      Bytes nextBytes = random.nextBytes(length);\n </pre>\n\n dw.crypto.SecureRandom is intentionally an adapter for generating cryptographic hard random numbers.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "SecureRandom": {
              "name": "SecureRandom",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Instantiates a new secure random.",
              "deprecated": false
            }
          },
          "methods": {
            "generateSeed": {
              "name": "generateSeed",
              "args": [
                {
                  "name": "numBytes",
                  "description": "the number of seed bytes to generate.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "the seed bytes."
              },
              "description": "Returns the given number of seed bytes, computed using the seed\n generation algorithm that this class uses to seed itself.  This\n call may be used to seed other random number generators.",
              "deprecated": false
            },
            "nextBytes": {
              "name": "nextBytes",
              "args": [
                {
                  "name": "numBits",
                  "description": "the demanded number of bits",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "a randomly filled Bytes"
              },
              "description": "Generates a user-specified number of random bytes.\n\n  If a call to setSeed had not occurred previously,\n the first call to this method forces this SecureRandom object\n to seed itself.  This self-seeding will not occur if\n setSeed was previously called.",
              "deprecated": false
            },
            "nextInt": {
              "name": "nextInt",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the next pseudorandom, uniformly distributed int value from this random number generator's sequence"
              },
              "description": "Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence. The general\n contract of nextInt is that one int value is pseudorandomly generated and returned. All 232\n  possible int values are produced with (approximately) equal probability.",
              "deprecated": false
            },
            "nextInt0": {
              "name": "nextInt",
              "args": [
                {
                  "name": "upperBound",
                  "description": "the bound on the random number to be returned. Must be positive.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the next pseudorandom, uniformly distributed int value between 0 (inclusive) and upperBound (exclusive) from this random number generator's sequence"
              },
              "description": "Returns a pseudorandom, uniformly distributed int value\n between 0 (inclusive) and the specified value (exclusive), drawn from\n this random number generator's sequence.",
              "deprecated": false
            },
            "nextNumber": {
              "name": "nextNumber",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the next pseudorandom, uniformly distributed Number value between 0.0 and 1.0 from this random number generator's sequence"
              },
              "description": "Returns the next pseudorandom, uniformly distributed\n Number value between 0.0 (inclusive) and 1.0 (exclusive) from this random number generator's sequence.",
              "deprecated": false
            },
            "setSeed": {
              "name": "setSeed",
              "args": [
                {
                  "name": "seed",
                  "description": "the seed.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Reseeds this random object. The given seed supplements, rather than replaces, the existing seed. Thus, repeated calls are guaranteed never to reduce randomness.",
              "deprecated": false
            }
          }
        },
        "Signature": {
          "fullClassName": "dw.crypto.Signature",
          "package": "dw.crypto",
          "description": "<p>This class allows access to signature services offered through the Java\n Cryptography Architecture (JCA). At this time the signature/verification implementation of the\n methods is based on the default RSA JCE provider of the JDK - sun.security.rsa.SunRsaSign</p>\n\n <p>dw.crypto.Signature is an adapter to the security provider implementation\n and covers several digest algorithms:\n </p><ul>\n  <li>SHA1withRSA (deprecated)</li>\n  <li>SHA256withRSA</li>\n  <li>SHA384withRSA</li>\n  <li>SHA512withRSA</li>\n  <li>SHA256withRSA/PSS</li>\n  <li>SHA384withRSA/PSS</li>\n  <li>SHA512withRSA/PSS</li>\n </ul>\n <p></p>\n\n <p>Key size generally ranges between 512 and 65536 bits (the latter of which is unnecessarily large).<br>\n Default key size for RSA is 1024. SHA384withRSA and SHA512withRSA require a key with length of at least 1024 bits.<br>\n When choosing a key size - beware of the tradeoff between security and processing time:<br>\n The longer the key, the harder to break it but also it takes more time for the two sides to sign and verify the signature.<br>\n An exception will be thrown for keys shorter than 2048 bits in this version of the API.\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, 12, and other relevant requirements.\n </p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "SUPPORTED_DIGEST_ALGORITHMS_AS_ARRAY": {
              "name": "SUPPORTED_DIGEST_ALGORITHMS_AS_ARRAY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Supported digest algorithms exposed as a string array",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "Signature": {
              "name": "Signature",
              "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
            }
          }
        },
        "WeakCipher": {
          "fullClassName": "dw.crypto.WeakCipher",
          "package": "dw.crypto",
          "description": "This API provides access to Deprecated algorithms.\n <p>\n See <a href=\"class_dw_crypto_Cipher.html\">Cipher</a> for full documentation. WeakCipher is simply a drop-in replacement that <b>only</b> supports\n deprecated algorithms and key lengths. This is helpful when you need to deal with weak algorithms for backward\n compatibility purposes, but Cipher should always be used for new development and for anything intended to be secure.\n </p><p>\n <b>Note:</b> this class handles sensitive security-related data. Pay special attention to PCI DSS v3 requirements 2,\n 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": {
            "WeakCipher": {
              "name": "WeakCipher",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "decrypt": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded data to decrypt",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The decryption key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format.",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Decrypts the message using the given parameters. See\n Cipher.decrypt(String, String, String, String, Number) for full documentation.",
              "deprecated": false
            },
            "decrypt0": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded data to decrypt",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "No Comment In JavaDoc",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format.",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Alternative method to decrypt(String, String, String, String, Number), which allows using a key in the\n keystore for the decryption. See Cipher.decrypt(String, KeyRef, String, String, Number) for full\n documentation.",
              "deprecated": false
            },
            "decrypt01": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded data to decrypt",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "The decryption key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format.",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Decrypts the message using the given parameters. See\n Cipher.decrypt_3(String, String, String, String, Number) for full documentation.",
              "deprecated": false
            },
            "decrypt012": {
              "name": "decrypt",
              "args": [
                {
                  "name": "base64Msg",
                  "description": "the base64 encoded data to decrypt",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "No Comment In JavaDoc",
                  "class": {
                    "name": "KeyRef"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format.",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the original plaintext message."
              },
              "description": "Alternative method to decrypt_3(String, String, String, String, Number), which allows using a key in the\n keystore for the decryption. See Cipher.decrypt_3(String, KeyRef, String, String, Number) for full\n documentation.",
              "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. See Cipher.decryptBytes(Bytes, String, String, String, Number) for full\n documentation.",
              "deprecated": false
            },
            "decryptBytes0": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "The bytes to decrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "No Comment In JavaDoc",
                  "class": {
                    "name": "KeyRef"
                  },
                  "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": "Alternative method to decryptBytes(Bytes, String, String, String, Number), which allows to use a key in\n the keystore for the decryption. See Cipher.decryptBytes(Bytes, KeyRef, String, String, Number) for full\n documentation.",
              "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. See Cipher.decryptBytes_3(Bytes, String, String, String, Number) for full\n documentation.",
              "deprecated": false
            },
            "decryptBytes012": {
              "name": "decryptBytes",
              "args": [
                {
                  "name": "encryptedBytes",
                  "description": "The bytes to decrypt.",
                  "class": {
                    "name": "Bytes"
                  },
                  "multiple": false
                },
                {
                  "name": "privateKey",
                  "description": "No Comment In JavaDoc",
                  "class": {
                    "name": "KeyRef"
                  },
                  "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": "Alternative method to decryptBytes_3(Bytes, String, String, String, Number), which allows to use a key in\n the keystore for the decryption. See Cipher.decryptBytes_3(Bytes, KeyRef, String, String, Number) for full\n documentation.",
              "deprecated": false
            },
            "encrypt": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "Message to encrypt (this will be converted to UTF-8 first)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "Key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Base64-encoded encrypted data"
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n\n See Cipher.encrypt(String, String, String, String, Number) for full documentation.",
              "deprecated": false
            },
            "encrypt0": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "Message to encrypt (this will be converted to UTF-8 first)",
                  "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": "Transformation in \"algorithm/mode/padding\" format",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Base64-encoded encrypted data"
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n\n See Cipher.encrypt(String, CertificateRef, String, String, Number) for full documentation.",
              "deprecated": false
            },
            "encrypt01": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "Message to encrypt (this will be converted to UTF-8 first)",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "Key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transformation",
                  "description": "Transformation in \"algorithm/mode/padding\" format",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Base64-encoded encrypted data"
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n\n See Cipher.encrypt_3(String, String, String, String, Number) for full documentation.",
              "deprecated": false
            },
            "encrypt012": {
              "name": "encrypt",
              "args": [
                {
                  "name": "message",
                  "description": "Message to encrypt (this will be converted to UTF-8 first)",
                  "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": "Transformation in \"algorithm/mode/padding\" format",
                  "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, if applicable",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Base64-encoded encrypted data"
              },
              "description": "Encrypt the passed message by using the specified key and applying the\n transformations described by the specified parameters.\n\n See Cipher.encrypt_3(String, CertificateRef, String, String, Number) for full documentation.",
              "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": "Transformation in \"algorithm/mode/padding\" format.",
                  "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 specified key and applying the transformations\n described by the specified parameters. See Cipher.encryptBytes(Bytes, String, String, String, Number)\n for full documentation.",
              "deprecated": false
            },
            "encryptBytes0": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "The bytes to encrypt.",
                  "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": "Transformation in \"algorithm/mode/padding\" format.",
                  "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": "Alternative method to encryptBytes(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the encryption. See Cipher.encryptBytes(Bytes, CertificateRef, String, String, Number) for full documentation.",
              "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": "Transformation in \"algorithm/mode/padding\" format.",
                  "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 specified key and applying the transformations\n described by the specified parameters. See Cipher.encryptBytes_3(Bytes, String, String, String, Number)\n for full documentation.",
              "deprecated": false
            },
            "encryptBytes012": {
              "name": "encryptBytes",
              "args": [
                {
                  "name": "messageBytes",
                  "description": "The bytes to encrypt.",
                  "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": "Transformation in \"algorithm/mode/padding\" format.",
                  "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": "Alternative method to encryptBytes_3(Bytes, String, String, String, Number), which allows\n to use a key in the keystore for the encryption. See Cipher.encryptBytes_3(Bytes, CertificateRef, String, String, Number) for full documentation.",
              "deprecated": false
            }
          }
        },
        "WeakMac": {
          "fullClassName": "dw.crypto.WeakMac",
          "package": "dw.crypto",
          "description": "This API provides access to Deprecated algorithms.\n <p>\n See <a href=\"class_dw_crypto_Mac.html\">Mac</a> for full documentation. WeakMac 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\n compatibility purposes, but Mac should always be used for new development and for anything intended to be secure.\n </p><p>\n 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><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.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "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.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "WeakMac": {
              "name": "WeakMac",
              "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 HmacMD5\n HmacSHA1",
              "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
            }
          }
        },
        "WeakMessageDigest": {
          "fullClassName": "dw.crypto.WeakMessageDigest",
          "package": "dw.crypto",
          "description": "This API provides access to Deprecated algorithms.\n <p>\n See <a href=\"class_dw_crypto_MessageDigest.html\">MessageDigest</a> for full documentation. WeakMessageDigest 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\n compatibility purposes, but MessageDigest should always be used for new development and for anything intended to be secure.\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": {
            "DIGEST_MD2": {
              "name": "DIGEST_MD2",
              "value": "\"MD2\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the MD2 algorithm.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "type": "constant"
            },
            "DIGEST_MD5": {
              "name": "DIGEST_MD5",
              "value": "\"MD5\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the MD5 algorithm.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "type": "constant"
            },
            "DIGEST_SHA": {
              "name": "DIGEST_SHA",
              "value": "\"SHA\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA algorithm.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "type": "constant"
            },
            "DIGEST_SHA_1": {
              "name": "DIGEST_SHA_1",
              "value": "\"SHA-1\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the SHA 1 algorithm.\n \n This algorithm is obsolete. Do not use it for any sensitive data",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "WeakMessageDigest": {
              "name": "WeakMessageDigest",
              "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.",
              "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
            }
          }
        },
        "OrderHistory": {
          "fullClassName": "dw.customer.OrderHistory",
          "package": "dw.customer",
          "description": "The class provides access to past orders of the customer.\n <p>\n <b>Note:</b> This class allows access to sensitive financial and cardholder data. Pay special attention to PCI DSS\n v3. requirements 1, 3, 7, and 9. It also allows access to sensitive personal and private information. Pay attention\n to appropriate legal and regulatory requirements related to this data.\n <b>Note:</b> The following methods do not work with Salesforce Order Management orders.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "orderCount": {
              "name": "orderCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of orders the customer has placed in the store.\n \n If the customer is anonymous, this method always returns zero. If an active data record is available for this\n customer, the orders count is retrieved from that record, otherwise a real-time query is used to get the count.",
              "deprecated": false,
              "type": "property"
            },
            "orders": {
              "name": "orders",
              "class": {
                "name": "SeekableIterator"
              },
              "static": false,
              "readonly": true,
              "description": "Retrieves the order history for the customer in the current storefront site.\n \n If the result exceeds 1000 orders, only the first 1000 orders are retrieved. Same as\n\n  orderHistory.getOrders( null, \"creationDate DESC\" )\n \n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getOrderCount": {
              "name": "getOrderCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of orders the customer has placed in the store."
              },
              "description": "Returns the number of orders the customer has placed in the store.\n \n If the customer is anonymous, this method always returns zero. If an active data record is available for this\n customer, the orders count is retrieved from that record, otherwise a real-time query is used to get the count.",
              "deprecated": false
            },
            "getOrders": {
              "name": "getOrders",
              "args": [],
              "class": {
                "name": "SeekableIterator",
                "description": "the orders"
              },
              "description": "Retrieves the order history for the customer in the current storefront site.\n \n If the result exceeds 1000 orders, only the first 1000 orders are retrieved. Same as\n\n  orderHistory.getOrders( null, \"creationDate DESC\" )\n \n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.",
              "deprecated": false
            },
            "getOrders0": {
              "name": "getOrders",
              "args": [
                {
                  "name": "query",
                  "description": "optional query",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortString",
                  "description": "optional sort string",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "optional parameters for the query",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "SeekableIterator",
                "description": "the orders"
              },
              "description": "Retrieves the order history for the customer in the current storefront site.\n \n If the result exceeds 1000 orders, only the first 1000 orders are retrieved. Optionally, you can retrieve a subset\n of the orders by specifying a query. At maximum 3 expressions are allowed to be specified and no custom attribute\n expressions are allowed.\n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.\n \n Example:\n\n             var orderHistory : dw.customer.OrderHistory = customer.getOrderHistory();\n            var orders = orderHistory.getOrders(\"status = {0}\", \"creationDate DESC\", dw.order.Order.ORDER_STATUS_NEW);\n            for each (var order : dw.order.Order in orders) {\n                // ... process orders\n            }\n            orders.close();",
              "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
            }
          }
        },
        "Profile": {
          "fullClassName": "dw.customer.Profile",
          "package": "dw.customer",
          "description": "The class represents a customer profile. It also provides access to the\n customers address book and credentials.\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"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.customer.EncryptedObject"
            }
          ],
          "constants": {},
          "properties": {
            "addressBook": {
              "name": "addressBook",
              "class": {
                "name": "AddressBook"
              },
              "static": false,
              "readonly": true,
              "description": "The customer's address book.",
              "deprecated": false,
              "type": "property"
            },
            "birthday": {
              "name": "birthday",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's birthday as a date.",
              "deprecated": false,
              "type": "property"
            },
            "companyName": {
              "name": "companyName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's company name.",
              "deprecated": false,
              "type": "property"
            },
            "credentials": {
              "name": "credentials",
              "class": {
                "name": "Credentials"
              },
              "static": false,
              "readonly": true,
              "description": "The customer's credentials.",
              "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"
            },
            "customerNo": {
              "name": "customerNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The customer's number, which is a number used to identify the Customer.",
              "deprecated": false,
              "type": "property"
            },
            "email": {
              "name": "email",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's email address.",
              "deprecated": false,
              "type": "property"
            },
            "fax": {
              "name": "fax",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The fax number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false,
              "type": "property"
            },
            "female": {
              "name": "female",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates that the customer is female when set to true.",
              "deprecated": false,
              "type": "property"
            },
            "firstName": {
              "name": "firstName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's first name.",
              "deprecated": false,
              "type": "property"
            },
            "gender": {
              "name": "gender",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's gender.",
              "deprecated": false,
              "type": "property"
            },
            "jobTitle": {
              "name": "jobTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's job title.",
              "deprecated": false,
              "type": "property"
            },
            "lastLoginTime": {
              "name": "lastLoginTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The last login time of the customer.",
              "deprecated": false,
              "type": "property"
            },
            "lastName": {
              "name": "lastName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's last name.",
              "deprecated": false,
              "type": "property"
            },
            "lastVisitTime": {
              "name": "lastVisitTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The last visit time of the customer.",
              "deprecated": false,
              "type": "property"
            },
            "male": {
              "name": "male",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates that the customer is male when set to true.",
              "deprecated": false,
              "type": "property"
            },
            "nextBirthday": {
              "name": "nextBirthday",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The upcoming customer's birthday as a date.\n If the customer already had birthday this year the method returns the birthday of the next year.\n Otherwise its birthday in this year.\n If the customer has not set a birthday this method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "phoneBusiness": {
              "name": "phoneBusiness",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The business phone number to use for the customer.",
              "deprecated": false,
              "type": "property"
            },
            "phoneHome": {
              "name": "phoneHome",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The phone number to use for the customer.",
              "deprecated": false,
              "type": "property"
            },
            "phoneMobile": {
              "name": "phoneMobile",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The mobile phone number to use for the customer.",
              "deprecated": false,
              "type": "property"
            },
            "preferredLocale": {
              "name": "preferredLocale",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's preferred locale.",
              "deprecated": false,
              "type": "property"
            },
            "previousLoginTime": {
              "name": "previousLoginTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The time the customer logged in prior to the current login.",
              "deprecated": false,
              "type": "property"
            },
            "previousVisitTime": {
              "name": "previousVisitTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The time the customer visited the store prior to the current visit.",
              "deprecated": false,
              "type": "property"
            },
            "salutation": {
              "name": "salutation",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The salutation to use for the customer.",
              "deprecated": false,
              "type": "property"
            },
            "secondName": {
              "name": "secondName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's second name.",
              "deprecated": false,
              "type": "property"
            },
            "suffix": {
              "name": "suffix",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's suffix, such as \"Jr.\" or \"Sr.\".",
              "deprecated": false,
              "type": "property"
            },
            "taxID": {
              "name": "taxID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The tax ID value. The value is returned either plain\n text if the current context allows plain text access, or\n if it's not allowed, the ID value will be returned masked.\n The following criteria must be met in order to have plain text access:\n \n \n \tthe method call must happen in the context of a storefront request;\n \tthe current customer must be registered and authenticated;\n \tit is the profile of the current customer;\n  and the current protocol is HTTPS.",
              "deprecated": false,
              "type": "property"
            },
            "taxIDMasked": {
              "name": "taxIDMasked",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The masked value of the tax ID.",
              "deprecated": false,
              "type": "property"
            },
            "taxIDType": {
              "name": "taxIDType",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The tax ID type.",
              "deprecated": false,
              "type": "property"
            },
            "title": {
              "name": "title",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer's title, such as \"Mrs\" or \"Mr\".",
              "deprecated": false,
              "type": "property"
            },
            "wallet": {
              "name": "wallet",
              "class": {
                "name": "Wallet"
              },
              "static": false,
              "readonly": true,
              "description": "The wallet of this customer.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAddressBook": {
              "name": "getAddressBook",
              "args": [],
              "class": {
                "name": "AddressBook",
                "description": "the customer's address book."
              },
              "description": "Returns the customer's address book.",
              "deprecated": false
            },
            "getBirthday": {
              "name": "getBirthday",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the customer's birthday as a date."
              },
              "description": "Returns the customer's birthday as a date.",
              "deprecated": false
            },
            "getCompanyName": {
              "name": "getCompanyName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's company name."
              },
              "description": "Returns the customer's company name.",
              "deprecated": false
            },
            "getCredentials": {
              "name": "getCredentials",
              "args": [],
              "class": {
                "name": "Credentials",
                "description": "the customer's credentials."
              },
              "description": "Returns the customer's credentials.",
              "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
            },
            "getCustomerNo": {
              "name": "getCustomerNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's number."
              },
              "description": "Returns the customer's number, which is a number used to identify the Customer.",
              "deprecated": false
            },
            "getEmail": {
              "name": "getEmail",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's email address."
              },
              "description": "Returns the customer's email address.",
              "deprecated": false
            },
            "getFax": {
              "name": "getFax",
              "args": [],
              "class": {
                "name": "String",
                "description": "the fax mobile phone number to use for the customer."
              },
              "description": "Returns the fax number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false
            },
            "getFirstName": {
              "name": "getFirstName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's first name."
              },
              "description": "Returns the customer's first name.",
              "deprecated": false
            },
            "getGender": {
              "name": "getGender",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the customer's gender."
              },
              "description": "Returns the customer's gender.",
              "deprecated": false
            },
            "getJobTitle": {
              "name": "getJobTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's job title."
              },
              "description": "Returns the customer's job title.",
              "deprecated": false
            },
            "getLastLoginTime": {
              "name": "getLastLoginTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the time, when the customer was last logged in."
              },
              "description": "Returns the last login time of the customer.",
              "deprecated": false
            },
            "getLastName": {
              "name": "getLastName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's last name."
              },
              "description": "Returns the customer's last name.",
              "deprecated": false
            },
            "getLastVisitTime": {
              "name": "getLastVisitTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the time, when the customer has visited the storefront the last time (with enabled remember me functionality)."
              },
              "description": "Returns the last visit time of the customer.",
              "deprecated": false
            },
            "getNextBirthday": {
              "name": "getNextBirthday",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the customer's next birthday as a date."
              },
              "description": "Returns the upcoming customer's birthday as a date.\n If the customer already had birthday this year the method returns the birthday of the next year.\n Otherwise its birthday in this year.\n If the customer has not set a birthday this method returns null.",
              "deprecated": false
            },
            "getPhoneBusiness": {
              "name": "getPhoneBusiness",
              "args": [],
              "class": {
                "name": "String",
                "description": "the business phone number to use for the customer."
              },
              "description": "Returns the business phone number to use for the customer.",
              "deprecated": false
            },
            "getPhoneHome": {
              "name": "getPhoneHome",
              "args": [],
              "class": {
                "name": "String",
                "description": "the phone number to use for the customer."
              },
              "description": "Returns the phone number to use for the customer.",
              "deprecated": false
            },
            "getPhoneMobile": {
              "name": "getPhoneMobile",
              "args": [],
              "class": {
                "name": "String",
                "description": "the mobile phone number to use for the customer."
              },
              "description": "Returns the mobile phone number to use for the customer.",
              "deprecated": false
            },
            "getPreferredLocale": {
              "name": "getPreferredLocale",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's preferred locale."
              },
              "description": "Returns the customer's preferred locale.",
              "deprecated": false
            },
            "getPreviousLoginTime": {
              "name": "getPreviousLoginTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the time the customer logged in prior to the current login."
              },
              "description": "Returns the time the customer logged in prior to the current login.",
              "deprecated": false
            },
            "getPreviousVisitTime": {
              "name": "getPreviousVisitTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the time the customer visited the store prior to the current visit."
              },
              "description": "Returns the time the customer visited the store prior to the current visit.",
              "deprecated": false
            },
            "getSalutation": {
              "name": "getSalutation",
              "args": [],
              "class": {
                "name": "String",
                "description": "the salutation to use for the customer."
              },
              "description": "Returns the salutation to use for the customer.",
              "deprecated": false
            },
            "getSecondName": {
              "name": "getSecondName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's second name."
              },
              "description": "Returns the customer's second name.",
              "deprecated": false
            },
            "getSuffix": {
              "name": "getSuffix",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's suffix."
              },
              "description": "Returns the customer's suffix, such as \"Jr.\" or \"Sr.\".",
              "deprecated": false
            },
            "getTaxID": {
              "name": "getTaxID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tax ID value"
              },
              "description": "Returns the tax ID value. The value is returned either plain\n text if the current context allows plain text access, or\n if it's not allowed, the ID value will be returned masked.\n The following criteria must be met in order to have plain text access:\n \n \n \tthe method call must happen in the context of a storefront request;\n \tthe current customer must be registered and authenticated;\n \tit is the profile of the current customer;\n  and the current protocol is HTTPS.",
              "deprecated": false
            },
            "getTaxIDMasked": {
              "name": "getTaxIDMasked",
              "args": [],
              "class": {
                "name": "String",
                "description": "the masked value of the tax ID"
              },
              "description": "Returns the masked value of the tax ID.",
              "deprecated": false
            },
            "getTaxIDType": {
              "name": "getTaxIDType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the tax ID type"
              },
              "description": "Returns the tax ID type.",
              "deprecated": false
            },
            "getTitle": {
              "name": "getTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's title."
              },
              "description": "Returns the customer's title, such as \"Mrs\" or \"Mr\".",
              "deprecated": false
            },
            "getWallet": {
              "name": "getWallet",
              "args": [],
              "class": {
                "name": "Wallet",
                "description": "the wallet of this customer."
              },
              "description": "Returns the wallet of this customer.",
              "deprecated": false
            },
            "isFemale": {
              "name": "isFemale",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is a female, false otherwise."
              },
              "description": "Indicates that the customer is female when set to true.",
              "deprecated": false
            },
            "isMale": {
              "name": "isMale",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is a male, false otherwise."
              },
              "description": "Indicates that the customer is male when set to true.",
              "deprecated": false
            },
            "setBirthday": {
              "name": "setBirthday",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's birthday as a date.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's birthday as a date.",
              "deprecated": false
            },
            "setCompanyName": {
              "name": "setCompanyName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's company name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's company name.",
              "deprecated": false
            },
            "setEmail": {
              "name": "setEmail",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's email address.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's email address.",
              "deprecated": false
            },
            "setFax": {
              "name": "setFax",
              "args": [
                {
                  "name": "number",
                  "description": "the fax number to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the fax number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setFirstName": {
              "name": "setFirstName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's first name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's first name.",
              "deprecated": false
            },
            "setGender": {
              "name": "setGender",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's gender.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's gender.",
              "deprecated": false
            },
            "setJobTitle": {
              "name": "setJobTitle",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's job title.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's job title.",
              "deprecated": false
            },
            "setLastName": {
              "name": "setLastName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's last name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's last name.",
              "deprecated": false
            },
            "setPhoneBusiness": {
              "name": "setPhoneBusiness",
              "args": [
                {
                  "name": "number",
                  "description": "the business phone number to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the business phone number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setPhoneHome": {
              "name": "setPhoneHome",
              "args": [
                {
                  "name": "number",
                  "description": "the phone number to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the phone number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setPhoneMobile": {
              "name": "setPhoneMobile",
              "args": [
                {
                  "name": "number",
                  "description": "the mobile phone number to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the mobile phone number to use for the customer.\n The length is restricted to 32 characters.",
              "deprecated": false
            },
            "setPreferredLocale": {
              "name": "setPreferredLocale",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's preferred locale.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's preferred locale.",
              "deprecated": false
            },
            "setSaluation": {
              "name": "setSaluation",
              "args": [
                {
                  "name": "salutation",
                  "description": "the salutation to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the salutation to use for the customer.",
              "deprecated": true
            },
            "setSalutation": {
              "name": "setSalutation",
              "args": [
                {
                  "name": "salutation",
                  "description": "the salutation to use for the customer.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the salutation to use for the customer.",
              "deprecated": false
            },
            "setSecondName": {
              "name": "setSecondName",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's second name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's second name.",
              "deprecated": false
            },
            "setSuffix": {
              "name": "setSuffix",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's suffix.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the the customer's suffix.",
              "deprecated": false
            },
            "setTaxID": {
              "name": "setTaxID",
              "args": [
                {
                  "name": "taxID",
                  "description": "the tax ID value to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tax ID value. The value can be set if the current context\n allows write access.\n The current context allows write access if the currently\n logged in user owns this profile and the connection is secured.",
              "deprecated": false
            },
            "setTaxIDType": {
              "name": "setTaxIDType",
              "args": [
                {
                  "name": "taxIdType",
                  "description": "the tax ID type to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tax ID type.",
              "deprecated": false
            },
            "setTitle": {
              "name": "setTitle",
              "args": [
                {
                  "name": "aValue",
                  "description": "the customer's title.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's title.",
              "deprecated": false
            }
          }
        },
        "Wallet": {
          "fullClassName": "dw.customer.Wallet",
          "package": "dw.customer",
          "description": "Represents a set of payment instruments associated with a registered customer.\n <p>\n <b>Note:</b> this class allows access to sensitive personal and private\n information. Pay attention to appropriate legal and regulatory requirements\n when developing.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "paymentInstruments": {
              "name": "paymentInstruments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all payment instruments associated with the\n related customer.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createPaymentInstrument": {
              "name": "createPaymentInstrument",
              "args": [
                {
                  "name": "paymentMethodId",
                  "description": "the id of a payment method",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "CustomerPaymentInstrument",
                "description": "the new payment instrument object."
              },
              "description": "Creates a new, empty payment instrument object associated with the\n related customer for the given payment method.",
              "deprecated": false
            },
            "getPaymentInstruments": {
              "name": "getPaymentInstruments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of all payment instruments."
              },
              "description": "Returns a collection of all payment instruments associated with the\n related customer.",
              "deprecated": false
            },
            "getPaymentInstruments0": {
              "name": "getPaymentInstruments",
              "args": [
                {
                  "name": "paymentMethodID",
                  "description": "the paymentMethodID the payment method id to filter for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Collection of payment instruments for a payment method."
              },
              "description": "Returns a collection of all payment instruments associated with the\n related customer filtered by the given payment method id. If\n null is passed as payment method id all payment instruments\n of the customer will be retrieved. If for the given payment method id no\n payment instrument is associated with the customer an empty collection\n will be returned.",
              "deprecated": false
            },
            "removePaymentInstrument": {
              "name": "removePaymentInstrument",
              "args": [
                {
                  "name": "instrument",
                  "description": "the instrument associated with this customer",
                  "class": {
                    "name": "CustomerPaymentInstrument"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes a payment instrument associated with the customer.",
              "deprecated": false
            }
          }
        },
        "oauth": {
          "OAuthAccessTokenResponse": {
            "fullClassName": "dw.customer.oauth.OAuthAccessTokenResponse",
            "package": "dw.customer.oauth",
            "description": "Contains OAuth-related artifacts from the HTTP response from the third-party\n OAuth server when requesting an access token",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "accessToken": {
                "name": "accessToken",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The access token",
                "deprecated": false,
                "type": "property"
              },
              "accessTokenExpiry": {
                "name": "accessTokenExpiry",
                "class": {
                  "name": "Number"
                },
                "static": false,
                "readonly": true,
                "description": "The access token expiration",
                "deprecated": false,
                "type": "property"
              },
              "errorStatus": {
                "name": "errorStatus",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The error status.\n In cases of errors - more detailed error information\n can be seen in the error log files (specifity of error details vary by OAuth provider).",
                "deprecated": false,
                "type": "property"
              },
              "extraTokens": {
                "name": "extraTokens",
                "class": {
                  "name": "Map"
                },
                "static": false,
                "readonly": true,
                "description": "A map of additional tokens found in the response.",
                "deprecated": false,
                "type": "property"
              },
              "IDToken": {
                "name": "IDToken",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The ID token, if available",
                "deprecated": false,
                "type": "property"
              },
              "oauthProviderId": {
                "name": "oauthProviderId",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The OAuth provider id",
                "deprecated": false,
                "type": "property"
              },
              "refreshToken": {
                "name": "refreshToken",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The refresh token",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAccessToken": {
                "name": "getAccessToken",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the access token, if available, null otherwise"
                },
                "description": "Returns the access token",
                "deprecated": false
              },
              "getAccessTokenExpiry": {
                "name": "getAccessTokenExpiry",
                "args": [],
                "class": {
                  "name": "Number",
                  "description": "the access token expiration"
                },
                "description": "Returns the access token expiration",
                "deprecated": false
              },
              "getErrorStatus": {
                "name": "getErrorStatus",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the error status, if available, null otherwise"
                },
                "description": "Returns the error status.\n In cases of errors - more detailed error information\n can be seen in the error log files (specifity of error details vary by OAuth provider).",
                "deprecated": false
              },
              "getExtraTokens": {
                "name": "getExtraTokens",
                "args": [],
                "class": {
                  "name": "Map",
                  "description": "Additional tokens provided by the token end-point. May be null or empty."
                },
                "description": "Returns a map of additional tokens found in the response.",
                "deprecated": false
              },
              "getIDToken": {
                "name": "getIDToken",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the ID token, if available, null otherwise"
                },
                "description": "Returns the ID token, if available",
                "deprecated": false
              },
              "getOauthProviderId": {
                "name": "getOauthProviderId",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the OAuth provider id"
                },
                "description": "Returns the OAuth provider id",
                "deprecated": false
              },
              "getRefreshToken": {
                "name": "getRefreshToken",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the refresh token, if available, null otherwise"
                },
                "description": "Returns the refresh token",
                "deprecated": false
              }
            }
          },
          "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
              }
            }
          },
          "OAuthLoginFlowMgr": {
            "fullClassName": "dw.customer.oauth.OAuthLoginFlowMgr",
            "package": "dw.customer.oauth",
            "description": "The OAuthLoginFlowMgr encapsulates interactions with third party\n OAuth providers to support the Authorization Code Flow.<br>\n The way to use is:\n <ul>\n  <li>call <a href=\"class_dw_customer_oauth_OAuthLoginFlowMgr.html#dw_customer_oauth_OAuthLoginFlowMgr_initiateOAuthLogin_String_DetailAnchor\">initiateOAuthLogin(String)</a></li>\n  <li>redirect the user to the returned link</li>\n  <li>when the user authenticates there the server will call back to\n  a URL configured on the provider's web site</li>\n  <li>when processing the request made from the provider's web site\n  you have two choices - either call the <a href=\"class_dw_customer_oauth_OAuthLoginFlowMgr.html#dw_customer_oauth_OAuthLoginFlowMgr_obtainAccessToken_DetailAnchor\">obtainAccessToken()</a>\n  and <a href=\"class_dw_customer_oauth_OAuthLoginFlowMgr.html#dw_customer_oauth_OAuthLoginFlowMgr_obtainUserInfo_String_String_DetailAnchor\">obtainUserInfo(String, String)</a>\n  methods one after another separately (gives you more flexibility),\n  or call the <a href=\"class_dw_customer_oauth_OAuthLoginFlowMgr.html#dw_customer_oauth_OAuthLoginFlowMgr_finalizeOAuthLogin_DetailAnchor\">finalizeOAuthLogin()</a> method which internally\n  calls the other two (simpler to use).\n </li></ul> Sample code for using it:\n   <pre><code>\n    var finalizedResponse : OAuthFinalizedResponse = OAuthLoginFlowMgr.finalizeOAuthLogin();\n    var userInfo = finalizedResponse.userInfoResponse.userInfo;\n   </code></pre>\n   or:<pre><code>\n    var accessTokenResponse : OAuthAccessTokenResponse = OAuthLoginFlowMgr.obtainAccessToken();\n    var userInfoResponse : OAuthUserInfoResponse = OAuthLoginFlowMgr\n        .obtainUserInfo(accessTokenResponse.oauthProviderId, accessTokenResponse.accessToken);\n    var userInfo = userInfoResponse.userInfo;\n   </code></pre>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {},
            "constructors": {
              "OAuthLoginFlowMgr": {
                "name": "OAuthLoginFlowMgr",
                "args": [],
                "class": {
                  "description": ""
                },
                "description": "",
                "deprecated": false
              }
            },
            "methods": {
              "finalizeOAuthLogin": {
                "name": "finalizeOAuthLogin",
                "args": [],
                "static": true,
                "class": {
                  "name": "OAuthFinalizedResponse",
                  "description": "the user info on success, null otherwise"
                },
                "description": "This method works in tandem with the initiateOAuthLogin(String) method.\n After the user has been redirected to the URL returned by that method\n to the external OAuth2 provider and the user has interacted with the provider's\n site, the browser is redirected to a URL configured on the provider's web\n site. This URL should be that of a pipeline that contains\n a script invoking the finalizeOAuthLogin method.\n At this point the user has either been authenticated by the external provider\n or not (forgot password, or simply refused to provide credentials). If the user\n has been authenticated by the external provider and the provider returns an\n authentication code, this method exchanges the code for a token and with that\n token it requests from the provider the user information specified by the\n configured scope (id, first/last name, email, etc.).\n \n The method is aggregation of two other methods - obtainAccessToken()\n and obtainUserInfo(String, String)\n and is provided for convenience. You may want to\n use the two individual methods instead if you need more flexibility.\n \n This supports the Authorization Code Flow.",
                "deprecated": false
              },
              "initiateOAuthLogin": {
                "name": "initiateOAuthLogin",
                "args": [
                  {
                    "name": "oauthProviderId",
                    "description": "the OAuth provider id",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "URLRedirect",
                  "description": "URL to redirect to"
                },
                "description": "This method works in tandem with another method - finalizeOAuthLogin().\n It starts the process of authentication via an external OAuth2 provider. It\n takes one parameter - OAuthProviderId (as configured in the system). Outputs\n an URL pointing to the OAuth2 provider's web page to which the browser should\n redirect to initiate the actual user authentication or NULL if there is an\n invalid configuration or an error occurs.\n The method stores a few key/values in the session\n (Session.getPrivacy(), implementation specific parameters and may change at any time)\n to be picked up by the finalizeOAuthLogin() method  when the provider redirects back.\n \n This supports the Authorization Code Flow.",
                "deprecated": false
              },
              "obtainAccessToken": {
                "name": "obtainAccessToken",
                "args": [],
                "static": true,
                "class": {
                  "name": "OAuthAccessTokenResponse",
                  "description": "the access token response"
                },
                "description": "This method is called internally by finalizeOAuthLogin().\n There are customer requests to expose a more granular way of\n doing the interactions that finalizeOAuthLogin is currently doing\n with the third party OAuth server to accommodate certain providers.\n \n This supports the Authorization Code Flow.",
                "deprecated": false
              },
              "obtainUserInfo": {
                "name": "obtainUserInfo",
                "args": [
                  {
                    "name": "oauthProviderId",
                    "description": "the OAuth provider id",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  },
                  {
                    "name": "accessToken",
                    "description": "the OAuth provider's access token",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "OAuthUserInfoResponse",
                  "description": "the user info response"
                },
                "description": "This method is called internally by finalizeOAuthLogin().\n There are customer requests to expose a more granular way of\n doing the interactions that finalizeOAuthLogin is currently doing\n with the third party OAuth server to accommodate certain providers.\n \n This supports the Authorization Code Flow.",
                "deprecated": false
              }
            }
          },
          "OAuthUserInfoResponse": {
            "fullClassName": "dw.customer.oauth.OAuthUserInfoResponse",
            "package": "dw.customer.oauth",
            "description": "Contains the response from the third-party OAuth server when\n requesting user info. Refer to the corresponding OAuth provider documentation\n regarding what the format might be (in most cases it would be JSON).\n The data returned would also vary depending on the scope.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "errorStatus": {
                "name": "errorStatus",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The error status\n In cases of errors - more detailed error information\n can be seen in the error log files (specificity of error details vary by OAuth provider).",
                "deprecated": false,
                "type": "property"
              },
              "userInfo": {
                "name": "userInfo",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The user info as a String. Refer to the corresponding OAuth provider documentation\n regarding what the format might be (in most cases it would be JSON).\n The data returned would also vary depending on the configured 'scope'.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getErrorStatus": {
                "name": "getErrorStatus",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the error status"
                },
                "description": "Returns the error status\n In cases of errors - more detailed error information\n can be seen in the error log files (specificity of error details vary by OAuth provider).",
                "deprecated": false
              },
              "getUserInfo": {
                "name": "getUserInfo",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the user info"
                },
                "description": "Returns the user info as a String. Refer to the corresponding OAuth provider documentation\n regarding what the format might be (in most cases it would be JSON).\n The data returned would also vary depending on the configured 'scope'.",
                "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
            }
          }
        },
        "Page": {
          "fullClassName": "dw.experience.Page",
          "package": "dw.experience",
          "description": "<p>\n This class represents a page designer managed page. A page comprises of\n multiple regions that hold components, which themselves again can have\n regions holding components, i.e. spanning a hierarchical tree of components.\n </p>\n <p>\n Using\n </p><ul>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderPage_String_String_DetailAnchor\">PageMgr.renderPage(String, String)</a></li>\n <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderPage_String_Map_String_DetailAnchor\">PageMgr.renderPage(String, Map, String)</a></li>\n </ul>\n a page can be rendered. As such page implements a render function for creating\n render output the render function of the page itself will also want to access\n its various properties like the SEO title etc.\n <p></p>\n <p>\n Apart from rendering to markup a page can also be serialized, i.e. transformed\n into a json string using\n </p><ul>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_serializePage_String_String_DetailAnchor\">PageMgr.serializePage(String, String)</a></li>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_serializePage_String_Map_String_DetailAnchor\">PageMgr.serializePage(String, Map, String)</a></li>\n </ul>\n <p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "aspectTypeID": {
              "name": "aspectTypeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Get the aspect type of the page.\n If an aspect type is set for this page (and is found in the deployed code version), then the page is treated as dynamic page during\n rendering and serialization.",
              "deprecated": false,
              "type": "property"
            },
            "classificationFolder": {
              "name": "classificationFolder",
              "class": {
                "name": "Folder"
              },
              "static": false,
              "readonly": true,
              "description": "The classification Folder associated with this page.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of this page.",
              "deprecated": false,
              "type": "property"
            },
            "folders": {
              "name": "folders",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All folders to which this page is assigned.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The id of this page.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of this page.",
              "deprecated": false,
              "type": "property"
            },
            "pageDescription": {
              "name": "pageDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The SEO description of this page.",
              "deprecated": false,
              "type": "property"
            },
            "pageKeywords": {
              "name": "pageKeywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The SEO keywords of this page.",
              "deprecated": false,
              "type": "property"
            },
            "pageTitle": {
              "name": "pageTitle",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The SEO title of this page.",
              "deprecated": false,
              "type": "property"
            },
            "searchWords": {
              "name": "searchWords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The search words of the page used for the search index.",
              "deprecated": false,
              "type": "property"
            },
            "typeID": {
              "name": "typeID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type id of this page.",
              "deprecated": false,
              "type": "property"
            },
            "visible": {
              "name": "visible",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the page is currently visible which is the case if:\n \n  page is published\n  the page is set to visible in the current locale\n  all visibility rules apply, requiring that\n   \n    schedule matches\n    customer group matches\n    aspect attribute qualifiers match\n    campaign and promotion qualifiers match\n   \n  \n \n If any of these is not the case then false will be returned.\n \n As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this\n call should NOT happen in a pagecached context outside of the processing induced by rendering/serialization (see the corresponding\n methods in PageMgr). \n Use hasVisibilityRules() prior to calling this method in order to check for the existence of visibility rules. If there are\n visibility rules then do not apply pagecaching. Otherwise the visibility decision making would end up in the pagecache and any subsequent\n call would just return from the pagecache instead of performing the isVisible() check again as desired.\n    ...\n   var page = PageMgr.getPage(pageID);\n   if(page.hasVisibilityRules())\n   {\n      // pagecaching is NOT ok here\n      if(page.isVisible())\n      {\n         response.writer.print(PageMgr.renderPage(pageID, {});\n      }\n   }\n   else\n   {\n       // pagecaching is ok here, but requires a pagecache refresh if merchants start adding visibility rules to the page\n   }\n   ...",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAspectTypeID": {
              "name": "getAspectTypeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the page's aspect type"
              },
              "description": "Get the aspect type of the page.\n If an aspect type is set for this page (and is found in the deployed code version), then the page is treated as dynamic page during\n rendering and serialization.",
              "deprecated": false
            },
            "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 page 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 page 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 PageScriptContext.getContent())\n when the render/serialize function of the page is invoked.",
              "deprecated": false
            },
            "getClassificationFolder": {
              "name": "getClassificationFolder",
              "args": [],
              "class": {
                "name": "Folder",
                "description": "the classification Folder if one is assigned, null otherwise."
              },
              "description": "Returns the classification Folder associated with this page.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page description"
              },
              "description": "Returns the description of this page.",
              "deprecated": false
            },
            "getFolders": {
              "name": "getFolders",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Collection of Folder objects."
              },
              "description": "Returns all folders to which this page is assigned.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page id"
              },
              "description": "Returns the id of this page.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page name"
              },
              "description": "Returns the name of this page.",
              "deprecated": false
            },
            "getPageDescription": {
              "name": "getPageDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page SEO description"
              },
              "description": "Returns the SEO description of this page.",
              "deprecated": false
            },
            "getPageKeywords": {
              "name": "getPageKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page SEO keywords"
              },
              "description": "Returns the SEO keywords of this page.",
              "deprecated": false
            },
            "getPageTitle": {
              "name": "getPageTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page SEO title"
              },
              "description": "Returns the SEO title of this page.",
              "deprecated": false
            },
            "getRegion": {
              "name": "getRegion",
              "args": [
                {
                  "name": "id",
                  "description": "the id of the desired page region",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Region",
                "description": "the region, or null if not found."
              },
              "description": "Returns the page region that matches the given id.",
              "deprecated": false
            },
            "getSearchWords": {
              "name": "getSearchWords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page search words"
              },
              "description": "Returns the search words of the page used for the search index.",
              "deprecated": false
            },
            "getTypeID": {
              "name": "getTypeID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page type id"
              },
              "description": "Returns the type id of this page.",
              "deprecated": false
            },
            "hasVisibilityRules": {
              "name": "hasVisibilityRules",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the page has visibility rules applied, otherwise false."
              },
              "description": "Returns true if the page has visibility rules (scheduling, customer groups, aspect attribute qualifiers,\n campaign and promotion qualifiers) applied, otherwise false. Use this\n method prior to isVisible(), so you do not call the latter in a pagecached context.",
              "deprecated": false
            },
            "isVisible": {
              "name": "isVisible",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the page is currently visible (published, visible in the current locale, and visibility rules apply), otherwise false (unpublished and/or visibility rules don't apply)"
              },
              "description": "Returns true if the page is currently visible which is the case if:\n \n  page is published\n  the page is set to visible in the current locale\n  all visibility rules apply, requiring that\n   \n    schedule matches\n    customer group matches\n    aspect attribute qualifiers match\n    campaign and promotion qualifiers match\n   \n  \n \n If any of these is not the case then false will be returned.\n \n As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this\n call should NOT happen in a pagecached context outside of the processing induced by rendering/serialization (see the corresponding\n methods in PageMgr). \n Use hasVisibilityRules() prior to calling this method in order to check for the existence of visibility rules. If there are\n visibility rules then do not apply pagecaching. Otherwise the visibility decision making would end up in the pagecache and any subsequent\n call would just return from the pagecache instead of performing the isVisible() check again as desired.\n    ...\n   var page = PageMgr.getPage(pageID);\n   if(page.hasVisibilityRules())\n   {\n      // pagecaching is NOT ok here\n      if(page.isVisible())\n      {\n         response.writer.print(PageMgr.renderPage(pageID, {});\n      }\n   }\n   else\n   {\n       // pagecaching is ok here, but requires a pagecache refresh if merchants start adding visibility rules to the page\n   }\n   ...",
              "deprecated": false
            }
          }
        },
        "PageMgr": {
          "fullClassName": "dw.experience.PageMgr",
          "package": "dw.experience",
          "description": "Provides functionality for getting, rendering and serializing page designer managed pages.\n <p>\n The basic flow is to determine a page by either id, category or product\n </p><ul>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_getPage_String_DetailAnchor\">getPage(String)</a></li>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_getPageByCategory_Category_Boolean_String_DetailAnchor\">getPageByCategory(Category, Boolean, String)</a></li>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_getPageByProduct_Product_Boolean_String_DetailAnchor\">getPageByProduct(Product, Boolean, String)</a></li>\n </ul>\n and then to initiate rendering of this page via\n <ul>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderPage_String_String_DetailAnchor\">renderPage(String, String)</a></li>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderPage_String_Map_String_DetailAnchor\">renderPage(String, Map, String)</a></li>\n </ul>\n This will trigger page rendering from a top level perspective, i.e. the page serves as entry point and root container of components.\n <p></p>\n <p>As a related page or component template will likely want to trigger rendering of nested components\n within its regions it can do this by first fetching the desired region by ID via\n <a href=\"class_dw_experience_Page.html#dw_experience_Page_getRegion_String_DetailAnchor\">Page.getRegion(String)</a> or <a href=\"class_dw_experience_Component.html#dw_experience_Component_getRegion_String_DetailAnchor\">Component.getRegion(String)</a> and then call to <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderRegion_Region_RegionRenderSettings_DetailAnchor\">renderRegion(Region, RegionRenderSettings)</a>\n with the recently retrieved region (and optionally provide <a href=\"class_dw_experience_RegionRenderSettings.html\">RegionRenderSettings</a> for customized\n rendering of region and component wrapper elements).\n </p>\n <p>\n Similar to the rendering you can also serialize such page to json via\n </p><ul>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_serializePage_String_String_DetailAnchor\">serializePage(String, String)</a></li>\n  <li><a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_serializePage_String_Map_String_DetailAnchor\">serializePage(String, Map, String)</a></li>\n </ul>\n This will trigger page serialization from a top level perspective, i.e. the page serves as entry point and root container of components,\n which will automatically traverse all visible components and attach their serialization result to the emitted json.\n <p></p>\n\n <p>Various attributes required for rendering and serialization in the corresponding template can be accessed with the\n accordant methods of <a href=\"class_dw_experience_Page.html\">Page</a> and <a href=\"class_dw_experience_Component.html\">Component</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "getCustomEditor": {
              "name": "getCustomEditor",
              "args": [
                {
                  "name": "customEditorTypeID",
                  "description": "the reference to a custom editor type, e.g. 'com.foo.bar'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "configuration",
                  "description": "the data structure used for preinitialization of the custom editor (also see CustomEditor.getConfiguration()). Be aware that this configuration will have to be serializable to JSON itself as it will be passed to Page Designer for processing in the UI. So you must not add any values in this map that are not properly serializable. Do not use complex DWScript classes that do not support JSON serialization like for instance Product.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "CustomEditor",
                "description": "the initialized custom editor instance"
              },
              "description": "Initialize the custom editor of given type id using the passed configuration. The initialization\n will trigger the init function of the respective custom editor type for which the passed\n custom editor object is being preinitialized with the given configuration (similar to what would\n happen through the editor_definition reference by any component type attribute definition).\n \n \n This method is useful to obtain any custom editor instance you want to reuse within the init\n method of another custom editor, e.g. as dependent breakout element.",
              "deprecated": false
            },
            "getPage": {
              "name": "getPage",
              "args": [
                {
                  "name": "pageID",
                  "description": "the id of the page",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Page",
                "description": "the page, or null if not found."
              },
              "description": "Returns the page identified by the specified id.",
              "deprecated": false
            },
            "getPage0": {
              "name": "getPage",
              "args": [
                {
                  "name": "category",
                  "description": "category to find the page for, i.e. starting point (inclusive) for the bottom up traversal",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                },
                {
                  "name": "pageMustBeVisible",
                  "description": "while doing the bottom up traversal any attached page whose Page.isVisible() does not yield true will be bypassed in the search",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "aspectTypeID",
                  "description": "id of the page-category-assignment aspect type",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Page",
                "description": "the page assigned to the given category. If none is found then the path upwards in the category tree is traversed until a category is found that has an implicit (but not explicit) page assignment. If category assignments are not supported by the given aspect type or none is found within the aforementioned path of categories then null is returned."
              },
              "description": "Get the dynamic page for the given category (including bottom up traversal of the category tree) and aspect type.",
              "deprecated": true
            },
            "getPageByCategory": {
              "name": "getPageByCategory",
              "args": [
                {
                  "name": "category",
                  "description": "category to find the page for, i.e. starting point (inclusive) for the bottom up traversal",
                  "class": {
                    "name": "Category"
                  },
                  "multiple": false
                },
                {
                  "name": "pageMustBeVisible",
                  "description": "while doing the bottom up traversal any attached page whose Page.isVisible() does not yield true will be bypassed in the search",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "aspectTypeID",
                  "description": "id of the page-category-assignment aspect type",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Page",
                "description": "the page assigned to the given category. If none is found then the path upwards in the category tree is traversed until a category is found that has an implicit (but not explicit) page assignment. If category assignments are not supported by the given aspect type or none is found within the aforementioned path of categories then null is returned."
              },
              "description": "Get the dynamic page for the given category (including bottom up traversal of the category tree) and aspect type.",
              "deprecated": false
            },
            "getPageByProduct": {
              "name": "getPageByProduct",
              "args": [
                {
                  "name": "product",
                  "description": "product to find the page for",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                },
                {
                  "name": "pageMustBeVisible",
                  "description": "an attached page whose Page.isVisible() does not yield true will be bypassed in the search",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "aspectTypeID",
                  "description": "id of the page-product-assignment aspect type",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Page",
                "description": "the page assigned to the given product. If product assignments are not supported by the given aspect type then null is returned."
              },
              "description": "Get the dynamic page for the given product and aspect type.\n \n No bottom up traversal of the product's category tree is performed. If you require this then  a\n separate call to getPageByCategory(Category, Boolean, String) (with the category of your choice, e.g. the default\n category of the product) needs to be made.",
              "deprecated": false
            },
            "renderPage": {
              "name": "renderPage",
              "args": [
                {
                  "name": "pageID",
                  "description": "the ID of the page that will be rendered",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "the optional parameters passed to page rendering",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the remote include that will yield the markup as produced by page rendering"
              },
              "description": "Render a page. All of this is going to happen in two layers of remote includes, therefore pagecaching of page rendering\n is separated from the pagecache lifecycle of the caller. The first one is going to be returned by this method.\n \n     layer 1 - determines visibility fingerprint for the page and all its nested components driven by its visibility rules. This remote include will not be pagecached. It will then delegate to layer 2.\n     layer 2 - does the actual rendering of the page by invoking its render function. This remote include will factor the previously determined visibility fingerprint in to the pagecache key, in case you decide to use pagecaching.\n \n \n The layer 1 remote include is what is returned when calling this method.\n \n \n The provided parameters argument is passed through till the layer 2 remote include which does the actual rendering so that it will be available\n for the render function of the invoked page as part of PageScriptContext.getRuntimeParameters(). You probably want to\n provide caller parameters from the outside in shape of a json String to the inside of the page rendering, e.g. to loop through query parameters.\n \n \n The layer 2 remote include performs the rendering of the page and all its nested components within one request. Thus data sharing between\n the page and its nested components can happen in scope of this request.\n \n \n The rendering of a page invokes the render function of the respective page type.\n      String : render( PageScriptContext context)\n \n The return value of the render function finally represents the markup produced by this page type.\n \n \n Nested page rendering, i.e. rendering a page within a page (or respectively its components), is not a supported use case.\n \n \n Due to the nature of the remote includes mentioned above this comes with the url length restriction as you already know it from\n remote includes you implement by hand within your templates. Thus the size of the parameters parameter of this\n method has a length limitation accordingly because it just translates into a url parameter of the aforementioned remote includes.\n As a best practice refrain from passing complex objects (e.g. full blown product models) but keep it rather slim (e.g. only product IDs).",
              "deprecated": false
            },
            "renderPage0": {
              "name": "renderPage",
              "args": [
                {
                  "name": "pageID",
                  "description": "the aspect driven page that will be rendered",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "aspectAttributes",
                  "description": "the values for the aspect attributes, with the key being the id of the respective attribute definition and the value adhering to the type of this attribute definition",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "the optional parameters passed to page rendering",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the remote include that will yield the markup as produced by page rendering"
              },
              "description": "Render a page. This is an extension of renderPage(String, String) for the purpose of rendering a\n page that needs to determine pieces of its content at rendering time instead of design time only. Therefore it\n is possible to pass aspect attributes in case the given page is subject to an aspect type. The latter specifies the\n eligible aspect attribute definitions which the passed in aspect attributes will be validated against.\n If the validation fails for any of the following reasons an AspectAttributeValidationException\n will be thrown:\n \n     any aspect attribute value violates the value domain of the corresponding attribute definition\n     any required aspect attribute value is null\n \n Aspect attributes without corresponding attribute definition will be omitted. Once they made it into the rendering\n they will apply if no persistent attribute value exists (taking precedence over default attribute values\n as coming from the attribute definition json) and the attribute has the dynamic_lookup\n property defined which contains the aspect attribute alias. The aspect attribute value lookup then happens by taking\n this aspect attribute alias and using it as attribute identifier within the given map of aspect attributes.\n \n Due to the nature of using remote includes, also see renderPage(String, String), this comes with the url length\n restriction as you already know it from remote includes you implement by hand within your templates. Thus the size of both the\n aspectAttributes (keys and values) as well as the parameters parameter of this method\n are subject to a length limitation accordingly because they just translate into url parameters of the aforementioned remote includes.\n As a best practice refrain from passing complex objects (e.g. full blown product models) but keep it rather slim (e.g. only product IDs).",
              "deprecated": false
            },
            "renderRegion": {
              "name": "renderRegion",
              "args": [
                {
                  "name": "region",
                  "description": "the region that will be rendered",
                  "class": {
                    "name": "Region"
                  },
                  "multiple": false
                },
                {
                  "name": "regionRenderSettings",
                  "description": "the render settings that drive how the region and its components is rendered",
                  "class": {
                    "name": "RegionRenderSettings"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the markup as produced by region rendering"
              },
              "description": "Renders a region by triggering rendering of all visible components within\n this region. For each of these components the render function of the respective component\n type is invoked.\n      String : render( ComponentScriptContext context)\n \n The return value of the render function will be wrapped by an HTML element - this\n finally represents the markup produced by this component type. The markup of the region\n accordingly represents the concatenation of all the components markup within an\n own wrapper element.\n In order to provide styling for these wrapper\n elements of the components and the region some render settings can optionally be provided,\n which basically allows to configure which kind of tag is used for the wrapper element and\n which attributes the wrapper element contains. A sample output could look like this if\n RegionRenderSettings are applied with customized tag names and attributes\n for the region and component wrapper elements.\n \n <p class=\"myRegionCssClass\">\n     <span class=\"myComponentCssClass myComponentCssClass1\" data-foo=\"bar\">\n         ...\n     </span>\n     <span class=\"myComponentCssClass myComponentCssClass2\">\n         ...\n     </span>\n </p>\n \n\n In order to go with the default settings for the wrapper elements see\n renderRegion(Region).\n\n \n You must NOT call this method outside of the processing induced by renderPage(String, String).",
              "deprecated": false
            },
            "renderRegion0": {
              "name": "renderRegion",
              "args": [
                {
                  "name": "region",
                  "description": "the region that will be rendered",
                  "class": {
                    "name": "Region"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the markup as produced by region rendering"
              },
              "description": "Renders a region by triggering rendering of all visible components within\n this region. For each of these components the render function  of the respective component\n type is invoked.\n      String : render( ComponentScriptContext params)\n \n The return value of the render function will be wrapped by an HTML element - this\n finally represents the markup produced by this component type. The markup of the region\n accordingly represents the concatenation of all the components markup within an\n own wrapper element.\n The following sample shows how this would look like for a 'pictures' region\n that contains two components of type 'assets.image'. \n \n <div class=\"experience-region experience-pictures\">\n     <div class=\"experience-component experience-assets-image\">\n         ...\n     </div>\n     <div class=\"experience-component experience-assets-image\">\n         ..\n     </div>\n </div>\n \n\n The system default for region render settings are:\n \n  tag_name : div\n  attributes : {\"class\":\"experience-region experience-[REGION_ID]\"}\n \n \n\n The system default for component render settings are:\n \n  tag name : div\n  attributes : {\"class\":\"experience-component experience-[COMPONENT_TYPE_ID]\"}\n \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.\n \n\n In order to provide your own settings for the wrapper elements see\n renderRegion(Region, RegionRenderSettings).\n \n You must NOT call this method outside of the processing induced by renderPage(String, String).",
              "deprecated": false
            },
            "serializePage": {
              "name": "serializePage",
              "args": [
                {
                  "name": "pageID",
                  "description": "the ID of the page that will be serialized",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "the optional parameters passed to page serialization",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the remote include that will yield the json string as produced by page serialization"
              },
              "description": "Serialize a page as json string with the following properties:\n \n     String id - the id of the page\n     String type_id - the id of the page type\n     Map<String, Object> data - the content attribute key value pairs\n     Map<String, Object> custom - the custom key value pairs as produced by the optional page type serialize function\n     List<Region> regions - the regions of this page. A region consists of the following properties\n          \n              String id - the id of the region\n              List<Component> components - the components of this region. A component consists of the following properties\n               \n                  String id - the id of the component\n                  String type_id - the id of the component type\n                  Map<String, Object> data - the content attribute key value pairs\n                  Map<String, Object> custom - the custom key value pairs as produced by the optional component type serialize function\n                  List<Region> regions - the regions of this component\n               \n              \n          \n     \n \n \n All of this is going to happen in two layers of remote includes, therefore pagecaching of page serialization\n is separated from the pagecache lifecycle of the caller. The first one is going to be returned by this method.\n \n     layer 1 - determines visibility fingerprint for the page and all its nested components driven by its visibility rules. This remote include will not be pagecached. It will then delegate to layer 2.\n     layer 2 - does the actual rendering of the page by invoking its render function. This remote include will factor the previously determined visibility fingerprint in to the pagecache key, in case you decide to use pagecaching.\n \n \n \n The layer 1 remote include is what is returned when calling this method.\n \n \n The provided parameters argument is passed through till the layer 2 remote include which does the actual serialization so that it will be available\n for the serialize function of the invoked page as part of PageScriptContext.getRuntimeParameters(). You probably want to\n provide caller parameters from the outside in shape of a json String to the inside of the page serialization, e.g. to loop through query parameters.\n \n \n The layer 2 remote include performs the serialization of the page and all its nested components within one request. Thus data sharing between\n the page and its nested components can happen in scope of this request.\n \n \n The serialization of a page also invokes the serialize function of the respective page type.\n      Object : serialize( PageScriptContext context)\n \n The return value of the serialize function will be injected as property custom\n into the json string produced as serialization result for this page type.\n \n \n Nested page serialization, i.e. serializing a page within a page (or respectively its components), is not a supported use case.\n \n \n Due to the nature of the remote includes mentioned above this comes with the url length restriction as you already know it from\n remote includes you implement by hand within your templates. Thus the size of the parameters parameter of this\n method has a length limitation accordingly because it just translates into a url parameter of the aforementioned remote includes.\n As a best practice refrain from passing complex objects (e.g. full blown product models) but keep it rather slim (e.g. only product IDs).",
              "deprecated": false
            },
            "serializePage0": {
              "name": "serializePage",
              "args": [
                {
                  "name": "pageID",
                  "description": "the aspect driven page that will be serialized",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "aspectAttributes",
                  "description": "the values for the aspect attributes, with the key being the id of the respective attribute definition and the value adhering to the type of this attribute definition",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                },
                {
                  "name": "parameters",
                  "description": "the optional parameters passed to page serialization",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the remote include that will yield the json string as produced by page serialization"
              },
              "description": "Serialize a page as json string. This is an extension of serializePage(String, String) for the purpose of serializing a\n page that needs to determine pieces of its content at serialization time instead of design time only. Therefore it\n is possible to pass aspect attributes in case the given page is subject to an aspect type. The latter specifies the\n eligible aspect attribute definitions which the passed in aspect attributes will be validated against.\n If the validation fails for any of the following reasons an AspectAttributeValidationException\n will be thrown:\n \n     any aspect attribute value violates the value domain of the corresponding attribute definition\n     any required aspect attribute value is null\n \n Aspect attributes without corresponding attribute definition will be omitted. Once they made it into the serialization\n they will apply if no persistent attribute value exists (taking precedence over default attribute values\n as coming from the attribute definition json) and the attribute has the dynamic_lookup\n property defined which contains the aspect attribute alias. The aspect attribute value lookup then happens by taking\n this aspect attribute alias and using it as attribute identifier within the given map of aspect attributes.\n \n Due to the nature of using remote includes, also see serializePage(String, String), this comes with the url length\n restriction as you already know it from remote includes you implement by hand within your templates. Thus the size of both the\n aspectAttributes (keys and values) as well as the parameters parameter of this method\n are subject to a length limitation accordingly because they just translate into url parameters of the aforementioned remote includes.\n As a best practice refrain from passing complex objects (e.g. full blown product models) but keep it rather slim (e.g. only product IDs).",
              "deprecated": false
            }
          }
        },
        "PageScriptContext": {
          "fullClassName": "dw.experience.PageScriptContext",
          "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 page type\n script.\n \n <pre>     <code>String : render( <a href=\"class_dw_experience_PageScriptContext.html\">PageScriptContext</a> context)</code>\n     <code>Object : serialize( <a href=\"class_dw_experience_PageScriptContext.html\">PageScriptContext</a> context)</code>\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "content": {
              "name": "content",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "The processed version of the underlying unprocessed raw values (also see Page.getAttribute(String))\n of this page's attributes which you can use in your respective page 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 Page.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"
            },
            "page": {
              "name": "page",
              "class": {
                "name": "Page"
              },
              "static": false,
              "readonly": true,
              "description": "The page for which the corresponding page type script is currently executed.",
              "deprecated": false,
              "type": "property"
            },
            "renderParameters": {
              "name": "renderParameters",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The parameters argument as passed when kicking off page rendering via\n \n  PageMgr.renderPage(String, String)\n  PageMgr.renderPage(String, Map, String)\n \n and serialization\n \n  PageMgr.serializePage(String, String)\n  PageMgr.serializePage(String, Map, String)",
              "deprecated": true,
              "type": "property"
            },
            "runtimeParameters": {
              "name": "runtimeParameters",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The parameters argument as passed when kicking off page rendering via\n \n  PageMgr.renderPage(String, String)\n  PageMgr.renderPage(String, Map, String)\n \n and page serialization via\n \n  PageMgr.serializePage(String, String)\n  PageMgr.serializePage(String, Map, String)",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Map",
                "description": "processed content attributes of the page"
              },
              "description": "Returns the processed version of the underlying unprocessed raw values (also see Page.getAttribute(String))\n of this page's attributes which you can use in your respective page 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 Page.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
            },
            "getPage": {
              "name": "getPage",
              "args": [],
              "class": {
                "name": "Page",
                "description": "the currently rendered page"
              },
              "description": "Returns the page for which the corresponding page type script is currently executed.",
              "deprecated": false
            },
            "getRenderParameters": {
              "name": "getRenderParameters",
              "args": [],
              "class": {
                "name": "String",
                "description": "the parameters passed to page rendering and serialization"
              },
              "description": "Returns the parameters argument as passed when kicking off page rendering via\n \n  PageMgr.renderPage(String, String)\n  PageMgr.renderPage(String, Map, String)\n \n and serialization\n \n  PageMgr.serializePage(String, String)\n  PageMgr.serializePage(String, Map, String)",
              "deprecated": true
            },
            "getRuntimeParameters": {
              "name": "getRuntimeParameters",
              "args": [],
              "class": {
                "name": "String",
                "description": "the parameters passed to page rendering and serialization"
              },
              "description": "Returns the parameters argument as passed when kicking off page rendering via\n \n  PageMgr.renderPage(String, String)\n  PageMgr.renderPage(String, Map, String)\n \n and page serialization via\n \n  PageMgr.serializePage(String, String)\n  PageMgr.serializePage(String, Map, String)",
              "deprecated": false
            }
          }
        },
        "Region": {
          "fullClassName": "dw.experience.Region",
          "package": "dw.experience",
          "description": "This class represents a region which serves as container of components.\n Using the <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderRegion_Region_DetailAnchor\">PageMgr.renderRegion(Region)</a> or <a href=\"class_dw_experience_PageMgr.html#dw_experience_PageMgr_renderRegion_Region_RegionRenderSettings_DetailAnchor\">PageMgr.renderRegion(Region, RegionRenderSettings)</a>\n a region can be rendered.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The id of this region.",
              "deprecated": false,
              "type": "property"
            },
            "size": {
              "name": "size",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The number of components that would be rendered by this region\n when calling PageMgr.renderRegion(Region) or PageMgr.renderRegion(Region, RegionRenderSettings).\n \n Due to its time and customer group depending nature this call should NOT happen in a pagecached context\n outside of the processing induced by the above mentioned render methods.",
              "deprecated": false,
              "type": "property"
            },
            "visibleComponents": {
              "name": "visibleComponents",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The components that would be rendered by this region\n when calling PageMgr.renderRegion(Region) or PageMgr.renderRegion(Region, RegionRenderSettings).\n \n As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this\n call should NOT happen in a pagecached context outside of the processing induced by the above mentioned render methods.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the region id"
              },
              "description": "Returns the id of this region.",
              "deprecated": false
            },
            "getSize": {
              "name": "getSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the number of visible (i.e. renderable or serializable) components in this region"
              },
              "description": "Returns the number of components that would be rendered by this region\n when calling PageMgr.renderRegion(Region) or PageMgr.renderRegion(Region, RegionRenderSettings).\n \n Due to its time and customer group depending nature this call should NOT happen in a pagecached context\n outside of the processing induced by the above mentioned render methods.",
              "deprecated": false
            },
            "getVisibleComponents": {
              "name": "getVisibleComponents",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the visible (i.e. renderable or serializable) components in this region"
              },
              "description": "Returns the components that would be rendered by this region\n when calling PageMgr.renderRegion(Region) or PageMgr.renderRegion(Region, RegionRenderSettings).\n \n As visibility is driven by the merchant configured dynamic visibility rules, e.g. scheduling and custom segmentation, this\n call should NOT happen in a pagecached context outside of the processing induced by the above mentioned render methods.",
              "deprecated": false
            }
          }
        },
        "RegionRenderSettings": {
          "fullClassName": "dw.experience.RegionRenderSettings",
          "package": "dw.experience",
          "description": "A config that drives how the region 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>).\n <p>\n If no attributes are provided for the region render settings then the system default ones will apply. Also if no tag\n name is provided then the system default one will apply.\n </p><ul>\n <li>tag_name : div</li>\n <li>attributes : {\"class\":\"experience-region experience-[REGION_ID]\"}</li>\n </ul>\n Furthermore the render settings for components in this region can be specified - in case nothing is set per component\n then the default component render setting will be applied during rendering. If also no default component render\n setting is provided then the system default one will apply (see <a href=\"class_dw_experience_ComponentRenderSettings.html\">ComponentRenderSettings</a>).\n <p></p>",
          "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"
            },
            "defaultComponentRenderSettings": {
              "name": "defaultComponentRenderSettings",
              "class": {
                "name": "ComponentRenderSettings"
              },
              "static": false,
              "readonly": false,
              "description": "The default component render settings. These will be used during rendering of the components contained in\n the region in case no dedicated component render settings were provided per component. If also no default is\n supplied then the system default will be used during rendering.",
              "deprecated": false,
              "type": "property"
            },
            "tagName": {
              "name": "tagName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The tag name of the region wrapper element. Defaults to 'div'.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "RegionRenderSettings": {
              "name": "RegionRenderSettings",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Creates region render settings which can then be configured further. They are to be 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
            },
            "getComponentRenderSettings": {
              "name": "getComponentRenderSettings",
              "args": [
                {
                  "name": "component",
                  "description": "the component to retrieve the render settings for",
                  "class": {
                    "name": "Component"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ComponentRenderSettings",
                "description": "the component render settings or default component render settings if none were found for the given component"
              },
              "description": "Returns the component render settings for the given component. In case no explicitly specified settings are found\n for this component then the default one will be provided.",
              "deprecated": false
            },
            "getDefaultComponentRenderSettings": {
              "name": "getDefaultComponentRenderSettings",
              "args": [],
              "class": {
                "name": "ComponentRenderSettings",
                "description": "the default component render settings"
              },
              "description": "Returns the default component render settings. These will be used during rendering of the components contained in\n the region in case no dedicated component render settings were provided per component. If also no default is\n supplied then the system default will be used during rendering.",
              "deprecated": false
            },
            "getTagName": {
              "name": "getTagName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tag name of the region wrapper element"
              },
              "description": "Returns the tag name of the region 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": "RegionRenderSettings",
                "description": "this"
              },
              "description": "Sets the to be configured <String,String> attributes of the wrapper element. Set to null in case you\n want to system defaults to be applied.",
              "deprecated": false
            },
            "setComponentRenderSettings": {
              "name": "setComponentRenderSettings",
              "args": [
                {
                  "name": "component",
                  "description": "the component to set the render settings for",
                  "class": {
                    "name": "Component"
                  },
                  "multiple": false
                },
                {
                  "name": "componentRenderSettings",
                  "description": "the desired render settings",
                  "class": {
                    "name": "ComponentRenderSettings"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "RegionRenderSettings",
                "description": "this"
              },
              "description": "Sets the component render settings for the given component.",
              "deprecated": false
            },
            "setDefaultComponentRenderSettings": {
              "name": "setDefaultComponentRenderSettings",
              "args": [
                {
                  "name": "defaultComponentRenderSettings",
                  "description": "the default component render settings",
                  "class": {
                    "name": "ComponentRenderSettings"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "RegionRenderSettings",
                "description": "this"
              },
              "description": "Sets the default component render settings. These will be used during rendering of the components contained in\n the region in case no dedicated component render settings were provided per component.",
              "deprecated": false
            },
            "setTagName": {
              "name": "setTagName",
              "args": [
                {
                  "name": "tagName",
                  "description": "the tag name of the region wrapper element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "RegionRenderSettings",
                "description": "this"
              },
              "description": "Sets the tag name of the region wrapper element. Must not be empty.",
              "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
              }
            }
          }
        },
        "paymentapi": {
          "PaymentApiHooks": {
            "fullClassName": "dw.extensions.paymentapi.PaymentApiHooks",
            "package": "dw.extensions.paymentapi",
            "description": "PaymentApiHooks interface containing extension points for customizing Payment API requests for authorization,\n and their responses.\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.paymentapi.beforeAuthorization\", \"script\": \"./payment.ds\"}\n      {\"name\": \"dw.extensions.paymentapi.afterAuthorization\", \"script\": \"./payment.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": {
              "extensionPointAfterAuthorization": {
                "name": "extensionPointAfterAuthorization",
                "value": "\"dw.extensions.paymentapi.afterAuthorization\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.paymentapi.afterAuthorization.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointBeforeAuthorization": {
                "name": "extensionPointBeforeAuthorization",
                "value": "\"dw.extensions.paymentapi.beforeAuthorization\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name .",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "afterAuthorization": {
                "name": "afterAuthorization",
                "args": [
                  {
                    "name": "order",
                    "description": "the order whose payment to authorize",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "payment",
                    "description": "the payment instrument to authorize",
                    "class": {
                      "name": "OrderPaymentInstrument"
                    },
                    "multiple": false
                  },
                  {
                    "name": "custom",
                    "description": "container of custom properties included in the PSP response",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  },
                  {
                    "name": "status",
                    "description": "the result of handling the response without customization",
                    "class": {
                      "name": "Status"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after the response has been handled for a request to authorize payment for the given order.\n \n \n The given status is the result of handling the response without customization. That status will be\n used unless an implementation of this hook returns an alternative status.",
                "deprecated": false
              },
              "beforeAuthorization": {
                "name": "beforeAuthorization",
                "args": [
                  {
                    "name": "order",
                    "description": "the order whose payment to authorize",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "payment",
                    "description": "the payment instrument to authorize",
                    "class": {
                      "name": "OrderPaymentInstrument"
                    },
                    "multiple": false
                  },
                  {
                    "name": "custom",
                    "description": "container for custom properties to include in request",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called when a request is to be made to authorize payment for the given order.\n \n \n Return an error status to indicate a problem. The request will not be made to the payment provider.",
                "deprecated": false
              }
            }
          }
        },
        "paymentrequest": {
          "PaymentRequestHookResult": {
            "fullClassName": "dw.extensions.paymentrequest.PaymentRequestHookResult",
            "package": "dw.extensions.paymentrequest",
            "description": "Result of a hook handling a Payment Request request",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "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": {
              "PaymentRequestHookResult": {
                "name": "PaymentRequestHookResult",
                "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
              }
            }
          },
          "PaymentRequestHooks": {
            "fullClassName": "dw.extensions.paymentrequest.PaymentRequestHooks",
            "package": "dw.extensions.paymentrequest",
            "description": "PaymentRequestHooks interface containing extension points for customizing Payment Requests.\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.paymentrequest.getPaymentRequest\", \"script\": \"./paymentrequest.ds\"}\n      {\"name\": \"dw.extensions.paymentrequest.shippingAddressChange\", \"script\": \"./paymentrequest.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": {
              "extensionPointAbort": {
                "name": "extensionPointAbort",
                "value": "\"dw.extensions.paymentrequest.abort\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.paymentrequest.abort.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointGetPaymentRequest": {
                "name": "extensionPointGetPaymentRequest",
                "value": "\"dw.extensions.paymentrequest.getPaymentRequest\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.paymentrequest.getPaymentRequest.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAcceptedAuthorizeOrderPayment": {
                "name": "extensionPointPaymentAcceptedAuthorizeOrderPayment",
                "value": "\"dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.paymentrequest.paymentAccepted.authorizeOrderPayment.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPaymentAcceptedPlaceOrder": {
                "name": "extensionPointPaymentAcceptedPlaceOrder",
                "value": "\"dw.extensions.paymentrequest.paymentAccepted.placeOrder\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name .",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingAddressChange": {
                "name": "extensionPointShippingAddressChange",
                "value": "\"dw.extensions.paymentrequest.shippingAddressChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name .",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingOptionChange": {
                "name": "extensionPointShippingOptionChange",
                "value": "\"dw.extensions.paymentrequest.shippingOptionChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.paymentrequest.shippingOptionChange.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "abort": {
                "name": "abort",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket that was being checked out using Payment Request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "PaymentRequestHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after the Payment Request user interface was canceled. The given basket is the one that was passed to other\n hooks earlier in the Payment Request checkout process.\n \n \n It is not guaranteed that this hook will be executed for all Payment Request user interfaces 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
              },
              "authorizeOrderPayment": {
                "name": "authorizeOrderPayment",
                "args": [
                  {
                    "name": "order",
                    "description": "the order paid using Payment Request",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "response",
                    "description": "response to the accepted PaymentRequest",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null status ends the hook execution"
                },
                "description": "Called after the shopper accepts the Payment Request payment for the given order. Basket customer information,\n billing address, and/or shipping address for the default shipment will have already been updated to reflect the\n available contact information provided by Payment Request. Any preexisting payment instruments on the basket will\n have been removed, and a single DW_ANDROID_PAY payment instrument added for the total amount. The\n given order will have been created from this updated basket.\n \n \n The purpose of this hook is to authorize the Payment Request payment for the order. If a non-error status is returned\n that means that you have successfully authorized the payment with your payment service provider. Your hook\n implementation must set the necessary payment status and transaction identifier data on the order as returned by\n the provider.\n \n \n Return an error status to indicate a problem, including unsuccessful authorization.\n \n \n See the Payment Request API for more information.",
                "deprecated": false
              },
              "getPaymentRequest": {
                "name": "getPaymentRequest",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket for the Payment Request request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "parameters",
                    "description": "object containing PaymentRequest constructor parameters",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "PaymentRequestHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called to get the PaymentRequest constructor parameters for the given basket. You can\n set properties in the given parameters object to extend or override default properties set\n automatically based on the Google Pay configuration for your site.\n \n \n The parameters object will contain the following properties by default:\n \n methodData - array containing payment methods the web site accepts\n details - information about the transaction that the user is being asked to complete\n options - information about what options the web page wishes to use from the payment request system\n \n \n \n Return a result with an error status to indicate a problem.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Payment\n Request user interaction is canceled.\n \n \n See the Payment Request API for more information.",
                "deprecated": false
              },
              "placeOrder": {
                "name": "placeOrder",
                "args": [
                  {
                    "name": "order",
                    "description": "the order paid using PaymentRequest",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "PaymentRequestHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after payment has been authorized and the given Payment Request order is ready to be placed. The purpose of\n this 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. If the returned result includes a redirect URL, the shopper browser\n will be navigated to that URL if the Payment Request user interface is canceled.",
                "deprecated": false
              },
              "shippingAddressChange": {
                "name": "shippingAddressChange",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Payment Request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "details",
                    "description": "updated PaymentRequest object details",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "PaymentRequestHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after handling the Payment Request shippingaddresschange event 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 address information provided by Payment Request. The basket will have already been\n calculated before this hook is called.\n \n \n Return a result with an error status to indicate a problem.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the Payment\n Request user interface is canceled.\n \n \n See the Payment Request API for more information.",
                "deprecated": false
              },
              "shippingOptionChange": {
                "name": "shippingOptionChange",
                "args": [
                  {
                    "name": "basket",
                    "description": "the basket being checked out using Payment Request",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "shippingMethod",
                    "description": "the shipping method that was selected",
                    "class": {
                      "name": "ShippingMethod"
                    },
                    "multiple": false
                  },
                  {
                    "name": "details",
                    "description": "updated PaymentRequest object details",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "PaymentRequestHookResult",
                  "description": "a non-null result ends the hook execution"
                },
                "description": "Called after handling the Payment Request shippingoptionchange event 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 Return a result with an error status to indicate a problem.\n \n \n If the returned result includes a redirect URL, the shopper browser will be navigated to that URL if the\n Payment Request user interface is canceled.\n \n \n See the Payment Request API for more information.",
                "deprecated": false
              }
            }
          }
        },
        "payments": {
          "SalesforcePayPalOrder": {
            "fullClassName": "dw.extensions.payments.SalesforcePayPalOrder",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a PayPal order object. See Salesforce Payments documentation for how\n to gain access and configure it for use on your sites.\n </p>\n <p>\n A PayPal order is automatically created when a shopper is ready to pay for items in their basket. It becomes\n completed when the shopper provides information to the payment provider that is acceptable to authorize payment for a\n given amount.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "amount": {
                "name": "amount",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": true,
                "description": "The amount of this PayPal order.",
                "deprecated": false,
                "type": "property"
              },
              "captureID": {
                "name": "captureID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The ID of the capture against this order, or null if not available.",
                "deprecated": false,
                "type": "property"
              },
              "completed": {
                "name": "completed",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": true,
                "description": "Returns true if this PayPal order has been completed, or false if not.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The identifier of this PayPal order.",
                "deprecated": false,
                "type": "property"
              },
              "payer": {
                "name": "payer",
                "class": {
                  "name": "SalesforcePayPalOrderPayer"
                },
                "static": false,
                "readonly": true,
                "description": "The payer information for this PayPal order, or null if not known.",
                "deprecated": false,
                "type": "property"
              },
              "shipping": {
                "name": "shipping",
                "class": {
                  "name": "SalesforcePayPalOrderAddress"
                },
                "static": false,
                "readonly": true,
                "description": "The shipping address for this PayPal order, or null if not known.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAmount": {
                "name": "getAmount",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": "PayPal order amount"
                },
                "description": "Returns the amount of this PayPal order.",
                "deprecated": false
              },
              "getCaptureID": {
                "name": "getCaptureID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "PayPal order capture identifier"
                },
                "description": "Returns the ID of the capture against this order, or null if not available.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "PayPal order identifier"
                },
                "description": "Returns the identifier of this PayPal order.",
                "deprecated": false
              },
              "getPayer": {
                "name": "getPayer",
                "args": [],
                "class": {
                  "name": "SalesforcePayPalOrderPayer",
                  "description": "order payer information"
                },
                "description": "Returns the payer information for this PayPal order, or null if not known.",
                "deprecated": false
              },
              "getPaymentInstrument": {
                "name": "getPaymentInstrument",
                "args": [
                  {
                    "name": "basket",
                    "description": "basket",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "OrderPaymentInstrument",
                  "description": "basket payment instrument"
                },
                "description": "Returns the payment instrument for this PayPal order in the given basket, or null if the given\n basket has none.",
                "deprecated": false
              },
              "getPaymentInstrument0": {
                "name": "getPaymentInstrument",
                "args": [
                  {
                    "name": "order",
                    "description": "order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "OrderPaymentInstrument",
                  "description": "order payment instrument"
                },
                "description": "Returns the payment instrument for this payment intent in the given order, or null if the given\n order has none.",
                "deprecated": false
              },
              "getShipping": {
                "name": "getShipping",
                "args": [],
                "class": {
                  "name": "SalesforcePayPalOrderAddress",
                  "description": "order shipping address"
                },
                "description": "Returns the shipping address for this PayPal order, or null if not known.",
                "deprecated": false
              },
              "isCompleted": {
                "name": "isCompleted",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if this PayPal order has been completed"
                },
                "description": "Returns true if this PayPal order has been completed, or false if not.",
                "deprecated": false
              }
            }
          },
          "SalesforcePayPalOrderAddress": {
            "fullClassName": "dw.extensions.payments.SalesforcePayPalOrderAddress",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a PayPal order address object. See Salesforce Payments documentation\n for how to gain access and configure it for use on your sites.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "addressLine1": {
                "name": "addressLine1",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address line 1.",
                "deprecated": false,
                "type": "property"
              },
              "addressLine2": {
                "name": "addressLine2",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address line 2.",
                "deprecated": false,
                "type": "property"
              },
              "adminArea1": {
                "name": "adminArea1",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2\n subdivision.",
                "deprecated": false,
                "type": "property"
              },
              "adminArea2": {
                "name": "adminArea2",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address city, town, or village.",
                "deprecated": false,
                "type": "property"
              },
              "countryCode": {
                "name": "countryCode",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address two-character ISO 3166-1 code that identifies the country or region.",
                "deprecated": false,
                "type": "property"
              },
              "fullName": {
                "name": "fullName",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address full name.",
                "deprecated": false,
                "type": "property"
              },
              "postalCode": {
                "name": "postalCode",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The address postal code.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAddressLine1": {
                "name": "getAddressLine1",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address line 1"
                },
                "description": "Returns the address line 1.",
                "deprecated": false
              },
              "getAddressLine2": {
                "name": "getAddressLine2",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address line 2"
                },
                "description": "Returns the address line 2.",
                "deprecated": false
              },
              "getAdminArea1": {
                "name": "getAdminArea1",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address highest level sub-division in a country, such as a state"
                },
                "description": "Returns the address highest level sub-division in a country, which is usually a province, state, or ISO-3166-2\n subdivision.",
                "deprecated": false
              },
              "getAdminArea2": {
                "name": "getAdminArea2",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address city, town, or village"
                },
                "description": "Returns the address city, town, or village.",
                "deprecated": false
              },
              "getCountryCode": {
                "name": "getCountryCode",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address country code"
                },
                "description": "Returns the address two-character ISO 3166-1 code that identifies the country or region.",
                "deprecated": false
              },
              "getFullName": {
                "name": "getFullName",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address full name"
                },
                "description": "Returns the address full name.",
                "deprecated": false
              },
              "getPostalCode": {
                "name": "getPostalCode",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "address postal code"
                },
                "description": "Returns the address postal code.",
                "deprecated": false
              }
            }
          },
          "SalesforcePayPalOrderPayer": {
            "fullClassName": "dw.extensions.payments.SalesforcePayPalOrderPayer",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a PayPal order's payer object. See Salesforce Payments documentation\n for how to gain access and configure it for use on your sites.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "emailAddress": {
                "name": "emailAddress",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The payer's email address.",
                "deprecated": false,
                "type": "property"
              },
              "givenName": {
                "name": "givenName",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The payer's given name.",
                "deprecated": false,
                "type": "property"
              },
              "phone": {
                "name": "phone",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The payer's national phone number.",
                "deprecated": false,
                "type": "property"
              },
              "surname": {
                "name": "surname",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The payer's surname.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getEmailAddress": {
                "name": "getEmailAddress",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payer's email address"
                },
                "description": "Returns the payer's email address.",
                "deprecated": false
              },
              "getGivenName": {
                "name": "getGivenName",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payer's given name"
                },
                "description": "Returns the payer's given name.",
                "deprecated": false
              },
              "getPhone": {
                "name": "getPhone",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payer's national phone number"
                },
                "description": "Returns the payer's national phone number.",
                "deprecated": false
              },
              "getSurname": {
                "name": "getSurname",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payer's surname"
                },
                "description": "Returns the payer's surname.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentIntent": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentIntent",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a payment intent object. See Salesforce Payments documentation for how\n to gain access and configure it for use on your sites.\n </p>\n <p>\n A payment intent is automatically created when a shopper is ready to pay for items in their basket. It becomes\n confirmed when the shopper provides information to the payment provider that is acceptable to authorize payment for a\n given amount. Once that information has been provided it becomes available as the payment method associated with the\n payment intent.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "amount": {
                "name": "amount",
                "class": {
                  "name": "Money"
                },
                "static": false,
                "readonly": true,
                "description": "The amount of this payment intent.",
                "deprecated": false,
                "type": "property"
              },
              "confirmed": {
                "name": "confirmed",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": true,
                "description": "Returns true if this payment intent has been confirmed, or false if not.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The identifier of this payment intent.",
                "deprecated": false,
                "type": "property"
              },
              "paymentMethod": {
                "name": "paymentMethod",
                "class": {
                  "name": "SalesforcePaymentMethod"
                },
                "static": false,
                "readonly": true,
                "description": "The payment method for this payment intent, or null if none has been established.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getAmount": {
                "name": "getAmount",
                "args": [],
                "class": {
                  "name": "Money",
                  "description": "payment intent amount"
                },
                "description": "Returns the amount of this payment intent.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment intent identifier"
                },
                "description": "Returns the identifier of this payment intent.",
                "deprecated": false
              },
              "getPaymentInstrument": {
                "name": "getPaymentInstrument",
                "args": [
                  {
                    "name": "basket",
                    "description": "basket",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "OrderPaymentInstrument",
                  "description": "basket payment instrument"
                },
                "description": "Returns the payment instrument for this payment intent in the given basket, or null if the given\n basket has none.",
                "deprecated": false
              },
              "getPaymentInstrument0": {
                "name": "getPaymentInstrument",
                "args": [
                  {
                    "name": "order",
                    "description": "order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "OrderPaymentInstrument",
                  "description": "order payment instrument"
                },
                "description": "Returns the payment instrument for this payment intent in the given order, or null if the given\n order has none.",
                "deprecated": false
              },
              "getPaymentMethod": {
                "name": "getPaymentMethod",
                "args": [],
                "class": {
                  "name": "SalesforcePaymentMethod",
                  "description": "payment method"
                },
                "description": "Returns the payment method for this payment intent, or null if none has been established.",
                "deprecated": false
              },
              "isConfirmed": {
                "name": "isConfirmed",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if this payment intent has been confirmed"
                },
                "description": "Returns true if this payment intent has been confirmed, or false if not.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentMethod": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentMethod",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a payment method object. See Salesforce Payments documentation for how\n to gain access and configure it for use on your sites.\n </p>\n <p>\n A payment method contains information about a credential used by a shopper to attempt payment, such as a payment card\n or bank account. The available information differs for each type of payment method. It includes only limited\n information that can be safely presented to a shopper to remind them what credential they used, and specifically not\n complete card, account, or other numbers that could be used to make future payments.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "TYPE_BANCONTACT": {
                "name": "TYPE_BANCONTACT",
                "value": "\"bancontact\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents the Bancontact payment method.",
                "deprecated": false,
                "type": "constant"
              },
              "TYPE_CARD": {
                "name": "TYPE_CARD",
                "value": "\"card\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents a credit card type of payment method.",
                "deprecated": false,
                "type": "constant"
              },
              "TYPE_EPS": {
                "name": "TYPE_EPS",
                "value": "\"eps\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents the EPS (Electronic Payment Standard) payment method.",
                "deprecated": false,
                "type": "constant"
              },
              "TYPE_IDEAL": {
                "name": "TYPE_IDEAL",
                "value": "\"ideal\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents the iDEAL payment method.",
                "deprecated": false,
                "type": "constant"
              },
              "TYPE_KLARNA": {
                "name": "TYPE_KLARNA",
                "value": "\"klarna\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents the Klarna payment method.",
                "deprecated": false,
                "type": "constant"
              },
              "TYPE_SEPA_DEBIT": {
                "name": "TYPE_SEPA_DEBIT",
                "value": "\"sepa_debit\"",
                "class": {
                  "name": "String"
                },
                "description": "Represents the SEPA Debit payment method.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "bank": {
                "name": "bank",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The bank of this payment method, or null if none is available. Available on\n TYPE_IDEAL and TYPE_EPS type methods.",
                "deprecated": false,
                "type": "property"
              },
              "bankCode": {
                "name": "bankCode",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The bank code of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT and TYPE_BANCONTACT type methods.",
                "deprecated": false,
                "type": "property"
              },
              "bankName": {
                "name": "bankName",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The bank name of this payment method, or null if none is available. Available on\n TYPE_BANCONTACT type methods.",
                "deprecated": false,
                "type": "property"
              },
              "branchCode": {
                "name": "branchCode",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The bank branch code of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT type methods.",
                "deprecated": false,
                "type": "property"
              },
              "brand": {
                "name": "brand",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The brand of this payment method, or null if none is available. Available on\n TYPE_CARD type methods.",
                "deprecated": false,
                "type": "property"
              },
              "country": {
                "name": "country",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The country of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT type methods.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The identifier of this payment method.",
                "deprecated": false,
                "type": "property"
              },
              "last4": {
                "name": "last4",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The last 4 digits of the credential for this payment method, or null if none is available.\n Available on TYPE_CARD, TYPE_SEPA_DEBIT, and\n TYPE_BANCONTACT type methods.",
                "deprecated": false,
                "type": "property"
              },
              "paymentMethodCategory": {
                "name": "paymentMethodCategory",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The payment method category of this payment method, or null if none is available. Available\n on TYPE_KLARNA type methods.",
                "deprecated": false,
                "type": "property"
              },
              "type": {
                "name": "type",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The type of this payment method.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "getBank": {
                "name": "getBank",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method bank"
                },
                "description": "Returns the bank of this payment method, or null if none is available. Available on\n TYPE_IDEAL and TYPE_EPS type methods.",
                "deprecated": false
              },
              "getBankCode": {
                "name": "getBankCode",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method bank code"
                },
                "description": "Returns the bank code of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT and TYPE_BANCONTACT type methods.",
                "deprecated": false
              },
              "getBankName": {
                "name": "getBankName",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method bank name"
                },
                "description": "Returns the bank name of this payment method, or null if none is available. Available on\n TYPE_BANCONTACT type methods.",
                "deprecated": false
              },
              "getBranchCode": {
                "name": "getBranchCode",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method bank branch code"
                },
                "description": "Returns the bank branch code of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT type methods.",
                "deprecated": false
              },
              "getBrand": {
                "name": "getBrand",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method brand"
                },
                "description": "Returns the brand of this payment method, or null if none is available. Available on\n TYPE_CARD type methods.",
                "deprecated": false
              },
              "getCountry": {
                "name": "getCountry",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method country"
                },
                "description": "Returns the country of this payment method, or null if none is available. Available on\n TYPE_SEPA_DEBIT type methods.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method identifier"
                },
                "description": "Returns the identifier of this payment method.",
                "deprecated": false
              },
              "getLast4": {
                "name": "getLast4",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method credential last 4 digits"
                },
                "description": "Returns the last 4 digits of the credential for this payment method, or null if none is available.\n Available on TYPE_CARD, TYPE_SEPA_DEBIT, and\n TYPE_BANCONTACT type methods.",
                "deprecated": false
              },
              "getPaymentMethodCategory": {
                "name": "getPaymentMethodCategory",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method category"
                },
                "description": "Returns the payment method category of this payment method, or null if none is available. Available\n on TYPE_KLARNA type methods.",
                "deprecated": false
              },
              "getType": {
                "name": "getType",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment method type"
                },
                "description": "Returns the type of this payment method.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentRequest": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentRequest",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments request for a shopper to make payment. See Salesforce Payments documentation for how to\n gain access and configure it for use on your sites.\n </p>\n <p>\n A request is required to render payment methods and/or express checkout buttons using <code>&lt;ispayment&gt;</code>\n or <code>&lt;isbuynow&gt;</code>. You can call methods on the payment request to configure which payment methods\n and/or express checkout buttons may be presented, and customize their visual presentation.\n </p>\n <p>\n When used with <code>&lt;isbuynow&gt;</code> you must provide the necessary data to prepare the shopper basket to buy\n the product, and the necessary payment request options for the browser payment app.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {
              "ELEMENT_CARD_CVC": {
                "name": "ELEMENT_CARD_CVC",
                "value": "\"cardCvc\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe credit card CVC field \"cardCvc\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_CARD_EXPIRY": {
                "name": "ELEMENT_CARD_EXPIRY",
                "value": "\"cardExpiry\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe credit card expiration date field \"cardExpiry\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_CARD_NUMBER": {
                "name": "ELEMENT_CARD_NUMBER",
                "value": "\"cardNumber\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe credit card number field \"cardNumber\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_EPS_BANK": {
                "name": "ELEMENT_EPS_BANK",
                "value": "\"epsBank\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe EPS bank selection field \"epsBank\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_IBAN": {
                "name": "ELEMENT_IBAN",
                "value": "\"iban\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe IBAN field \"iban\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_IDEAL_BANK": {
                "name": "ELEMENT_IDEAL_BANK",
                "value": "\"idealBank\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe iDEAL bank selection field \"idealBank\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_PAYMENT_REQUEST_BUTTON": {
                "name": "ELEMENT_PAYMENT_REQUEST_BUTTON",
                "value": "\"paymentRequestButton\"",
                "class": {
                  "name": "String"
                },
                "description": "Element for the Stripe payment request button \"paymentRequestButton\".",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_APPLEPAY": {
                "name": "ELEMENT_TYPE_APPLEPAY",
                "value": "\"applepay\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for Apple Pay payment request buttons.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_BANCONTACT": {
                "name": "ELEMENT_TYPE_BANCONTACT",
                "value": "\"bancontact\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for Bancontact.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_CARD": {
                "name": "ELEMENT_TYPE_CARD",
                "value": "\"card\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for credit cards.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_EPS": {
                "name": "ELEMENT_TYPE_EPS",
                "value": "\"eps\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for EPS.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_IDEAL": {
                "name": "ELEMENT_TYPE_IDEAL",
                "value": "\"ideal\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for iDEAL.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_PAYMENTREQUEST": {
                "name": "ELEMENT_TYPE_PAYMENTREQUEST",
                "value": "\"paymentrequest\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for other payment request buttons besides Apple Pay, like Google Pay.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_PAYPAL": {
                "name": "ELEMENT_TYPE_PAYPAL",
                "value": "\"paypal\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for PayPal in multi-step checkout.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_PAYPAL_EXPRESS": {
                "name": "ELEMENT_TYPE_PAYPAL_EXPRESS",
                "value": "\"paypalexpress\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for PayPal in express checkout.",
                "deprecated": false,
                "type": "constant"
              },
              "ELEMENT_TYPE_SEPA_DEBIT": {
                "name": "ELEMENT_TYPE_SEPA_DEBIT",
                "value": "\"sepa_debit\"",
                "class": {
                  "name": "String"
                },
                "description": "Element type name for SEPA debit.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYPAL_SHIPPING_PREFERENCE_GET_FROM_FILE": {
                "name": "PAYPAL_SHIPPING_PREFERENCE_GET_FROM_FILE",
                "value": "\"GET_FROM_FILE\"",
                "class": {
                  "name": "String"
                },
                "description": "PayPal application context shipping_preference value \"GET_FROM_FILE\", to use the\n customer-provided shipping address on the PayPal site.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYPAL_SHIPPING_PREFERENCE_NO_SHIPPING": {
                "name": "PAYPAL_SHIPPING_PREFERENCE_NO_SHIPPING",
                "value": "\"NO_SHIPPING\"",
                "class": {
                  "name": "String"
                },
                "description": "PayPal application context shipping_preference value \"NO_SHIPPING\", to redact the\n shipping address from the PayPal site. Recommended for digital goods.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYPAL_SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS": {
                "name": "PAYPAL_SHIPPING_PREFERENCE_SET_PROVIDED_ADDRESS",
                "value": "\"SET_PROVIDED_ADDRESS\"",
                "class": {
                  "name": "String"
                },
                "description": "PayPal application context shipping_preference value \"SET_PROVIDED_ADDRESS\", to use the\n merchant-provided address. The customer cannot change this address on the PayPal site.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYPAL_USER_ACTION_CONTINUE": {
                "name": "PAYPAL_USER_ACTION_CONTINUE",
                "value": "\"CONTINUE\"",
                "class": {
                  "name": "String"
                },
                "description": "PayPal application context user_action value \"CONTINUE\". Use this option when the final\n amount is not known when the checkout flow is initiated and you want to redirect the customer to the merchant\n page without processing the payment.",
                "deprecated": false,
                "type": "constant"
              },
              "PAYPAL_USER_ACTION_PAY_NOW": {
                "name": "PAYPAL_USER_ACTION_PAY_NOW",
                "value": "\"PAY_NOW\"",
                "class": {
                  "name": "String"
                },
                "description": "PayPal application context user_action value \"PAY_NOW\". Use this option when the final\n amount is known when the checkout is initiated and you want to process the payment immediately when the customer\n clicks Pay Now.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {
              "basketData": {
                "name": "basketData",
                "class": {
                  "name": "Object"
                },
                "static": false,
                "readonly": false,
                "description": "A JS object containing the data used to prepare the shopper basket when a Buy Now button is tapped.",
                "deprecated": false,
                "type": "property"
              },
              "billingDetails": {
                "name": "billingDetails",
                "class": {
                  "name": "Object"
                },
                "static": false,
                "readonly": false,
                "description": "A JS object containing the billing details to use when a Stripe PaymentMethod is created.",
                "deprecated": false,
                "type": "property"
              },
              "exclude": {
                "name": "exclude",
                "class": {
                  "name": "Set"
                },
                "static": false,
                "readonly": true,
                "description": "Returns a set containing the element types to be explicitly excluded from mounted components. See the element\n type constants in this class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false,
                "type": "property"
              },
              "ID": {
                "name": "ID",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The identifier of this payment request.",
                "deprecated": false,
                "type": "property"
              },
              "include": {
                "name": "include",
                "class": {
                  "name": "Set"
                },
                "static": false,
                "readonly": true,
                "description": "Returns a set containing the specific element types to include in mounted components. If the set is\n empty then all applicable and enabled element types will be included by default. See the element type constants\n in this class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false,
                "type": "property"
              },
              "selector": {
                "name": "selector",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": true,
                "description": "The DOM element selector where to mount payment methods and/or express checkout buttons.",
                "deprecated": false,
                "type": "property"
              },
              "setupFutureUsage": {
                "name": "setupFutureUsage",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": false,
                "description": "Returns true if the payment method should be always saved for future use off session, or\n false if the payment method should be only saved for future use on session when appropriate.",
                "deprecated": false,
                "type": "property"
              },
              "statementDescriptor": {
                "name": "statementDescriptor",
                "class": {
                  "name": "String"
                },
                "static": false,
                "readonly": false,
                "description": "The complete description that appears on your customers' statements for payments made by this request, or\n null if the default statement descriptor for your account will be used.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {
              "SalesforcePaymentRequest": {
                "name": "SalesforcePaymentRequest",
                "args": [
                  {
                    "name": "id",
                    "description": "identifier for payment request",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  },
                  {
                    "name": "selector",
                    "description": "DOM element selector where to mount payment methods and/or express checkout buttons",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "description": ""
                },
                "description": "Constructs a payment request using the given identifiers.",
                "deprecated": false
              }
            },
            "methods": {
              "addExclude": {
                "name": "addExclude",
                "args": [
                  {
                    "name": "elementType",
                    "description": "element type",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Adds the given element type to explicitly exclude from mounted components. It is not necessary to explicitly\n exclude element types that are not enabled for the site, or are not applicable for the current shopper and/or\n their basket. See the element type constants in this class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false
              },
              "addInclude": {
                "name": "addInclude",
                "args": [
                  {
                    "name": "elementType",
                    "description": "element type",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Adds the given element type to include in mounted components. Call this method to include only a specific list of\n element types to be presented when applicable and enabled for the site. See the element type constants in this\n class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false
              },
              "calculatePaymentRequestOptions": {
                "name": "calculatePaymentRequestOptions",
                "args": [
                  {
                    "name": "basket",
                    "description": "No Comment In JavaDoc",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  },
                  {
                    "name": "options",
                    "description": "JS object containing payment request options in B2C Commerce API standard format",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "Object",
                  "description": "JS object containing equivalent payment request options in Stripe JS API format"
                },
                "description": "Returns a JS object containing the payment request options to use when a Pay Now button is tapped, in the\n appropriate format for use in client side JavaScript, with data calculated from the given basket. This method is\n provided as a convenience to calculate updated payment request options when the shopper basket has changed. Data\n in the given options object like total, displayItems, and\n shippingOptions will be replaced in the returned object by values recalculated from the given\n basket and applicable shipping methods.\n \n \n The following example shows the resulting output for a basket and sample options.\n \n \nSalesforcePaymentRequest.calculatePaymentRequestOptions(basket, {\n    requestPayerName: true,\n    requestPayerEmail: true,\n    requestPayerPhone: false,\n    requestShipping: true\n});\n \n \n returns\n \n \n{\n    currency: 'gbp',\n    total: {\n        label: 'Total',\n        amount: '2644'\n    },\n    displayItems: [{\n        label: 'Subtotal',\n        amount: '1919'\n    }, {\n        label: 'Tax',\n        amount: '126'\n    }, {\n        label: 'Ground',\n        amount: '599'\n    }],\n    requestPayerName: true,\n    requestPayerEmail: true,\n    requestPayerPhone: false,\n    requestShipping: true,\n    shippingOptions: [{\n        id: 'GBP001',\n        label: 'Ground',\n        detail: 'Order received within 7-10 business days',\n        amount: '599'\n    },{\n        id: 'GBP002',\n        label: 'Express',\n        detail: 'Order received within 2-4 business days',\n        amount: '999'\n    }]\n}",
                "deprecated": false
              },
              "format": {
                "name": "format",
                "args": [
                  {
                    "name": "options",
                    "description": "JS object containing payment request options in B2C Commerce API standard format",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "Object",
                  "description": "JS object containing equivalent payment request options in Stripe JS API format"
                },
                "description": "Returns a JS object containing the payment request options to use when a Buy Now button is tapped, in the\n appropriate format for use in client side JavaScript. This method is provided as a convenience to adjust values\n in B2C Commerce API standard formats to their equivalents as expected by Stripe JS APIs. The following example\n shows options set in B2C Commerce API format, and the resulting output.\n \n \nSalesforcePaymentRequest.format({\n    currency: 'GBP',\n    total: {\n        label: 'Total',\n        amount: '26.44'\n    },\n    displayItems: [{\n        label: 'Subtotal',\n        amount: '19.19'\n    }, {\n        label: 'Tax',\n        amount: '1.26'\n    }, {\n        label: 'Ground',\n        amount: '5.99'\n    }],\n    requestPayerPhone: false,\n    shippingOptions: [{\n        id: 'GBP001',\n        label: 'Ground',\n        detail: 'Order received within 7-10 business days',\n        amount: '5.99'\n    }]\n});\n \n \n returns\n \n \n{\n    currency: 'gbp',\n    total: {\n        label: 'Total',\n        amount: '2644'\n    },\n    displayItems: [{\n        label: 'Subtotal',\n        amount: '1919'\n    }, {\n        label: 'Tax',\n        amount: '126'\n    }, {\n        label: 'Ground',\n        amount: '599'\n    }],\n    requestPayerPhone: false,\n    shippingOptions: [{\n        id: 'GBP001',\n        label: 'Ground',\n        detail: 'Order received within 7-10 business days',\n        amount: '599'\n    }]\n}",
                "deprecated": false
              },
              "getBasketData": {
                "name": "getBasketData",
                "args": [],
                "class": {
                  "name": "Object",
                  "description": "JS object containing the basket data"
                },
                "description": "Returns a JS object containing the data used to prepare the shopper basket when a Buy Now button is tapped.",
                "deprecated": false
              },
              "getBillingDetails": {
                "name": "getBillingDetails",
                "args": [],
                "class": {
                  "name": "Object",
                  "description": "JS object containing the billing details"
                },
                "description": "Returns a JS object containing the billing details to use when a Stripe PaymentMethod is created.",
                "deprecated": false
              },
              "getExclude": {
                "name": "getExclude",
                "args": [],
                "class": {
                  "name": "Set",
                  "description": "set of element types"
                },
                "description": "Returns a set containing the element types to be explicitly excluded from mounted components. See the element\n type constants in this class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false
              },
              "getID": {
                "name": "getID",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "payment request identifier"
                },
                "description": "Returns the identifier of this payment request.",
                "deprecated": false
              },
              "getInclude": {
                "name": "getInclude",
                "args": [],
                "class": {
                  "name": "Set",
                  "description": "set of element types"
                },
                "description": "Returns a set containing the specific element types to include in mounted components. If the set is\n empty then all applicable and enabled element types will be included by default. See the element type constants\n in this class for the full list of supported element types.\n \n \n Note: if an element type is both explicitly included and excluded, it will not be presented.",
                "deprecated": false
              },
              "getSelector": {
                "name": "getSelector",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "DOM element selector"
                },
                "description": "Returns the DOM element selector where to mount payment methods and/or express checkout buttons.",
                "deprecated": false
              },
              "getSetupFutureUsage": {
                "name": "getSetupFutureUsage",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if the payment method should be always saved for future use off session, false if the payment method should be only saved for future use on session when appropriate."
                },
                "description": "Returns true if the payment method should be always saved for future use off session, or\n false if the payment method should be only saved for future use on session when appropriate.",
                "deprecated": false
              },
              "getStatementDescriptor": {
                "name": "getStatementDescriptor",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "statement descriptor for payments made by this request, or null if the account default will be used"
                },
                "description": "Returns the complete description that appears on your customers' statements for payments made by this request, or\n null if the default statement descriptor for your account will be used.",
                "deprecated": false
              },
              "setBasketData": {
                "name": "setBasketData",
                "args": [
                  {
                    "name": "basketData",
                    "description": "JS object containing the basket data",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the data used to prepare the shopper basket when a Buy Now button is tapped. For convenience this method\n accepts a JS object to set all of the following properties at once:\n \n \n sku - SKU of the product to add exclusively to the basket (required)\n quantity - integer quantity of the product, default is 1\n shippingMethod - ID of the shipping method to set on the shipment, default is the site default\n shipping method for the basket currency\n options - JS array containing one JS object per selected product option, default is no selected options\n \n id - product option ID\n valueId - product option value ID\n \n \n \n The following example shows how to set all of the supported basket data.\n \n \nrequest.setBasketData({\n    sku: 'tv-pdp-6010fdM',\n    quantity: 1,\n    shippingMethod: '001',\n    options: [{\n        id: 'tvWarranty',\n        valueId: '000'\n    }]\n});",
                "deprecated": false
              },
              "setBillingDetails": {
                "name": "setBillingDetails",
                "args": [
                  {
                    "name": "billingDetails",
                    "description": "JS object containing the billing details",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the billing details to use when a Stripe PaymentMethod is created. For convenience this method accepts a\n JS object to set all details at once. The following example shows how to set details including address.\n \n \nrequest.setBillingDetails({\n    address: {\n        city: 'Wien',\n        country: 'AT',\n        line1: 'Opernring 2',\n        postal_code: '1010'\n    },\n    email: '[email protected]',\n    name: 'Johann Hummel'\n});\n \n \n For more information on the available billing details see the Stripe create PaymentMethod API\n documentation.",
                "deprecated": false
              },
              "setOptions": {
                "name": "setOptions",
                "args": [
                  {
                    "name": "options",
                    "description": "JS object containing the payment request options",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the payment request options to use when a Buy Now button is tapped. For convenience this method accepts a\n JS object to set all options at once. The following example shows how to set options including currency,\n labels, and amounts, in B2C Commerce API format.\n \n \nrequest.setOptions({\n    currency: 'GBP',\n    total: {\n        label: 'Total',\n        amount: '26.44'\n    },\n    displayItems: [{\n        label: 'Subtotal',\n        amount: '19.19'\n    }, {\n        label: 'Tax',\n        amount: '1.26'\n    }, {\n        label: 'Ground',\n        amount: '5.99'\n    }],\n    requestPayerPhone: false,\n    shippingOptions: [{\n        id: 'GBP001',\n        label: 'Ground',\n        detail: 'Order received within 7-10 business days',\n        amount: '5.99'\n    }]\n});\n \n \n The total option must match the total that will result from preparing the shopper basket using the\n data provided to setBasketData(Object) in this request. The id of each JS object in the\n shippingOptions array must equal the ID of the corresponding site shipping method that the shopper\n may select in the browser payment app.\n \n \n For more information on the available payment request options see the Stripe Payment Request object API\n documentation.\n \n \n Note: The Stripe Payment Request country option will be set automatically to the country of the\n Salesforce Payments account associated with the Commerce Cloud instance and is not included here.",
                "deprecated": false
              },
              "setPayPalButtonsOptions": {
                "name": "setPayPalButtonsOptions",
                "args": [
                  {
                    "name": "options",
                    "description": "JS object containing the options",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the the options to pass into the paypal.Buttons call. For more information see the PayPal\n Buttons API documentation.",
                "deprecated": false
              },
              "setPayPalShippingPreference": {
                "name": "setPayPalShippingPreference",
                "args": [
                  {
                    "name": "shippingPreference",
                    "description": "constant indicating the shipping preference",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the PayPal order application context shipping_preference value. For more information see the\n PayPal Orders API documentation.",
                "deprecated": false
              },
              "setPayPalUserAction": {
                "name": "setPayPalUserAction",
                "args": [
                  {
                    "name": "userAction",
                    "description": "constant indicating the user action",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the PayPal order application context user_action value. For more information see the PayPal\n Orders API documentation.",
                "deprecated": false
              },
              "setReturnController": {
                "name": "setReturnController",
                "args": [
                  {
                    "name": "returnController",
                    "description": "return controller, such as \"Cart-Show\"",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the controller to which to redirect when the shopper returns from a 3rd party payment website. Default is\n the controller for the current page.",
                "deprecated": false
              },
              "setSavePaymentMethodEnabled": {
                "name": "setSavePaymentMethodEnabled",
                "args": [
                  {
                    "name": "savePaymentMethodEnabled",
                    "description": "if mounted components may provide a control for the shopper to save their payment method",
                    "class": {
                      "name": "boolean"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets if mounted components may provide a control for the shopper to save their payment method for later use. When\n set to false no control will be provided. When set to true a control may be provided,\n if applicable for the shopper and presented payment method, but is not guaranteed.",
                "deprecated": false
              },
              "setSetupFutureUsage": {
                "name": "setSetupFutureUsage",
                "args": [
                  {
                    "name": "setupFutureUsage",
                    "description": "true if the payment method should be always saved for future use off session, or false if the payment method should be only saved for future use on session when appropriate.",
                    "class": {
                      "name": "boolean"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets if the payment method should be always saved for future use off session.",
                "deprecated": false
              },
              "setStatementDescriptor": {
                "name": "setStatementDescriptor",
                "args": [
                  {
                    "name": "statementDescriptor",
                    "description": "statement descriptor for payments made by this request, or null to use the account default",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the complete description that appears on your customers' statements for payments made by this request. Set\n this to null to use the default statement descriptor for your account.",
                "deprecated": false
              },
              "setStripeCreateElementOptions": {
                "name": "setStripeCreateElementOptions",
                "args": [
                  {
                    "name": "element",
                    "description": "name of the Stripe element whose creation to configure",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  },
                  {
                    "name": "options",
                    "description": "JS object containing the options",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the the options to pass into the Stripe elements.create call for the given element type. For\n more information see the Stripe Elements API documentation.",
                "deprecated": false
              },
              "setStripeElementsOptions": {
                "name": "setStripeElementsOptions",
                "args": [
                  {
                    "name": "options",
                    "description": "JS object containing the options",
                    "class": {
                      "name": "Object"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Sets the the options to pass into the stripe.elements call. For more information see the Stripe\n Elements API documentation.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentsHooks": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentsHooks",
            "package": "dw.extensions.payments",
            "description": "<p>\n This interface represents all script hooks that can be registered to customize the Salesforce Payments\n functionality. See Salesforce Payments documentation for how to gain access and configure it for use on your\n sites.\n </p>\n <p>\n 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 </p>\n <pre> \"hooks\": \"./hooks.json\"\n </pre>\n <p>\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 <pre> \"hooks\": [\n      {\"name\": \"dw.extensions.payments.asyncPaymentSucceeded\", \"script\": \"./payments.js\"}\n ]\n </pre>\n <p>\n A hook entry has a 'name' and a 'script' property.\n </p>\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": {
              "extensionPointAsyncPaymentSucceeded": {
                "name": "extensionPointAsyncPaymentSucceeded",
                "value": "\"dw.extensions.payments.asyncPaymentSucceeded\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.extensions.payments.asyncPaymentSucceeded.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "asyncPaymentSucceeded": {
                "name": "asyncPaymentSucceeded",
                "args": [
                  {
                    "name": "order",
                    "description": "the order whose asynchronous payment succeeded",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "a non-null result ends the hook execution, and is ignored"
                },
                "description": "Called when asynchronous payment succeeded for the given order.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentsMgr": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentsMgr",
            "package": "dw.extensions.payments",
            "description": "Contains functionality for use with Salesforce Payments. See Salesforce Payments documentation for how to\n gain access and configure it for use on your sites.",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "paymentsSiteConfig": {
                "name": "paymentsSiteConfig",
                "class": {
                  "name": "SalesforcePaymentsSiteConfiguration"
                },
                "static": true,
                "readonly": true,
                "description": "A payments site configuration object for the current site.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "attachPaymentMethod": {
                "name": "attachPaymentMethod",
                "args": [
                  {
                    "name": "paymentMethod",
                    "description": "payment method to attach to customer",
                    "class": {
                      "name": "SalesforcePaymentMethod"
                    },
                    "multiple": false
                  },
                  {
                    "name": "customer",
                    "description": "customer whose payment method to attach",
                    "class": {
                      "name": "Customer"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Attaches the given payment method to the given customer. Use this method to attach a payment method of type\n SalesforcePaymentMethod.TYPE_CARD to a shopper who registers as a customer after placing an order, and\n has affirmatively elected to save their card as part of the registration process. This method will throw an error\n if passed incompatible payment method and/or customer objects.",
                "deprecated": true
              },
              "detachPaymentMethod": {
                "name": "detachPaymentMethod",
                "args": [
                  {
                    "name": "paymentMethod",
                    "description": "payment method to detach from customer",
                    "class": {
                      "name": "SalesforcePaymentMethod"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Detaches the given payment method from its associated customer. Once detached the payment method remains\n associated with payment intents in the payment account, but is no longer saved for use by the customer in future\n orders.",
                "deprecated": true
              },
              "getAttachedPaymentMethods": {
                "name": "getAttachedPaymentMethods",
                "args": [
                  {
                    "name": "customer",
                    "description": "customer whose payment methods to get",
                    "class": {
                      "name": "Customer"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "Collection",
                  "description": "collection of attached payment methods"
                },
                "description": "Returns a collection containing the payment methods attached to the given customer. The collection will be empty\n if there are no payment methods attached to the customer, or there was an error retrieving the attached payment\n methods.",
                "deprecated": true
              },
              "getPaymentIntent": {
                "name": "getPaymentIntent",
                "args": [
                  {
                    "name": "basket",
                    "description": "basket to checkout and pay using Salesforce Payments",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "SalesforcePaymentIntent",
                  "description": "The payment intent"
                },
                "description": "Returns the payment intent for the given basket, or null if the given basket has none.",
                "deprecated": false
              },
              "getPaymentIntent0": {
                "name": "getPaymentIntent",
                "args": [
                  {
                    "name": "order",
                    "description": "order paid using Salesforce Payments",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "SalesforcePaymentIntent",
                  "description": "The payment intent"
                },
                "description": "Returns the payment intent for the given order, or null if the given order has none.",
                "deprecated": false
              },
              "getPaymentsSiteConfig": {
                "name": "getPaymentsSiteConfig",
                "args": [],
                "static": true,
                "class": {
                  "name": "SalesforcePaymentsSiteConfiguration",
                  "description": "a payments site configuration or null if no payments site configuration found"
                },
                "description": "Returns a payments site configuration object for the current site.",
                "deprecated": false
              },
              "getPayPalOrder": {
                "name": "getPayPalOrder",
                "args": [
                  {
                    "name": "basket",
                    "description": "basket to checkout and pay using Salesforce Payments",
                    "class": {
                      "name": "Basket"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "SalesforcePayPalOrder",
                  "description": "The PayPal order"
                },
                "description": "Returns the PayPal order for the given basket, or null if the given basket has none.",
                "deprecated": false
              },
              "getPayPalOrder0": {
                "name": "getPayPalOrder",
                "args": [
                  {
                    "name": "order",
                    "description": "order paid using Salesforce Payments",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "SalesforcePayPalOrder",
                  "description": "The PayPal order"
                },
                "description": "Returns the PayPal order for the given order, or null if the given order has none.",
                "deprecated": false
              },
              "getSavedPaymentMethods": {
                "name": "getSavedPaymentMethods",
                "args": [
                  {
                    "name": "customer",
                    "description": "customer whose payment methods to get",
                    "class": {
                      "name": "Customer"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "Collection",
                  "description": "collection of attached payment methods"
                },
                "description": "Returns a collection containing the payment methods saved to be presented to the given customer for reuse in\n checkouts. The collection will be empty if there are no payment methods saved for the customer, or there was an\n error retrieving the saved payment methods.",
                "deprecated": false
              },
              "onCustomerRegistered": {
                "name": "onCustomerRegistered",
                "args": [
                  {
                    "name": "order",
                    "description": "order paid using Salesforce Payments",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Handles the account registration of the shopper who placed the given order. Use this method to ensure the\n registered customer profile is associated with the order in Salesforce Payments.",
                "deprecated": false
              },
              "removeSavedPaymentMethod": {
                "name": "removeSavedPaymentMethod",
                "args": [
                  {
                    "name": "paymentMethod",
                    "description": "payment method to detach from customer",
                    "class": {
                      "name": "SalesforcePaymentMethod"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Removes the given saved payment method so that it is no longer presented to the given customer for reuse in\n checkouts. The payment method remains in the payment account, but is no longer saved for use by the customer.",
                "deprecated": false
              },
              "savePaymentMethod": {
                "name": "savePaymentMethod",
                "args": [
                  {
                    "name": "customer",
                    "description": "customer for which to save the payment method",
                    "class": {
                      "name": "Customer"
                    },
                    "multiple": false
                  },
                  {
                    "name": "paymentMethod",
                    "description": "payment method to save for the customer",
                    "class": {
                      "name": "SalesforcePaymentMethod"
                    },
                    "multiple": false
                  }
                ],
                "static": true,
                "class": {
                  "name": "void",
                  "description": ""
                },
                "description": "Saves the given payment method to be presented to the given customer for reuse in subsequent checkouts. This\n method will throw an error if passed incompatible payment method and/or customer objects.",
                "deprecated": false
              }
            }
          },
          "SalesforcePaymentsSiteConfiguration": {
            "fullClassName": "dw.extensions.payments.SalesforcePaymentsSiteConfiguration",
            "package": "dw.extensions.payments",
            "description": "<p>\n Salesforce Payments representation of a payment site configuration object. See Salesforce Payments\n documentation for how to gain access and configure it for use on your sites.\n </p>\n <p>\n A payment site configuration contains information about the configuration of the site such as\n whether the site is activated with Express Checkout, Multi-Step Checkout or both.\n </p>",
            "hierarchy": [
              {
                "name": "Object"
              }
            ],
            "constants": {},
            "properties": {
              "cardCaptureAutomatic": {
                "name": "cardCaptureAutomatic",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": true,
                "description": "Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or\n false if the capture method is set to manual.",
                "deprecated": false,
                "type": "property"
              },
              "expressCheckoutEnabled": {
                "name": "expressCheckoutEnabled",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": true,
                "description": "Returns true if Express Checkout is enabled for the site.",
                "deprecated": false,
                "type": "property"
              },
              "multiStepCheckoutEnabled": {
                "name": "multiStepCheckoutEnabled",
                "class": {
                  "name": "boolean"
                },
                "static": false,
                "readonly": true,
                "description": "Returns true if Multi-Step Checkout is enabled for the site.",
                "deprecated": false,
                "type": "property"
              }
            },
            "constructors": {},
            "methods": {
              "isCardCaptureAutomatic": {
                "name": "isCardCaptureAutomatic",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if the credit card capture method is automatic, or false if it is manual"
                },
                "description": "Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or\n false if the capture method is set to manual.",
                "deprecated": false
              },
              "isExpressCheckoutEnabled": {
                "name": "isExpressCheckoutEnabled",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if Express Checkout is enabled for the site, or false if not"
                },
                "description": "Returns true if Express Checkout is enabled for the site.",
                "deprecated": false
              },
              "isMultiStepCheckoutEnabled": {
                "name": "isMultiStepCheckoutEnabled",
                "args": [],
                "class": {
                  "name": "boolean",
                  "description": "true if Multi-Step Checkout is enabled for the site, or false if not"
                },
                "description": "Returns true if Multi-Step Checkout is enabled for the site.",
                "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
            }
          }
        },
        "OutputStream": {
          "fullClassName": "dw.io.OutputStream",
          "package": "dw.io",
          "description": "The class represent a stream of bytes that can be written from the\n application. The OutputStream itself doesn't provide any methods\n to write the data. Instead the OutputStream can be chained with\n other classes like a XMLStreamWriter to write data.\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": {},
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the output 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
            }
          }
        },
        "RandomAccessFileReader": {
          "fullClassName": "dw.io.RandomAccessFileReader",
          "package": "dw.io",
          "description": "Instances of this class support reading from a random access file. A random\n access file behaves like a large array of bytes stored in the file system.\n There is a kind of cursor, or index into the implied array, called the file\n pointer. Read operations read bytes starting at the file pointer and advance\n the file pointer past the bytes read. The file pointer can be read by the\n getPosition method and set by the setPosition method.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "MAX_READ_BYTES": {
              "name": "MAX_READ_BYTES",
              "value": "10240L",
              "class": {
                "name": "Number"
              },
              "description": "The maximum number of bytes that a single call to readBytes(Number) can return == 10KB",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "position": {
              "name": "position",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The current offset in this file.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "RandomAccessFileReader": {
              "name": "RandomAccessFileReader",
              "args": [
                {
                  "name": "file",
                  "description": "The file to be read. Must not be null.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Construct a reader for random read access to the provided file.\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 this random access file reader and releases any system resources\n associated with the stream.",
              "deprecated": false
            },
            "getPosition": {
              "name": "getPosition",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the offset from the beginning of the file, in bytes, at which the next read occurs."
              },
              "description": "Returns the current offset in this file.",
              "deprecated": false
            },
            "length": {
              "name": "length",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the length of this file, measured in bytes."
              },
              "description": "Returns the length of this file.",
              "deprecated": false
            },
            "readByte": {
              "name": "readByte",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the next byte of this file as a signed eight-bit byte."
              },
              "description": "Reads a signed eight-bit value from the file starting from the current\n file pointer. Since the byte is interpreted as signed, the value returned\n will always be between -128 and +127.",
              "deprecated": false
            },
            "readBytes": {
              "name": "readBytes",
              "args": [
                {
                  "name": "numBytes",
                  "description": "The number of bytes to read. Must be non-negative and smaller than MAX_READ_BYTES or an exception will be thrown.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Bytes",
                "description": "A Bytes object representing the read bytes or null if no bytes were read."
              },
              "description": "Reads up to n bytes from the file starting at the current file pointer.\n If there are fewer than n bytes remaining in the file, then as many bytes\n as possible are read. If no bytes remain in the file, then null is\n returned.",
              "deprecated": false
            },
            "setPosition": {
              "name": "setPosition",
              "args": [
                {
                  "name": "position",
                  "description": "the offset position, measured in bytes from the beginning of the file, at which to set the file pointer",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the file-pointer offset, measured from the beginning of this file,\n at which the next read occurs. The offset may be set beyond the end of\n the file.",
              "deprecated": false
            }
          }
        },
        "Reader": {
          "fullClassName": "dw.io.Reader",
          "package": "dw.io",
          "description": "The class supports reading characters from a stream.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "lines": {
              "name": "lines",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The method reads the whole input stream, parses it and returns a list of strings.\n \n Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use\n method readLine() and process one line at a time.",
              "deprecated": true,
              "type": "property"
            },
            "string": {
              "name": "string",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The method reads the whole input stream as one string and returns it.\n \n Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory\n condition. Instead use method readN(Number).",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {
            "Reader": {
              "name": "Reader",
              "args": [
                {
                  "name": "source",
                  "description": "the source string.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a reader from a string.",
              "deprecated": false
            },
            "Reader0": {
              "name": "Reader",
              "args": [
                {
                  "name": "stream",
                  "description": "the input stream to use.",
                  "class": {
                    "name": "InputStream"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a reader from a stream using UTF-8 character encoding.",
              "deprecated": false
            },
            "Reader01": {
              "name": "Reader",
              "args": [
                {
                  "name": "stream",
                  "description": "the input stream to use.",
                  "class": {
                    "name": "InputStream"
                  },
                  "multiple": false
                },
                {
                  "name": "encoding",
                  "description": "the encoding to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Create a reader from a stream using the specified character encoding.",
              "deprecated": false
            }
          },
          "methods": {
            "close": {
              "name": "close",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Closes the reader.",
              "deprecated": false
            },
            "getLines": {
              "name": "getLines",
              "args": [],
              "class": {
                "name": "List",
                "description": "a list of strings"
              },
              "description": "The method reads the whole input stream, parses it and returns a list of strings.\n \n Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use\n method readLine() and process one line at a time.",
              "deprecated": true
            },
            "getString": {
              "name": "getString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string, which represents the whole content of the InputStream"
              },
              "description": "The method reads the whole input stream as one string and returns it.\n \n Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory\n condition. Instead use method readN(Number).",
              "deprecated": true
            },
            "read": {
              "name": "read",
              "args": [],
              "class": {
                "name": "String",
                "description": "a single character in a string, or null if the end of the stream is reached"
              },
              "description": "Reads a single character from the stream. The method returns null if the end of the stream is reached.",
              "deprecated": false
            },
            "read0": {
              "name": "read",
              "args": [
                {
                  "name": "length",
                  "description": "the number of characters to read.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "a string whose length is controlled by the length parameter. The actual number of characters that were read can be determined from the length of the returned string."
              },
              "description": "Reads multiple characters from the stream as string. The actual number of characters that were read can be\n determined from the length of the returned string. If the end of the stream is reached and no more characters can\n be read, the method exits with an exception.",
              "deprecated": true
            },
            "readLine": {
              "name": "readLine",
              "args": [],
              "class": {
                "name": "String",
                "description": "A String containing the contents of the line, not including any line termination characters, or null if the end of the stream has been reached."
              },
              "description": "Reads the next line.",
              "deprecated": false
            },
            "readLines": {
              "name": "readLines",
              "args": [],
              "class": {
                "name": "List",
                "description": "a list of strings"
              },
              "description": "The method reads the whole input stream, parses it and returns a list of strings.\n \n Using this method on large feeds is inherently unsafe and may lead to an out-of-memory condition. Instead use\n method readLine() and process one line at a time.",
              "deprecated": false
            },
            "readN": {
              "name": "readN",
              "args": [
                {
                  "name": "n",
                  "description": "the number of characters to read",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "a string whose maximum length is controlled by the n parameter, or null if the end of the stream is reached and no more characters can be read"
              },
              "description": "Reads n characters from the stream as string. The actual number of characters that were read can be determined\n from the length of the returned string. If the end of the stream is reached and no more characters can be read,\n the method returns null.",
              "deprecated": false
            },
            "readString": {
              "name": "readString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string, which represents the whole content of the InputStream"
              },
              "description": "The method reads the whole input stream as one string and returns it.\n \n Using this method is unsafe if the length of the input stream is not known and may lead to an out-of-memory\n condition. Instead use method readN(Number).",
              "deprecated": false
            },
            "ready": {
              "name": "ready",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true guarantees that the stream is ready to read without waiting for input. A false response means that the stream may or may not block to wait for input. Note that returning false does not guarantee that the next read() will block."
              },
              "description": "Identifies if this stream is ready to be read.",
              "deprecated": false
            },
            "skip": {
              "name": "skip",
              "args": [
                {
                  "name": "n",
                  "description": "the number of characters to skip.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Skips the specified number of characters in the 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
            }
          }
        },
        "XMLIndentingStreamWriter": {
          "fullClassName": "dw.io.XMLIndentingStreamWriter",
          "package": "dw.io",
          "description": "A XMLIndentingStreamWriter writes the XML output formatted for good\n readability.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful\n in persisting sensitive information to disk.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.io.XMLStreamWriter"
            }
          ],
          "constants": {},
          "properties": {
            "indent": {
              "name": "indent",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The indent.",
              "deprecated": false,
              "type": "property"
            },
            "newLine": {
              "name": "newLine",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The string that is used for a new line character. The\n default is the normal new line character.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "XMLIndentingStreamWriter": {
              "name": "XMLIndentingStreamWriter",
              "args": [
                {
                  "name": "writer",
                  "description": "the writer to use.",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the writer for the specified writer.",
              "deprecated": false
            }
          },
          "methods": {
            "getIndent": {
              "name": "getIndent",
              "args": [],
              "class": {
                "name": "String",
                "description": "Returns the indent."
              },
              "description": "Returns the indent.",
              "deprecated": false
            },
            "getNewLine": {
              "name": "getNewLine",
              "args": [],
              "class": {
                "name": "String",
                "description": "the new line."
              },
              "description": "Returns the string that is used for a new line character. The\n default is the normal new line character.",
              "deprecated": false
            },
            "setIndent": {
              "name": "setIndent",
              "args": [
                {
                  "name": "indent",
                  "description": "The indent to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Specifies a string that will be used as identing characters. The\n default are two space characters.",
              "deprecated": false
            },
            "setNewLine": {
              "name": "setNewLine",
              "args": [
                {
                  "name": "newLine",
                  "description": "The newLine to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the string that is used for a new line character.",
              "deprecated": false
            }
          }
        },
        "XMLStreamConstants": {
          "fullClassName": "dw.io.XMLStreamConstants",
          "package": "dw.io",
          "description": "Useful constants for working with XML streams.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ATTRIBUTE": {
              "name": "ATTRIBUTE",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "Represents an attribute in an element.",
              "deprecated": false,
              "type": "constant"
            },
            "CDATA": {
              "name": "CDATA",
              "value": "12",
              "class": {
                "name": "Number"
              },
              "description": "Represents a CDATA section in an element.",
              "deprecated": false,
              "type": "constant"
            },
            "CHARACTERS": {
              "name": "CHARACTERS",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Represents the character data in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "COMMENT": {
              "name": "COMMENT",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Represents a comment in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "DTD": {
              "name": "DTD",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "Represents the document type definition.",
              "deprecated": false,
              "type": "constant"
            },
            "END_DOCUMENT": {
              "name": "END_DOCUMENT",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "Represents the end of an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "END_ELEMENT": {
              "name": "END_ELEMENT",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents the end of an element in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "ENTITY_DECLARATION": {
              "name": "ENTITY_DECLARATION",
              "value": "15",
              "class": {
                "name": "Number"
              },
              "description": "Represents the entity declaration in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "ENTITY_REFERENCE": {
              "name": "ENTITY_REFERENCE",
              "value": "9",
              "class": {
                "name": "Number"
              },
              "description": "Represents an entity reference in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "NAMESPACE": {
              "name": "NAMESPACE",
              "value": "13",
              "class": {
                "name": "Number"
              },
              "description": "Represents a namespace declaration in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "NOTATION_DECLARATION": {
              "name": "NOTATION_DECLARATION",
              "value": "14",
              "class": {
                "name": "Number"
              },
              "description": "Represents the notation declaration in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "PROCESSING_INSTRUCTION": {
              "name": "PROCESSING_INSTRUCTION",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Represents processing instruction in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "SPACE": {
              "name": "SPACE",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Represents a space in an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "START_DOCUMENT": {
              "name": "START_DOCUMENT",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Represents the start of an XML document.",
              "deprecated": false,
              "type": "constant"
            },
            "START_ELEMENT": {
              "name": "START_ELEMENT",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents the start of an element in an XML document.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "XMLStreamConstants": {
              "name": "XMLStreamConstants",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "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=\"63170c23061b020e130f064d0c1104\">[email&nbsp;protected]</a>\");\n  mail.setFrom(\"<a href=\"/cdn-cgi/l/email-protection\" class=\"__cf_email__\" data-cfemail=\"b9dfcbd6d4f9dcc1d8d4c9d5dc97d6cbde\">[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
            }
          }
        },
        "SFTPClient": {
          "fullClassName": "dw.net.SFTPClient",
          "package": "dw.net",
          "description": "The SFTPClient class supports the SFTP commands GET, PUT, DEL, MKDIR, RENAME, and LIST. The transfer of files can be\n text or binary.\n <p>\n <b>Note:</b> when this class is used with sensitive data, be careful in persisting sensitive information.\n </p><p>\n An example usage is as follows:\n </p><p>\n\n </p><pre> <code>\n  var sftp : SFTPClient = new dw.net.SFTPClient();\n  sftp.connect(\"my.sftp-server.com\", \"username\", \"password\");\n  var data : String = sftp.get(\"simple.txt\");\n  sftp.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 SFTP connection, the SFTP server IP address must be enabled\n for 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": {
            "MAX_GET_FILE_SIZE": {
              "name": "MAX_GET_FILE_SIZE",
              "value": "209715200",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() methods returning a File is 200 MB.",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_GET_STRING_SIZE": {
              "name": "MAX_GET_STRING_SIZE",
              "value": "10485760",
              "class": {
                "name": "Number"
              },
              "description": "The maximum size for get() methods returning a String is 10 MB.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "connected": {
              "name": "connected",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the SFTP client is currently connected to the SFTP server.",
              "deprecated": false,
              "type": "property"
            },
            "errorMessage": {
              "name": "errorMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The error message from the last SFTP 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": {
            "SFTPClient": {
              "name": "SFTPClient",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructor.",
              "deprecated": false
            }
          },
          "methods": {
            "addKnownHostKey": {
              "name": "addKnownHostKey",
              "args": [
                {
                  "name": "type",
                  "description": "Type of the host key, such as ssh-rsa",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "key",
                  "description": "Public host key, in the same format as OpenSSH.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a known public host key for the next connection attempt.\n \n This method associates the key to the host used in the subsequent connect method, and must be called prior to connect.\n The key is not persisted, and is only associated to this instance of the SFTP client.\n \n Multiple keys may added, and the validation will succeed if the remote host matches any of them.\n \n The default behavior is to persist and trust an unknown host key if there are no known host keys available.\n If addKnownHostKey is later used to trust specific a specific key or keys, then any previously persisted keys\n will be ignored.",
              "deprecated": false
            },
            "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 SFTP 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 a SFTP server and returns a boolean indicating success or failure.",
              "deprecated": false
            },
            "connect0": {
              "name": "connect",
              "args": [
                {
                  "name": "host",
                  "description": "Name of the SFTP sever",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "port",
                  "description": "Port for SFTP 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 a SFTP 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 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. Files with\n at most MAX_GET_STRING_SIZE bytes are read.",
              "deprecated": false
            },
            "get0": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "the 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
                }
              ],
              "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. Files with at most\n MAX_GET_STRING_SIZE bytes are read.",
              "deprecated": false
            },
            "get01": {
              "name": "get",
              "args": [
                {
                  "name": "path",
                  "description": "the 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 complete remote file is fetched and copied into local file. false, otherwise."
              },
              "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
            },
            "getBinary": {
              "name": "getBinary",
              "args": [
                {
                  "name": "path",
                  "description": "the 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 complete remote file is fetched and copied into local file. false otherwise"
              },
              "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 SFTP transfer is done in binary mode.",
              "deprecated": false
            },
            "getConnected": {
              "name": "getConnected",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the client is currently connected."
              },
              "description": "Identifies if the SFTP client is currently connected to the SFTP server.",
              "deprecated": false
            },
            "getErrorMessage": {
              "name": "getErrorMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "the error message from the last SFTP action"
              },
              "description": "Returns the error message from the last SFTP action.",
              "deprecated": false
            },
            "getFileInfo": {
              "name": "getFileInfo",
              "args": [
                {
                  "name": "path",
                  "description": "the remote path from which the file info should be listed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SFTPFileInfo",
                "description": "the remote file information or null if not present."
              },
              "description": "Returns a SFTPFileInfo objects containing information about the given file/directory path.",
              "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": "SFTPFileInfo[]",
                "description": "list of objects with remote file information or null if not present."
              },
              "description": "Returns a list of SFTPFileInfo 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 should be listed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SFTPFileInfo[]",
                "description": "list of objects with remote file information or null if not present."
              },
              "description": "Returns a list of SFTPFileInfo 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": "the path on the remote SFTP 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 path using \"ISO-8859-1\" encoding. If the content of a local file is\n to be uploaded, please use method putBinary(String,File) instead.\n \n NOTE: If the remote file already exists, it is overwritten.",
              "deprecated": false
            },
            "put0": {
              "name": "put",
              "args": [
                {
                  "name": "path",
                  "description": "the the path on the remote SFTP 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 path on the SFTP server. The transformation from String into binary\n data is done via the encoding provided with the method call. If the content of a local file is to be uploaded,\n please use method putBinary(String,File) instead.\n \n NOTE: If the remote file already exists, it is overwritten.",
              "deprecated": false
            },
            "putBinary": {
              "name": "putBinary",
              "args": [
                {
                  "name": "path",
                  "description": "the path on the remote SFTP 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 SFTP 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 SFTP server with the given absolute path. NOTE: If\n the remote file already exists, it is overwritten.",
              "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
            },
            "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 for the next connection attempt.\n \n The key is only associated to this instance of the SFTP client.",
              "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 SFTP 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
            }
          }
        },
        "SFTPFileInfo": {
          "fullClassName": "dw.net.SFTPFileInfo",
          "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"
            },
            "modificationTime": {
              "name": "modificationTime",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": true,
              "description": "The last modification time of the file/directory.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the file/directory.",
              "deprecated": false,
              "type": "property"
            },
            "size": {
              "name": "size",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The size of the file/directory.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "SFTPFileInfo": {
              "name": "SFTPFileInfo",
              "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": "mtime",
                  "description": "last modification time.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the SFTPFileInfo 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
            },
            "getModificationTime": {
              "name": "getModificationTime",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the last modification time."
              },
              "description": "Returns the last modification time of the file/directory.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name."
              },
              "description": "Returns the name of the file/directory.",
              "deprecated": false
            },
            "getSize": {
              "name": "getSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size."
              },
              "description": "Returns the size of the file/directory.",
              "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=\"52373f333b3e1236373f333c36253320377c313d3f\">[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
            }
          }
        },
        "ObjectAttributeDefinition": {
          "fullClassName": "dw.object.ObjectAttributeDefinition",
          "package": "dw.object",
          "description": "Represents the definition of an object's attribute.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "VALUE_TYPE_BOOLEAN": {
              "name": "VALUE_TYPE_BOOLEAN",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "Boolean value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_DATE": {
              "name": "VALUE_TYPE_DATE",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "Date value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_DATETIME": {
              "name": "VALUE_TYPE_DATETIME",
              "value": "11",
              "class": {
                "name": "Number"
              },
              "description": "Date and Time value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_EMAIL": {
              "name": "VALUE_TYPE_EMAIL",
              "value": "12",
              "class": {
                "name": "Number"
              },
              "description": "Email value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_ENUM_OF_INT": {
              "name": "VALUE_TYPE_ENUM_OF_INT",
              "value": "31",
              "class": {
                "name": "Number"
              },
              "description": "Enum of int value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_ENUM_OF_STRING": {
              "name": "VALUE_TYPE_ENUM_OF_STRING",
              "value": "33",
              "class": {
                "name": "Number"
              },
              "description": "Enum of String value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_HTML": {
              "name": "VALUE_TYPE_HTML",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "HTML value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_IMAGE": {
              "name": "VALUE_TYPE_IMAGE",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "Image value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_INT": {
              "name": "VALUE_TYPE_INT",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "int value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_MONEY": {
              "name": "VALUE_TYPE_MONEY",
              "value": "9",
              "class": {
                "name": "Number"
              },
              "description": "Money value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_NUMBER": {
              "name": "VALUE_TYPE_NUMBER",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Number value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_PASSWORD": {
              "name": "VALUE_TYPE_PASSWORD",
              "value": "13",
              "class": {
                "name": "Number"
              },
              "description": "Password value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_QUANTITY": {
              "name": "VALUE_TYPE_QUANTITY",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "Quantity value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_SET_OF_INT": {
              "name": "VALUE_TYPE_SET_OF_INT",
              "value": "21",
              "class": {
                "name": "Number"
              },
              "description": "Set of int value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_SET_OF_NUMBER": {
              "name": "VALUE_TYPE_SET_OF_NUMBER",
              "value": "22",
              "class": {
                "name": "Number"
              },
              "description": "Set of Number value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_SET_OF_STRING": {
              "name": "VALUE_TYPE_SET_OF_STRING",
              "value": "23",
              "class": {
                "name": "Number"
              },
              "description": "Set of String value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_STRING": {
              "name": "VALUE_TYPE_STRING",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "String value type.",
              "deprecated": false,
              "type": "constant"
            },
            "VALUE_TYPE_TEXT": {
              "name": "VALUE_TYPE_TEXT",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "Text value type.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "attributeGroups": {
              "name": "attributeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All attribute groups the attribute is assigned to.",
              "deprecated": false,
              "type": "property"
            },
            "defaultValue": {
              "name": "defaultValue",
              "class": {
                "name": "ObjectAttributeValueDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "Return the default value for the attribute or null if none is defined.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name for the attribute, which can be used in the\n user interface.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the attribute definition.",
              "deprecated": false,
              "type": "property"
            },
            "key": {
              "name": "key",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the attribute represents the primary key of the object.",
              "deprecated": false,
              "type": "property"
            },
            "mandatory": {
              "name": "mandatory",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Checks if this attribute is mandatory.",
              "deprecated": false,
              "type": "property"
            },
            "multiValueType": {
              "name": "multiValueType",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the attribute can have multiple values.\n Attributes of the following types are multi-value capable:\n \n VALUE_TYPE_SET_OF_INT\n VALUE_TYPE_SET_OF_NUMBER\n VALUE_TYPE_SET_OF_STRING\n \n Additionally, attributes of the following types can be multi-value\n enabled:\n \n VALUE_TYPE_ENUM_OF_INT\n VALUE_TYPE_ENUM_OF_STRING",
              "deprecated": false,
              "type": "property"
            },
            "objectTypeDefinition": {
              "name": "objectTypeDefinition",
              "class": {
                "name": "ObjectTypeDefinition"
              },
              "static": false,
              "readonly": true,
              "description": "The object type definition in which this attribute is defined.",
              "deprecated": false,
              "type": "property"
            },
            "setValueType": {
              "name": "setValueType",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the attribute is of type 'Set of'.",
              "deprecated": true,
              "type": "property"
            },
            "system": {
              "name": "system",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Indicates if the attribute is a pre-defined system attribute\n or a custom attribute.",
              "deprecated": false,
              "type": "property"
            },
            "unit": {
              "name": "unit",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The attribute's unit representation such as\n inches for length or pounds for weight. The value returned by\n this method is based on the attribute itself.",
              "deprecated": false,
              "type": "property"
            },
            "values": {
              "name": "values",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The list of attribute values. In the user interface only the\n values specified in this list should be offered as valid input values.\n\n The collection contains instances of ObjectAttributeValueDefinition.",
              "deprecated": false,
              "type": "property"
            },
            "valueTypeCode": {
              "name": "valueTypeCode",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "A code for the data type stored in the attribute. See constants\n defined in this class.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttributeGroups": {
              "name": "getAttributeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all attribute groups the attribute is assigned to."
              },
              "description": "Returns all attribute groups the attribute is assigned to.",
              "deprecated": false
            },
            "getDefaultValue": {
              "name": "getDefaultValue",
              "args": [],
              "class": {
                "name": "ObjectAttributeValueDefinition",
                "description": "the default value for the attribute or null if none is defined."
              },
              "description": "Return the default value for the attribute or null if none is defined.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name for the attribute, which can be used in the user interface."
              },
              "description": "Returns the display name for the attribute, which can be used in the\n user interface.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the attribute definition."
              },
              "description": "Returns the ID of the attribute definition.",
              "deprecated": false
            },
            "getObjectTypeDefinition": {
              "name": "getObjectTypeDefinition",
              "args": [],
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the object type definition in which this attribute is defined."
              },
              "description": "Returns the object type definition in which this attribute is defined.",
              "deprecated": false
            },
            "getUnit": {
              "name": "getUnit",
              "args": [],
              "class": {
                "name": "String",
                "description": "the attribute's unit representation such as inches for length or pounds for weight."
              },
              "description": "Returns the attribute's unit representation such as\n inches for length or pounds for weight. The value returned by\n this method is based on the attribute itself.",
              "deprecated": false
            },
            "getValues": {
              "name": "getValues",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of ObjectAttributeValueDefinition instances representing the list of attribute values, or null if no values are specified."
              },
              "description": "Returns the list of attribute values. In the user interface only the\n values specified in this list should be offered as valid input values.\n\n The collection contains instances of ObjectAttributeValueDefinition.",
              "deprecated": false
            },
            "getValueTypeCode": {
              "name": "getValueTypeCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "a code for the data type stored in the attribute. See constants defined in this class."
              },
              "description": "Returns a code for the data type stored in the attribute. See constants\n defined in this class.",
              "deprecated": false
            },
            "isKey": {
              "name": "isKey",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the attribute represents the primary key, false otherwise."
              },
              "description": "Identifies if the attribute represents the primary key of the object.",
              "deprecated": false
            },
            "isMandatory": {
              "name": "isMandatory",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if this attribute is mandatory"
              },
              "description": "Checks if this attribute is mandatory.",
              "deprecated": false
            },
            "isMultiValueType": {
              "name": "isMultiValueType",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if attributes can have multiple values, otherwise false"
              },
              "description": "Returns true if the attribute can have multiple values.\n Attributes of the following types are multi-value capable:\n \n VALUE_TYPE_SET_OF_INT\n VALUE_TYPE_SET_OF_NUMBER\n VALUE_TYPE_SET_OF_STRING\n \n Additionally, attributes of the following types can be multi-value\n enabled:\n \n VALUE_TYPE_ENUM_OF_INT\n VALUE_TYPE_ENUM_OF_STRING",
              "deprecated": false
            },
            "isSetValueType": {
              "name": "isSetValueType",
              "args": [],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Returns true if the attribute is of type 'Set of'.",
              "deprecated": true
            },
            "isSystem": {
              "name": "isSystem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the the attribute is a pre-defined system attribute, false if it is a custom attribute."
              },
              "description": "Indicates if the attribute is a pre-defined system attribute\n or a custom attribute.",
              "deprecated": false
            },
            "requiresEncoding": {
              "name": "requiresEncoding",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "a boolean flag indicating whether or not values of this attribute definition should be encoded using the encoding=\"off\" flag in ISML templates."
              },
              "description": "Returns a boolean flag indicating whether or not values of this attribute\n definition should be encoded using the encoding=\"off\" flag in ISML\n templates.",
              "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
            }
          }
        },
        "ObjectAttributeValueDefinition": {
          "fullClassName": "dw.object.ObjectAttributeValueDefinition",
          "package": "dw.object",
          "description": "Represents the value definition associated with an\n object attribute.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "displayValue": {
              "name": "displayValue",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "A display name that can be used to present this value in\n the user interface. For example, the value might be '1' but the display\n name might be 'Order Exported'.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The actual value for the attribute.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getDisplayValue": {
              "name": "getDisplayValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "a display name that can be used to present this value in the user interface."
              },
              "description": "Returns a display name that can be used to present this value in\n the user interface. For example, the value might be '1' but the display\n name might be 'Order Exported'.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the actual value for the attribute."
              },
              "description": "Returns the actual value for the attribute.",
              "deprecated": false
            }
          }
        },
        "ObjectTypeDefinition": {
          "fullClassName": "dw.object.ObjectTypeDefinition",
          "package": "dw.object",
          "description": "The class provides access to the meta data of a system object or custom\n object.  A short example should suffice to demonstrate how this metadata can\n be used in a script:\n\n <pre> var co : CustomObject = CustomObjectMgr.getCustomObject(\"sample\", \"MyCustomObject\");\n\n // get the object type definition\n var typeDef : ObjectTypeDefinition = co.describe();\n // get the custom object attribute definition for name \"enumIntValue\"\n var attrDef : ObjectAttributeDefinition = typeDef.getCustomAttributeDefinition( \"enumIntValue\" );\n // get the collection of object attribute value definitions\n var valueDefs : Collection = attrDef.getValues();\n\n // return function if there are no object attribute value definitions\n if(valueDefs.isEmpty())\n {\n     return;\n }\n\n var displayValue : String;\n // loop over object attribute value definitions collection\n for each ( var valueDef : ObjectAttributeValueDefinition in valueDefs )\n {\n     if( valueDef.getValue() == co.custom.intValue )\n     {\n         displayValue = valueDef.getDisplayValue();\n         break;\n     }\n }\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "attributeDefinitions": {
              "name": "attributeDefinitions",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all declared attributes for the object.\n The collection contains both system and custom attributes. There might\n be system and custom attribute with identical names. So the name of the\n attribute is not a uniqueness criteria. Additional the isCustom() flag\n must be checked.",
              "deprecated": false,
              "type": "property"
            },
            "attributeGroups": {
              "name": "attributeGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all declared attribute groups. A attribute group\n is a collection of attribute, which are typically displayed together as\n a visual group.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of the definition, which can be used in the\n user interface.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type id of the business objects.",
              "deprecated": false,
              "type": "property"
            },
            "system": {
              "name": "system",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this object definition is for a system type or a custom\n type.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAttributeDefinitions": {
              "name": "getAttributeDefinitions",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all declared attributes for the object."
              },
              "description": "Returns a collection of all declared attributes for the object.\n The collection contains both system and custom attributes. There might\n be system and custom attribute with identical names. So the name of the\n attribute is not a uniqueness criteria. Additional the isCustom() flag\n must be checked.",
              "deprecated": false
            },
            "getAttributeGroup": {
              "name": "getAttributeGroup",
              "args": [
                {
                  "name": "name",
                  "description": "The name of the attribute scope to return.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeGroup",
                "description": "The matching attribute scope or null if no such scope exists."
              },
              "description": "Returns the attribute group with the given name within this object\n type definition.",
              "deprecated": false
            },
            "getAttributeGroups": {
              "name": "getAttributeGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all declared attribute groups."
              },
              "description": "Returns a collection of all declared attribute groups. A attribute group\n is a collection of attribute, which are typically displayed together as\n a visual group.",
              "deprecated": false
            },
            "getCustomAttributeDefinition": {
              "name": "getCustomAttributeDefinition",
              "args": [
                {
                  "name": "name",
                  "description": "The unique name of the custom attribute definition within the object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeDefinition",
                "description": "The matching attribute definition or null in case no such definition exists."
              },
              "description": "Returns the custom attribute definition with the given name. The method\n returns null if no custom attribute is defined with that name.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of the definition, which can be used in the user interface."
              },
              "description": "Returns the display name of the definition, which can be used in the\n user interface.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the type id of the business objects."
              },
              "description": "Returns the type id of the business objects.",
              "deprecated": false
            },
            "getSystemAttributeDefinition": {
              "name": "getSystemAttributeDefinition",
              "args": [
                {
                  "name": "name",
                  "description": "The unique name of the custom attribute definition within the object type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ObjectAttributeDefinition",
                "description": "The matching attribute definition or null in case no such definition exists."
              },
              "description": "Returns the system attribute definition with the given name. The method\n returns null if no system attribute is defined with that name. Only\n system objects have system attributes. A CustomObject has no system attributes\n and so the method will always return null for a CustomObject.",
              "deprecated": false
            },
            "isSystem": {
              "name": "isSystem",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this object definition is for a system type, false otherwise."
              },
              "description": "Identifies if this object definition is for a system type or a custom\n type.",
              "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
            }
          }
        },
        "SimpleExtensible": {
          "fullClassName": "dw.object.SimpleExtensible",
          "package": "dw.object",
          "description": "Base class alternative to ExtensibleObject for customizable objects which do not rely on the metadata system.\n Unlike Extensible any custom attributes can be set on the fly and are not checked against an available list.\n Similar to Extensible method <a href=\"class_dw_object_SimpleExtensible.html#dw_object_SimpleExtensible_getCustom_DetailAnchor\">getCustom()</a> is the central point to retrieve and store the objects attribute\n values.",
          "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": {
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the custom attributes for this object."
              },
              "description": "Returns the custom attributes for this object.",
              "deprecated": false
            }
          }
        },
        "SystemObjectMgr": {
          "fullClassName": "dw.object.SystemObjectMgr",
          "package": "dw.object",
          "description": "Manager class which provides methods for querying for system objects with\n meta data using the Commerce Cloud Digital query language. See individual API methods for\n details on the query language.\n <p>\n Note: Other manager classes such as <a href=\"class_dw_customer_CustomerMgr.html\">CustomerMgr</a>,\n <a href=\"class_dw_catalog_ProductMgr.html\">ProductMgr</a>, etc provide more specific and fine-grained\n querying methods that can not be achieved using the general query language.\n </p><p>\n To search for custom objects, use <a href=\"class_dw_object_CustomObjectMgr.html\">CustomObjectMgr</a>.\n <b>Note:</b> this class allows access to sensitive information through\n operations that retrieve the Profile and Order objects.\n Pay attention to appropriate legal and regulatory requirements related to this data.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "describe": {
              "name": "describe",
              "args": [
                {
                  "name": "type",
                  "description": "system object type whose type definition should be returned",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the matching object type definition or null in case no such type definition exists."
              },
              "description": "Returns the object type definition for the given system object type.\n\n This method can be used for all system object types that are derived from ExtensibleObject.",
              "deprecated": false
            },
            "getAllSystemObjects": {
              "name": "getAllSystemObjects",
              "args": [
                {
                  "name": "type",
                  "description": "The name of the system object type. If a matching type definition cannot be found for the given type a MetaDataException will be thrown.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "SeekableIterator",
                "description": "SeekableIterator containing all system objects of a specific type."
              },
              "description": "Returns all system objects of a specific type.\n The following system object types are supported:\n GiftCertificate\n Order\n Profile\n SourceCodeGroup\n Store\n ProductList\n\n The method throws an exception in case of another system 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
            },
            "querySystemObject": {
              "name": "querySystemObject",
              "args": [
                {
                  "name": "type",
                  "description": "the system 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": "PersistentObject",
                "description": "the system object defined by type which was found when executing the queryString."
              },
              "description": "Searches for a single system object instance. The following system\n object types are supported:\n GiftCertificate\n Order\n Profile\n SourceCodeGroup\n Store\n ProductList\n\n The method throws an exception in case of another system type.\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 querySystemObjects(\"\", \"custom.myAttr asc\", null).first().\n The method first() returns only the next element and closes the\n iterator.\n\n It is strongly recommended to call close() on the returned SeekableIterator\n if not all of its elements are being processed. This will enable the cleanup of system resources.",
              "deprecated": false
            },
            "querySystemObjects": {
              "name": "querySystemObjects",
              "args": [
                {
                  "name": "type",
                  "description": "the system 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 system object instances. The following system object types\n are supported:\n GiftCertificate\n Order\n Profile\n SourceCodeGroup\n Store\n ProductList\n\n The method throws an exception in case of another system type.\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 system object and 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
            },
            "querySystemObjects0": {
              "name": "querySystemObjects",
              "args": [
                {
                  "name": "type",
                  "description": "the system 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 system object instances. The following system object types\n are supported:\n GiftCertificate\n Order\n Profile\n SourceCodeGroup\n Store\n ProductList\n\n The method throws an exception in case of another system type.\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
            }
          }
        }
      },
      "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
            }
          }
        },
        "Order": {
          "fullClassName": "dw.order.Order",
          "package": "dw.order",
          "description": "The Order class represents an order. The correct way to retrieve an order is described in <a href=\"class_dw_order_OrderMgr.html\">OrderMgr</a>.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItemCtnr"
            }
          ],
          "constants": {
            "CONFIRMATION_STATUS_CONFIRMED": {
              "name": "CONFIRMATION_STATUS_CONFIRMED",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Confirmation Status is Confirmed",
              "deprecated": false,
              "type": "constant"
            },
            "CONFIRMATION_STATUS_NOTCONFIRMED": {
              "name": "CONFIRMATION_STATUS_NOTCONFIRMED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Confirmation Status is Not Confirmed",
              "deprecated": false,
              "type": "constant"
            },
            "ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING": {
              "name": "ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING",
              "value": "\"RSA/ECB/OAEPWithSHA-256AndMGF1Padding\"",
              "class": {
                "name": "String"
              },
              "description": "The encryption algorithm \"RSA/ECB/OAEPWithSHA-256AndMGF1Padding\".",
              "deprecated": false,
              "type": "constant"
            },
            "ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING": {
              "name": "ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING",
              "value": "\"RSA/ECB/PKCS1Padding\"",
              "class": {
                "name": "String"
              },
              "description": "The outdated encryption algorithm \"RSA/ECB/PKCS1Padding\". Please do not use anymore!",
              "deprecated": true,
              "type": "constant"
            },
            "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_FAILED": {
              "name": "EXPORT_STATUS_FAILED",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Export Status is Failed",
              "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"
            },
            "EXPORT_STATUS_READY": {
              "name": "EXPORT_STATUS_READY",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Export Status is ready to be exported.",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_CANCELLED": {
              "name": "ORDER_STATUS_CANCELLED",
              "value": "6",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Cancelled",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_COMPLETED": {
              "name": "ORDER_STATUS_COMPLETED",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Completed",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_CREATED": {
              "name": "ORDER_STATUS_CREATED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Created",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_FAILED": {
              "name": "ORDER_STATUS_FAILED",
              "value": "8",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Failed",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_NEW": {
              "name": "ORDER_STATUS_NEW",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is New",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_OPEN": {
              "name": "ORDER_STATUS_OPEN",
              "value": "4",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Open",
              "deprecated": false,
              "type": "constant"
            },
            "ORDER_STATUS_REPLACED": {
              "name": "ORDER_STATUS_REPLACED",
              "value": "7",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Order Status is Replaced",
              "deprecated": false,
              "type": "constant"
            },
            "PAYMENT_STATUS_NOTPAID": {
              "name": "PAYMENT_STATUS_NOTPAID",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Payment Status is Not Paid",
              "deprecated": false,
              "type": "constant"
            },
            "PAYMENT_STATUS_PAID": {
              "name": "PAYMENT_STATUS_PAID",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Payment Status is Paid",
              "deprecated": false,
              "type": "constant"
            },
            "PAYMENT_STATUS_PARTPAID": {
              "name": "PAYMENT_STATUS_PARTPAID",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Payment Status is Part Paid",
              "deprecated": false,
              "type": "constant"
            },
            "SHIPPING_STATUS_NOTSHIPPED": {
              "name": "SHIPPING_STATUS_NOTSHIPPED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Shipping Status is Not shipped",
              "deprecated": false,
              "type": "constant"
            },
            "SHIPPING_STATUS_PARTSHIPPED": {
              "name": "SHIPPING_STATUS_PARTSHIPPED",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Shipping Status is Part Shipped",
              "deprecated": false,
              "type": "constant"
            },
            "SHIPPING_STATUS_SHIPPED": {
              "name": "SHIPPING_STATUS_SHIPPED",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "constant for when Shipping Status is Shipped",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "affiliatePartnerID": {
              "name": "affiliatePartnerID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The affiliate partner ID value, or null.",
              "deprecated": false,
              "type": "property"
            },
            "affiliatePartnerName": {
              "name": "affiliatePartnerName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The affiliate partner name value, or null.",
              "deprecated": false,
              "type": "property"
            },
            "appeasementItems": {
              "name": "appeasementItems",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of AppeasementItems associated with this order.",
              "deprecated": false,
              "type": "property"
            },
            "appeasements": {
              "name": "appeasements",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of Appeasements associated with this order.",
              "deprecated": false,
              "type": "property"
            },
            "cancelCode": {
              "name": "cancelCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "If this order was cancelled, returns the value of the\n cancel code or null.",
              "deprecated": false,
              "type": "property"
            },
            "cancelDescription": {
              "name": "cancelDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "If this order was cancelled, returns the text describing why\n the order was cancelled or null.",
              "deprecated": false,
              "type": "property"
            },
            "capturedAmount": {
              "name": "capturedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the captured amounts. The captured amounts\n are calculated on the fly. Associate a payment capture for an PaymentInstrument with an Invoice\n using Invoice.addCaptureTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false,
              "type": "property"
            },
            "confirmationStatus": {
              "name": "confirmationStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The confirmation status of the order.\n Possible values are CONFIRMATION_STATUS_NOTCONFIRMED and\n CONFIRMATION_STATUS_CONFIRMED.",
              "deprecated": false,
              "type": "property"
            },
            "createdBy": {
              "name": "createdBy",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the user who has created the order.\n If an agent user has created the order, the agent user's name\n is returned. Otherwise \"Customer\" is returned.",
              "deprecated": false,
              "type": "property"
            },
            "currentOrder": {
              "name": "currentOrder",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The current order. The current order\n represents the most recent order in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order 3 is now the\n current order and Order1 is still the original representation of the\n order. If this order has not been replaced, this method returns this\n order because this order is the current order.",
              "deprecated": false,
              "type": "property"
            },
            "currentOrderNo": {
              "name": "currentOrderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order number of the current order. The current order\n represents the most recent order in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order 3 is now the\n current order and Order1 is still the original representation of the\n order. If this order has not been replaced, calling this method returns the\n same value as the getOrderNo() method because this order is the\n current order.",
              "deprecated": false,
              "type": "property"
            },
            "customerLocaleID": {
              "name": "customerLocaleID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the locale that was in effect when the order\n was placed. This is the customer's locale.",
              "deprecated": false,
              "type": "property"
            },
            "customerOrderReference": {
              "name": "customerOrderReference",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The customer-specific reference information for the order, or null.",
              "deprecated": false,
              "type": "property"
            },
            "exportAfter": {
              "name": "exportAfter",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "A date after which an order can be exported.",
              "deprecated": false,
              "type": "property"
            },
            "exportStatus": {
              "name": "exportStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The export status of the order.\n Possible values are: EXPORT_STATUS_NOTEXPORTED,\n EXPORT_STATUS_EXPORTED, EXPORT_STATUS_READY,\n and EXPORT_STATUS_FAILED.",
              "deprecated": false,
              "type": "property"
            },
            "externalOrderNo": {
              "name": "externalOrderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The value of an external order number associated\n with this order, or null.",
              "deprecated": false,
              "type": "property"
            },
            "externalOrderStatus": {
              "name": "externalOrderStatus",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The status of an external order associated\n with this order, or null.",
              "deprecated": false,
              "type": "property"
            },
            "externalOrderText": {
              "name": "externalOrderText",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The text describing the external order, or null.",
              "deprecated": false,
              "type": "property"
            },
            "globalPartyID": {
              "name": "globalPartyID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Global Party ID reconciles customer identity across multiple systems. For example, as part of the Service for\n Commerce experience, service agents can find information for customers who have never called into the call\n center, but have created a profile on the website. Service agents can find guest order data from B2C Commerce and\n easily create accounts for customers. Customer 360 Data Manager matches records from multiple data sources to\n determine all the records associated with a specific customer.",
              "deprecated": false,
              "type": "property"
            },
            "imported": {
              "name": "imported",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true, if the order is imported and false\n otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "invoiceItems": {
              "name": "invoiceItems",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of InvoiceItems associated with this 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"
            },
            "invoiceNo": {
              "name": "invoiceNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The invoice number for this Order.\n \n When an order is placed (e.g. with OrderMgr.placeOrder(Order)) invoice number will be filled\n using a sequence. Before order was placed null will be returned unless it was set with\n setInvoiceNo(String).",
              "deprecated": false,
              "type": "property"
            },
            "invoices": {
              "name": "invoices",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of Invoices associated with this 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"
            },
            "orderExportXML": {
              "name": "orderExportXML",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order export XML as String object.\n \n NOTE: This method will return payment instrument data masked. If payment instrument re-encryption is needed\n please use getOrderExportXML(String, String) instead.\n \n Example:\n\n  var orderXMLAsString : String = order.getOrderExportXML();\n var orderXML : XML = new XML(orderXMLAsString);",
              "deprecated": false,
              "type": "property"
            },
            "orderNo": {
              "name": "orderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order number for this order.",
              "deprecated": false,
              "type": "property"
            },
            "orderToken": {
              "name": "orderToken",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The token for this order. The order token is a string (length 32 bytes) associated\n with this one order. The order token is random. It reduces the capability of malicious\n users to access an order through guessing. Order token can be used to further validate order\n ownership, but should never be used to solely validate ownership. In addition, the storefront\n should ensure authentication and authorization. See the Security Best Practices for Developers for details.",
              "deprecated": false,
              "type": "property"
            },
            "originalOrder": {
              "name": "originalOrder",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The original order associated with\n this order. The original order represents an order that was the\n first ancestor in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order1 is still the\n original representation of the order. If this order is the first\n ancestor, this method returns this order.",
              "deprecated": false,
              "type": "property"
            },
            "originalOrderNo": {
              "name": "originalOrderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order number of the original order associated with\n this order. The original order represents an order that was the\n first ancestor in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order1 is still the\n original representation of the order. If this order is the first\n ancestor, this method returns the value of getOrderNo().",
              "deprecated": false,
              "type": "property"
            },
            "paymentStatus": {
              "name": "paymentStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The order payment status value.\n Possible values are PAYMENT_STATUS_NOTPAID, PAYMENT_STATUS_PARTPAID\n or PAYMENT_STATUS_PAID.",
              "deprecated": false,
              "type": "property"
            },
            "paymentTransaction": {
              "name": "paymentTransaction",
              "class": {
                "name": "PaymentTransaction"
              },
              "static": false,
              "readonly": true,
              "description": "The payment transaction associated with this order.\n It is possible that there are multiple payment transactions\n associated with the order.  In this case, this method returns\n the transaction associated with the first PaymentInstrument\n returned by getPaymentInstruments().",
              "deprecated": true,
              "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. Associate a payment refund for an PaymentInstrument with an Invoice\n using Invoice.addRefundTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false,
              "type": "property"
            },
            "remoteHost": {
              "name": "remoteHost",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The IP address of the remote host from which the order was created.\n \n If the IP address was not captured for the order because order IP logging\n was disabled at the time the order was created, null will be returned.",
              "deprecated": false,
              "type": "property"
            },
            "replaceCode": {
              "name": "replaceCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "If this order was replaced by another order,\n returns the value of the replace code. Otherwise.\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "replaceDescription": {
              "name": "replaceDescription",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "If this order was replaced by another order,\n returns the value of the replace description. Otherwise\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "replacedOrder": {
              "name": "replacedOrder",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The order that this order replaced or null. For example, if you\n have three orders where Order1 was replaced by Order2 and Order2 was\n replaced by Order3, calling this method on Order3 will return Order2.\n Similarly, calling this method on Order1 will return null as Order1 was\n the original order.",
              "deprecated": false,
              "type": "property"
            },
            "replacedOrderNo": {
              "name": "replacedOrderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The order number that this order replaced or null if this order\n did not replace an order. For example, if you have three orders\n where Order1 was replaced by Order2 and Order2 was replaced by Order3,\n calling this method on Order3 will return the order number for\n Order2. Similarly, calling this method on Order1 will return null as\n Order1 was the original order.",
              "deprecated": false,
              "type": "property"
            },
            "replacementOrder": {
              "name": "replacementOrder",
              "class": {
                "name": "Order"
              },
              "static": false,
              "readonly": true,
              "description": "The order that replaced this order, or null.",
              "deprecated": false,
              "type": "property"
            },
            "replacementOrderNo": {
              "name": "replacementOrderNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "If this order was replaced by another order,\n returns the order number that replaced this order. Otherwise\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "returnCaseItems": {
              "name": "returnCaseItems",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of ReturnCaseItems associated with this 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"
            },
            "returnCases": {
              "name": "returnCases",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of ReturnCases associated with this 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"
            },
            "returnItems": {
              "name": "returnItems",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of ReturnItems associated with this 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"
            },
            "returns": {
              "name": "returns",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of Returns associated with this 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"
            },
            "shippingOrderItems": {
              "name": "shippingOrderItems",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of ShippingOrderItems associated with this 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"
            },
            "shippingOrders": {
              "name": "shippingOrders",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of ShippingOrders associated with this 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"
            },
            "shippingStatus": {
              "name": "shippingStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The order shipping status.\n Possible values are SHIPPING_STATUS_NOTSHIPPED,\n SHIPPING_STATUS_PARTSHIPPED or SHIPPING_STATUS_SHIPPED.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCode": {
              "name": "sourceCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The source code stored with the order or null if no source code is attached to the order.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeGroup": {
              "name": "sourceCodeGroup",
              "class": {
                "name": "SourceCodeGroup"
              },
              "static": false,
              "readonly": true,
              "description": "The source code group attached to the order or null if no source code group is attached to\n the order.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeGroupID": {
              "name": "sourceCodeGroupID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The source code group id stored with the order or null if no source code group is attached\n to the order.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The status of the order.\n Possible values are:\n \n ORDER_STATUS_CREATED\n ORDER_STATUS_NEW\n ORDER_STATUS_OPEN\n ORDER_STATUS_COMPLETED\n ORDER_STATUS_CANCELLED\n ORDER_STATUS_FAILED\n ORDER_STATUS_REPLACED\n \n \n The order status usually changes when a process action is initiated. Most status changes have an action which\n needs to executed in order to end having the order in a specific order status. When an order is created with e.g.\n OrderMgr.createOrder(Basket) the order status will be ORDER_STATUS_CREATED. The usual\n flow is that payment authorization will be added to the order. Once the order is considered as valid (payed,\n fraud checked, ...) the order gets placed. This can be done by calling\n OrderMgr.placeOrder(Order). The result of placing an order will be status\n ORDER_STATUS_OPEN (from a process standpoint ORDER_STATUS_NEW which has the same meaning).\n Status ORDER_STATUS_REPLACED is related to functionality\n BasketMgr.createBasketFromOrder(Order). ORDER_STATUS_COMPLETED has no meaning by\n default but can be used by custom implementations but is a synonym for NEW/OPEN. Below you will find the most important status changes:\n \n\n \n Status beforeActionStatus afterBusiness meaning\n -OrderMgr.createOrder(Basket)CREATEDOrder was created from a basket.\n CREATEDOrderMgr.placeOrder(Order)OPEN/NEWOrder was considered as valid. Order can now be exported to 3rd party systems.\n CREATEDOrderMgr.failOrder(Order)FAILEDOrder was considered not valid. E.g. payment authorization was wrong or fraud check was not successful.\n OPEN/NEWOrderMgr.cancelOrder(Order)CANCELLEDOrder was cancelled.\n CANCELLEDOrderMgr.undoCancelOrder(Order)OPEN/NEWOrder was cancelled by mistake and this needs to be undone.\n FAILEDOrderMgr.undoFailOrder(Order)CREATEDOrder was failed by mistake and this needs to be undone.\n \n Every status change will trigger a change in the order journal which is the base for GMV calculations.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createAppeasement": {
              "name": "createAppeasement",
              "args": [
                {
                  "name": "appeasementNumber",
                  "description": "the appeasementNumber to be assigned to the newly created appeasement",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Appeasement",
                "description": "the created appeasement"
              },
              "description": "Creates a new Appeasement associated with this order.\n\n An appeasementNumber must be specified.\n\n If an Appeasement already exists for the appeasementNumber, the method fails with an\n exception.\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
            },
            "createAppeasement0": {
              "name": "createAppeasement",
              "args": [],
              "class": {
                "name": "Appeasement",
                "description": "the created appeasement"
              },
              "description": "Creates a new Appeasement associated with this order.\n\n The new Appeasement\n will have an appeasementNumber based on the getOrderNo().\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
            },
            "createReturnCase": {
              "name": "createReturnCase",
              "args": [
                {
                  "name": "returnCaseNumber",
                  "description": "returnCaseNumber to use",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "isRMA",
                  "description": "whether the new ReturnCase is an RMA (return merchandise authorization)",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnCase",
                "description": "null or the ReturnCase associated with the given returnCaseNumber"
              },
              "description": "Creates a new ReturnCase associated with this order\n specifying whether the ReturnCase is an RMA (return merchandise authorization).\n\n A returnCaseNumber must be specified.\n\n If a ReturnCase already exists for the returnCaseNumber, the method fails with an\n exception.\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
            },
            "createReturnCase0": {
              "name": "createReturnCase",
              "args": [
                {
                  "name": "isRMA",
                  "description": "whether the new ReturnCase is an RMA (return merchandise authorization)",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnCase",
                "description": "the created ReturnCase"
              },
              "description": "Creates a new ReturnCase associated with this order\n specifying whether the ReturnCase is an RMA (return merchandise authorization).\n\n The new ReturnCase\n will have a returnCaseNumber based on the getOrderNo(), e.g. for an order-no 1234 the\n return cases will have the numbers 1234#RC1, 1234#RC2, 1234#RC3...\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
            },
            "createServiceItem": {
              "name": "createServiceItem",
              "args": [
                {
                  "name": "ID",
                  "description": "the ID of the new service item. This ID will be returned when ShippingLineItem.getID() is called.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "status",
                  "description": "the status of the order item, use one of  OrderItem.STATUS_NEW  OrderItem.STATUS_OPEN  OrderItem.STATUS_SHIPPED   Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed. Activation needs preliminary approval by Product Management. Please contact support in this case. Existing customers using these APIs are not affected by this change and can use the APIs until further notice.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "OrderItem",
                "description": "the created order item"
              },
              "description": "Returns the  order item with the given status which wraps a new\n  service item which is created and added to the order.",
              "deprecated": false
            },
            "createShippingOrder": {
              "name": "createShippingOrder",
              "args": [],
              "class": {
                "name": "ShippingOrder",
                "description": "the created shipping order"
              },
              "description": "Creates a new ShippingOrder for this order.\n \n Generates a default shipping order number. Use\n createShippingOrder(String) for a defined shipping order number.\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
            },
            "createShippingOrder0": {
              "name": "createShippingOrder",
              "args": [
                {
                  "name": "shippingOrderNumber",
                  "description": "the document number to be used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrder",
                "description": "the created shipping order"
              },
              "description": "Creates a new ShippingOrder for this 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
            },
            "getAffiliatePartnerID": {
              "name": "getAffiliatePartnerID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the affiliate partner ID value, or null."
              },
              "description": "Returns the affiliate partner ID value, or null.",
              "deprecated": false
            },
            "getAffiliatePartnerName": {
              "name": "getAffiliatePartnerName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the affiliate partner name value, or null."
              },
              "description": "Returns the affiliate partner name value, or null.",
              "deprecated": false
            },
            "getAppeasement": {
              "name": "getAppeasement",
              "args": [
                {
                  "name": "appeasementNumber",
                  "description": "the appeasement number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Appeasement",
                "description": "the Appeasement associated with the given appeasementNumber"
              },
              "description": "Returns the Appeasement associated with this order with the given appeasementNumber.\n The method returns null if no instance can be found.",
              "deprecated": false
            },
            "getAppeasementItem": {
              "name": "getAppeasementItem",
              "args": [
                {
                  "name": "appeasementItemID",
                  "description": "the ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "AppeasementItem",
                "description": "the AppeasementItem associated with the given appeasementItemID."
              },
              "description": "Returns the AppeasementItem associated with this Order with the given appeasementItemID.\n The method returns null if no instance can be found.",
              "deprecated": false
            },
            "getAppeasementItems": {
              "name": "getAppeasementItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the appeasement items belonging to this order"
              },
              "description": "Returns the collection of AppeasementItems associated with this order.",
              "deprecated": false
            },
            "getAppeasements": {
              "name": "getAppeasements",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the appeasements associated with this order"
              },
              "description": "Returns the collection of Appeasements associated with this order.",
              "deprecated": false
            },
            "getCancelCode": {
              "name": "getCancelCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the value of the cancel code."
              },
              "description": "If this order was cancelled, returns the value of the\n cancel code or null.",
              "deprecated": false
            },
            "getCancelDescription": {
              "name": "getCancelDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description as to why the order was cancelled or null."
              },
              "description": "If this order was cancelled, returns the text describing why\n the order was cancelled or null.",
              "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\n are calculated on the fly. Associate a payment capture for an PaymentInstrument with an Invoice\n using Invoice.addCaptureTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false
            },
            "getConfirmationStatus": {
              "name": "getConfirmationStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Order confirmation status"
              },
              "description": "Returns the confirmation status of the order.\n Possible values are CONFIRMATION_STATUS_NOTCONFIRMED and\n CONFIRMATION_STATUS_CONFIRMED.",
              "deprecated": false
            },
            "getCreatedBy": {
              "name": "getCreatedBy",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the user who created the order."
              },
              "description": "Returns the name of the user who has created the order.\n If an agent user has created the order, the agent user's name\n is returned. Otherwise \"Customer\" is returned.",
              "deprecated": false
            },
            "getCurrentOrder": {
              "name": "getCurrentOrder",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the current order."
              },
              "description": "Returns the current order. The current order\n represents the most recent order in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order 3 is now the\n current order and Order1 is still the original representation of the\n order. If this order has not been replaced, this method returns this\n order because this order is the current order.",
              "deprecated": false
            },
            "getCurrentOrderNo": {
              "name": "getCurrentOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order number of the current order"
              },
              "description": "Returns the order number of the current order. The current order\n represents the most recent order in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order 3 is now the\n current order and Order1 is still the original representation of the\n order. If this order has not been replaced, calling this method returns the\n same value as the getOrderNo() method because this order is the\n current order.",
              "deprecated": false
            },
            "getCustomerLocaleID": {
              "name": "getCustomerLocaleID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the locale associated with this order, or null."
              },
              "description": "Returns the ID of the locale that was in effect when the order\n was placed. This is the customer's locale.",
              "deprecated": false
            },
            "getCustomerOrderReference": {
              "name": "getCustomerOrderReference",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer-specific reference information for the order, or null."
              },
              "description": "Returns the customer-specific reference information for the order, or null.",
              "deprecated": false
            },
            "getExportAfter": {
              "name": "getExportAfter",
              "args": [],
              "class": {
                "name": "Date",
                "description": "a date after which an order can be exported."
              },
              "description": "Returns a date after which an order can be exported.",
              "deprecated": false
            },
            "getExportStatus": {
              "name": "getExportStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Order export status"
              },
              "description": "Returns the export status of the order.\n Possible values are: EXPORT_STATUS_NOTEXPORTED,\n EXPORT_STATUS_EXPORTED, EXPORT_STATUS_READY,\n and EXPORT_STATUS_FAILED.",
              "deprecated": false
            },
            "getExternalOrderNo": {
              "name": "getExternalOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of an external order number associated with this order, or null."
              },
              "description": "Returns the value of an external order number associated\n with this order, or null.",
              "deprecated": false
            },
            "getExternalOrderStatus": {
              "name": "getExternalOrderStatus",
              "args": [],
              "class": {
                "name": "String",
                "description": "the status of an external order associated with this order, or null."
              },
              "description": "Returns the status of an external order associated\n with this order, or null.",
              "deprecated": false
            },
            "getExternalOrderText": {
              "name": "getExternalOrderText",
              "args": [],
              "class": {
                "name": "String",
                "description": "the text describing the external order, or null."
              },
              "description": "Returns the text describing the external order, or null.",
              "deprecated": false
            },
            "getGlobalPartyID": {
              "name": "getGlobalPartyID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Global Party ID associated with this order, or null."
              },
              "description": "The Global Party ID reconciles customer identity across multiple systems. For example, as part of the Service for\n Commerce experience, service agents can find information for customers who have never called into the call\n center, but have created a profile on the website. Service agents can find guest order data from B2C Commerce and\n easily create accounts for customers. Customer 360 Data Manager matches records from multiple data sources to\n determine all the records associated with a specific customer.",
              "deprecated": false
            },
            "getInvoice": {
              "name": "getInvoice",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Invoice",
                "description": "the invoice associated with the given invoiceNumber"
              },
              "description": "Returns the Invoice associated with this order with the given invoiceNumber.\n The method returns null if no instance can be found.\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
            },
            "getInvoiceItem": {
              "name": "getInvoiceItem",
              "args": [
                {
                  "name": "invoiceItemID",
                  "description": "the item ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "InvoiceItem",
                "description": "the invoice item associated with the given ID"
              },
              "description": "Returns the InvoiceItem associated with this order with the given ID.\n The method returns null if no instance can be found.\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
            },
            "getInvoiceItems": {
              "name": "getInvoiceItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "invoice items belonging to this order"
              },
              "description": "Returns the collection of InvoiceItems associated with this 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
            },
            "getInvoiceNo": {
              "name": "getInvoiceNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the invoice number for this Order."
              },
              "description": "Returns the invoice number for this Order.\n \n When an order is placed (e.g. with OrderMgr.placeOrder(Order)) invoice number will be filled\n using a sequence. Before order was placed null will be returned unless it was set with\n setInvoiceNo(String).",
              "deprecated": false
            },
            "getInvoices": {
              "name": "getInvoices",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "invoices belonging to this order"
              },
              "description": "Returns the collection of Invoices associated with this 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
            },
            "getOrderExportXML": {
              "name": "getOrderExportXML",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order export XML"
              },
              "description": "Returns the order export XML as String object.\n \n NOTE: This method will return payment instrument data masked. If payment instrument re-encryption is needed\n please use getOrderExportXML(String, String) instead.\n \n Example:\n\n  var orderXMLAsString : String = order.getOrderExportXML();\n var orderXML : XML = new XML(orderXMLAsString);",
              "deprecated": false
            },
            "getOrderExportXML0": {
              "name": "getOrderExportXML",
              "args": [
                {
                  "name": "encryptionAlgorithm",
                  "description": "The encryption algorithm to be used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be a valid, non-null algorithm. Currently, only ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING is supported, but this will be fixed and support for ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING will be added soon.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encryptionKey",
                  "description": "The Base64 encoded form of the public key to be used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the order export XML"
              },
              "description": "Returns the order export XML as String object, with payment instrument data re-encrypted using the given\n encryption algorithm and key.\n \n NOTE: If no encryption is needed or desired please always use getOrderExportXML() instead, which returns\n the payment instrument data masked. Do not pass in any null arguments!\n \n Example:\n\n  var orderXMLAsString : String = order.getOrderExportXML( \"RSA/ECB/PKCS1Padding\", \"[key]\" );\n var orderXML : XML = new XML( orderXMLAsString );",
              "deprecated": false
            },
            "getOrderExportXML01": {
              "name": "getOrderExportXML",
              "args": [
                {
                  "name": "encryptionAlgorithm",
                  "description": "The encryption algorithm to be used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be a valid, non-null algorithm. Currently, only ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING is supported, but this will be fixed and support for ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING will be added soon.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encryptionKey",
                  "description": "The Base64 encoded form of the public key to be used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encryptUsingEKID",
                  "description": "ignored",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the order export XML"
              },
              "description": "Returns the order export XML as String object, with payment instrument data re-encrypted using the given\n encryption algorithm and key.\n \n NOTE: If no encryption is needed or desired please always use getOrderExportXML() instead, which returns\n the payment instrument data masked. Do not pass in any null arguments!\n \n Example:\n\n  var orderXMLAsString : String = order.getOrderExportXML( \"RSA/ECB/PKCS1Padding\", \"[key]\", false );\n var orderXML : XML = new XML( orderXMLAsString );",
              "deprecated": true
            },
            "getOrderExportXML012": {
              "name": "getOrderExportXML",
              "args": [
                {
                  "name": "encryptionAlgorithm",
                  "description": "The encryption algorithm used for the re-encryption of the payment instrument data (credit card number, bank account number, bank account driver's license number). Must be one of the following:  ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING – The current and preferred algorithm.  ENCRYPTION_ALGORITHM_RSA_ECB_PKCS1PADDING – This algorithm is outdated/deprecated and will be removed in a future release. Please do not use anymore.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encryptionKey",
                  "description": "The Base64 encoded form of the public key used for the re-encryption of the payment instrument data. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the order export XML"
              },
              "description": "Returns the order export XML as String object, with payment instrument data re-encrypted using the given\n encryption algorithm and key.\n \n NOTE: If no encryption is needed or desired please always use getOrderExportXML() instead, which returns\n the payment instrument data masked.\n \n Example:\n\n  var orderXMLAsString : String = order.getOrderExportXML( \"RSA/ECB/PKCS1Padding\", \"[key]\" );\n var orderXML : XML = new XML( orderXMLAsString );",
              "deprecated": false
            },
            "getOrderItem": {
              "name": "getOrderItem",
              "args": [
                {
                  "name": "itemID",
                  "description": "the itemID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "OrderItem",
                "description": "the order item for itemID"
              },
              "description": "Returns the OrderItem for the itemID.\n An OrderItem will only exist for ProductLineItems or\n ShippingLineItems which belong to the order.\n The method fails with an exception if no instance can be found.",
              "deprecated": false
            },
            "getOrderNo": {
              "name": "getOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order number for this order."
              },
              "description": "Returns the order number for this order.",
              "deprecated": false
            },
            "getOrderToken": {
              "name": "getOrderToken",
              "args": [],
              "class": {
                "name": "String",
                "description": "the token for this order."
              },
              "description": "Returns the token for this order. The order token is a string (length 32 bytes) associated\n with this one order. The order token is random. It reduces the capability of malicious\n users to access an order through guessing. Order token can be used to further validate order\n ownership, but should never be used to solely validate ownership. In addition, the storefront\n should ensure authentication and authorization. See the Security Best Practices for Developers for details.",
              "deprecated": false
            },
            "getOriginalOrder": {
              "name": "getOriginalOrder",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the order number of the original order associated with this order."
              },
              "description": "Returns the original order associated with\n this order. The original order represents an order that was the\n first ancestor in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order1 is still the\n original representation of the order. If this order is the first\n ancestor, this method returns this order.",
              "deprecated": false
            },
            "getOriginalOrderNo": {
              "name": "getOriginalOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order number of the original order associated with this order."
              },
              "description": "Returns the order number of the original order associated with\n this order. The original order represents an order that was the\n first ancestor in a chain of orders.\n For example, if Order1 was replaced by Order2, Order2 is the current\n representation of the order and Order1 is the original representation\n of the order. If you replace Order2 with Order3, Order1 is still the\n original representation of the order. If this order is the first\n ancestor, this method returns the value of getOrderNo().",
              "deprecated": false
            },
            "getPaymentStatus": {
              "name": "getPaymentStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Order payment status"
              },
              "description": "Returns the order payment status value.\n Possible values are PAYMENT_STATUS_NOTPAID, PAYMENT_STATUS_PARTPAID\n or PAYMENT_STATUS_PAID.",
              "deprecated": false
            },
            "getPaymentTransaction": {
              "name": "getPaymentTransaction",
              "args": [],
              "class": {
                "name": "PaymentTransaction",
                "description": "the payment transaction or null if there is no transaction."
              },
              "description": "Returns the payment transaction associated with this order.\n It is possible that there are multiple payment transactions\n associated with the order.  In this case, this method returns\n the transaction associated with the first PaymentInstrument\n returned by getPaymentInstruments().",
              "deprecated": true
            },
            "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. Associate a payment refund for an PaymentInstrument with an Invoice\n using Invoice.addRefundTransaction(OrderPaymentInstrument, Money).",
              "deprecated": false
            },
            "getRemoteHost": {
              "name": "getRemoteHost",
              "args": [],
              "class": {
                "name": "String",
                "description": "The IP address of the remote host captured for the order or null"
              },
              "description": "Returns the IP address of the remote host from which the order was created.\n \n If the IP address was not captured for the order because order IP logging\n was disabled at the time the order was created, null will be returned.",
              "deprecated": false
            },
            "getReplaceCode": {
              "name": "getReplaceCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the replace code"
              },
              "description": "If this order was replaced by another order,\n returns the value of the replace code. Otherwise.\n returns null.",
              "deprecated": false
            },
            "getReplaceDescription": {
              "name": "getReplaceDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the value of the replace code or null."
              },
              "description": "If this order was replaced by another order,\n returns the value of the replace description. Otherwise\n returns null.",
              "deprecated": false
            },
            "getReplacedOrder": {
              "name": "getReplacedOrder",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the order that replaced this order, or null."
              },
              "description": "Returns the order that this order replaced or null. For example, if you\n have three orders where Order1 was replaced by Order2 and Order2 was\n replaced by Order3, calling this method on Order3 will return Order2.\n Similarly, calling this method on Order1 will return null as Order1 was\n the original order.",
              "deprecated": false
            },
            "getReplacedOrderNo": {
              "name": "getReplacedOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order number of the order that this order replaced or null."
              },
              "description": "Returns the order number that this order replaced or null if this order\n did not replace an order. For example, if you have three orders\n where Order1 was replaced by Order2 and Order2 was replaced by Order3,\n calling this method on Order3 will return the order number for\n Order2. Similarly, calling this method on Order1 will return null as\n Order1 was the original order.",
              "deprecated": false
            },
            "getReplacementOrder": {
              "name": "getReplacementOrder",
              "args": [],
              "class": {
                "name": "Order",
                "description": "the order that replaced this order, or null."
              },
              "description": "Returns the order that replaced this order, or null.",
              "deprecated": false
            },
            "getReplacementOrderNo": {
              "name": "getReplacementOrderNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the order that replaced this order, or null."
              },
              "description": "If this order was replaced by another order,\n returns the order number that replaced this order. Otherwise\n returns null.",
              "deprecated": false
            },
            "getReturn": {
              "name": "getReturn",
              "args": [
                {
                  "name": "returnNumber",
                  "description": "the return number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Return",
                "description": "the return associated with the given returnNumber"
              },
              "description": "Returns the Return associated with this order with the given returnNumber.\n The method returns null if no instance can be found.\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
            },
            "getReturnCase": {
              "name": "getReturnCase",
              "args": [
                {
                  "name": "returnCaseNumber",
                  "description": "the return case number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnCase",
                "description": "the return case associated with the given returnCaseNumber"
              },
              "description": "Returns the ReturnCase associated with this order with the given returnCaseNumber.\n The method returns null if no instance can be found.\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
            },
            "getReturnCaseItem": {
              "name": "getReturnCaseItem",
              "args": [
                {
                  "name": "returnCaseItemID",
                  "description": "the ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnCaseItem",
                "description": "the return case item associated with the given returnCaseItemID"
              },
              "description": "Returns the ReturnCaseItem associated with this order with the given returnCaseItemID.\n The method returns null if no instance can be found.\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
            },
            "getReturnCaseItems": {
              "name": "getReturnCaseItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "return case items belonging to this order"
              },
              "description": "Returns the collection of ReturnCaseItems associated with this 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
            },
            "getReturnCases": {
              "name": "getReturnCases",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "return cases belonging to this order"
              },
              "description": "Returns the collection of ReturnCases associated with this 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
            },
            "getReturnItem": {
              "name": "getReturnItem",
              "args": [
                {
                  "name": "returnItemID",
                  "description": "the ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnItem",
                "description": "the return item associated with the given returnItemID"
              },
              "description": "Returns the ReturnItem associated with this order with the given ID.\n The method returns null if no instance can be found.\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
            },
            "getReturnItems": {
              "name": "getReturnItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "return items belonging to this order"
              },
              "description": "Returns the collection of ReturnItems associated with this 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
            },
            "getReturns": {
              "name": "getReturns",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "returns belonging to this order"
              },
              "description": "Returns the collection of Returns associated with this 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
            },
            "getShippingOrder": {
              "name": "getShippingOrder",
              "args": [
                {
                  "name": "shippingOrderNumber",
                  "description": "the shipping order number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrder",
                "description": "the shipping order associated with the given shippingOrderNumber"
              },
              "description": "Returns the ShippingOrder associated with this order with the given shippingOrderNumber.\n The method returns null if no instance can be found.\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
            },
            "getShippingOrderItem": {
              "name": "getShippingOrderItem",
              "args": [
                {
                  "name": "shippingOrderItemID",
                  "description": "the ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the shipping order item associated with the given shippingOrderItemID"
              },
              "description": "Returns the ShippingOrderItem associated with this order with the given shippingOrderItemID.\n The method returns null if no instance can be found.\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
            },
            "getShippingOrderItems": {
              "name": "getShippingOrderItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "shipping order items belonging to this order"
              },
              "description": "Returns the collection of ShippingOrderItems associated with this 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
            },
            "getShippingOrders": {
              "name": "getShippingOrders",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "shipping orders belonging to this order"
              },
              "description": "Returns the collection of ShippingOrders associated with this 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
            },
            "getShippingStatus": {
              "name": "getShippingStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Order shipping status"
              },
              "description": "Returns the order shipping status.\n Possible values are SHIPPING_STATUS_NOTSHIPPED,\n SHIPPING_STATUS_PARTSHIPPED or SHIPPING_STATUS_SHIPPED.",
              "deprecated": false
            },
            "getSourceCode": {
              "name": "getSourceCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the source code stored with the order or null if no source code is attached to the order."
              },
              "description": "Returns the source code stored with the order or null if no source code is attached to the order.",
              "deprecated": false
            },
            "getSourceCodeGroup": {
              "name": "getSourceCodeGroup",
              "args": [],
              "class": {
                "name": "SourceCodeGroup",
                "description": "the source code group attached to the order or null if no source code group is attached to the order."
              },
              "description": "Returns the source code group attached to the order or null if no source code group is attached to\n the order.",
              "deprecated": false
            },
            "getSourceCodeGroupID": {
              "name": "getSourceCodeGroupID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the source code group id stored with the order or null if no source code group is attached to the order."
              },
              "description": "Returns the source code group id stored with the order or null if no source code group is attached\n to the order.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "Status of the order."
              },
              "description": "Returns the status of the order.\n Possible values are:\n \n ORDER_STATUS_CREATED\n ORDER_STATUS_NEW\n ORDER_STATUS_OPEN\n ORDER_STATUS_COMPLETED\n ORDER_STATUS_CANCELLED\n ORDER_STATUS_FAILED\n ORDER_STATUS_REPLACED\n \n \n The order status usually changes when a process action is initiated. Most status changes have an action which\n needs to executed in order to end having the order in a specific order status. When an order is created with e.g.\n OrderMgr.createOrder(Basket) the order status will be ORDER_STATUS_CREATED. The usual\n flow is that payment authorization will be added to the order. Once the order is considered as valid (payed,\n fraud checked, ...) the order gets placed. This can be done by calling\n OrderMgr.placeOrder(Order). The result of placing an order will be status\n ORDER_STATUS_OPEN (from a process standpoint ORDER_STATUS_NEW which has the same meaning).\n Status ORDER_STATUS_REPLACED is related to functionality\n BasketMgr.createBasketFromOrder(Order). ORDER_STATUS_COMPLETED has no meaning by\n default but can be used by custom implementations but is a synonym for NEW/OPEN. Below you will find the most important status changes:\n \n\n \n Status beforeActionStatus afterBusiness meaning\n -OrderMgr.createOrder(Basket)CREATEDOrder was created from a basket.\n CREATEDOrderMgr.placeOrder(Order)OPEN/NEWOrder was considered as valid. Order can now be exported to 3rd party systems.\n CREATEDOrderMgr.failOrder(Order)FAILEDOrder was considered not valid. E.g. payment authorization was wrong or fraud check was not successful.\n OPEN/NEWOrderMgr.cancelOrder(Order)CANCELLEDOrder was cancelled.\n CANCELLEDOrderMgr.undoCancelOrder(Order)OPEN/NEWOrder was cancelled by mistake and this needs to be undone.\n FAILEDOrderMgr.undoFailOrder(Order)CREATEDOrder was failed by mistake and this needs to be undone.\n \n Every status change will trigger a change in the order journal which is the base for GMV calculations.",
              "deprecated": false
            },
            "isImported": {
              "name": "isImported",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true, if the order was imported, false otherwise."
              },
              "description": "Returns true, if the order is imported and false\n otherwise.",
              "deprecated": false
            },
            "reauthorize": {
              "name": "reauthorize",
              "args": [],
              "class": {
                "name": "Status",
                "description": "the status of the operation, will be Status.OK if the order is authorized after this call"
              },
              "description": "Ensures that the order is authorized.\n \n Checks if the order is authorized by calling the hook\n PaymentHooks.validateAuthorization(Order). If the authorization\n is not valid it reauthorizes the order by calling the\n PaymentHooks.reauthorize(Order).",
              "deprecated": false
            },
            "removeRemoteHost": {
              "name": "removeRemoteHost",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the IP address of the remote host if stored.\n \n If IP logging was enabled during order creation the IP address of the customer will be stored and can be\n retrieved using getRemoteHost().",
              "deprecated": false
            },
            "setAffiliatePartnerID": {
              "name": "setAffiliatePartnerID",
              "args": [
                {
                  "name": "affiliatePartnerID",
                  "description": "the affiliate partner ID value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the affiliate partner ID value.",
              "deprecated": false
            },
            "setAffiliatePartnerName": {
              "name": "setAffiliatePartnerName",
              "args": [
                {
                  "name": "affiliatePartnerName",
                  "description": "the affiliate partner name value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the affiliate partner name value.",
              "deprecated": false
            },
            "setCancelCode": {
              "name": "setCancelCode",
              "args": [
                {
                  "name": "cancelCode",
                  "description": "the cancel code value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the cancel code value.",
              "deprecated": false
            },
            "setCancelDescription": {
              "name": "setCancelDescription",
              "args": [
                {
                  "name": "cancelDescription",
                  "description": "the description for why the order was cancelled.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the description as to why the order was cancelled.",
              "deprecated": false
            },
            "setConfirmationStatus": {
              "name": "setConfirmationStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Order confirmation status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the confirmation status value.\n Possible values are CONFIRMATION_STATUS_NOTCONFIRMED or\n CONFIRMATION_STATUS_CONFIRMED.",
              "deprecated": false
            },
            "setCustomer": {
              "name": "setCustomer",
              "args": [
                {
                  "name": "customer",
                  "description": "The customer to be associated with the order.",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "This method is used to associate the order object with the specified customer object.\n \n If the customer object represents a registered customer, the order will be assigned\n to this registered customer and the order's customer number\n (LineItemCtnr.getCustomerNo()) will be updated.\n \n If the customer object represents an unregistered (anonymous) customer, the\n order will become an anonymous order and the order's customer number\n will be set to null.",
              "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": false
            },
            "setCustomerOrderReference": {
              "name": "setCustomerOrderReference",
              "args": [
                {
                  "name": "reference",
                  "description": "the customer-specific reference information for the order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer-specific reference information for the order.",
              "deprecated": false
            },
            "setExportAfter": {
              "name": "setExportAfter",
              "args": [
                {
                  "name": "date",
                  "description": "the date after which an order can be exported.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the date after which an order can be exported.",
              "deprecated": false
            },
            "setExportStatus": {
              "name": "setExportStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Order export status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the export status of the order.\n Possible values are: EXPORT_STATUS_NOTEXPORTED, EXPORT_STATUS_EXPORTED,\n EXPORT_STATUS_READY, and EXPORT_STATUS_FAILED.\n \n Setting the status to EXPORT_STATUS_EXPORTED will also trigger the finalization of on order inventory\n transactions for this order meaning that all inventory transactions with type on order will be moved into final\n inventory transactions. This is only relevant when On Order Inventory is turned on for the inventory list ordered\n products are in.\n \n \n In case of an exception the current transaction is marked as rollback only.",
              "deprecated": false
            },
            "setExternalOrderNo": {
              "name": "setExternalOrderNo",
              "args": [
                {
                  "name": "externalOrderNo",
                  "description": "the value of an external order number associated with this order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value of an external order number associated\n with this order",
              "deprecated": false
            },
            "setExternalOrderStatus": {
              "name": "setExternalOrderStatus",
              "args": [
                {
                  "name": "status",
                  "description": "the status of the external order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the status of an external order associated\n with this order",
              "deprecated": false
            },
            "setExternalOrderText": {
              "name": "setExternalOrderText",
              "args": [
                {
                  "name": "text",
                  "description": "the text describing the external order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the text describing the external order.",
              "deprecated": false
            },
            "setInvoiceNo": {
              "name": "setInvoiceNo",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice number for this Order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the invoice number for this Order.\n \n Notice that this value might be overwritten during order placement (e.g. with OrderMgr.placeOrder(Order)).",
              "deprecated": false
            },
            "setOrderStatus": {
              "name": "setOrderStatus",
              "args": [
                {
                  "name": "status",
                  "description": "the status to be set, use one of:  ORDER_STATUS_OPEN  ORDER_STATUS_CANCELLED",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the order status.\n \n Use this method when using Order Post Processing such as the creation of  shipping\n orders. The only supported values are ORDER_STATUS_OPEN, ORDER_STATUS_CANCELLED. Setting the\n status will adjust the order item status when applicable (item status not SHIPPED or CANCELLED). Note that the\n order status and the status of the items are directly related and dependent on one another.\n \n See OrderItem.setStatus(String) for more information about possible status transitions.\n \n Warning: This method will not undo coupon redemptions upon cancellation of an order. Re-opening such an\n order later with OrderMgr.undoCancelOrder(Order) or OrderItem.setStatus(String)\n with ORDER_STATUS_OPEN will result in an additional application of the same coupon code which in turn\n might fail.\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": true
            },
            "setPaymentStatus": {
              "name": "setPaymentStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Order payment status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the order payment status.\n Possible values are PAYMENT_STATUS_NOTPAID, PAYMENT_STATUS_PARTPAID\n or PAYMENT_STATUS_PAID.",
              "deprecated": false
            },
            "setReplaceCode": {
              "name": "setReplaceCode",
              "args": [
                {
                  "name": "replaceCode",
                  "description": "the value of the replace code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value of the replace code.",
              "deprecated": false
            },
            "setReplaceDescription": {
              "name": "setReplaceDescription",
              "args": [
                {
                  "name": "replaceDescription",
                  "description": "the value of the replace description.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value of the replace description.",
              "deprecated": false
            },
            "setShippingStatus": {
              "name": "setShippingStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Order shipping status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the order shipping status value.\n Possible values are SHIPPING_STATUS_NOTSHIPPED,\n SHIPPING_STATUS_PARTSHIPPED or SHIPPING_STATUS_SHIPPED.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Order status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the status of the order.\n \n Possible values are:\n \n ORDER_STATUS_NEW\n ORDER_STATUS_OPEN\n ORDER_STATUS_COMPLETED\n ORDER_STATUS_CANCELLED\n ORDER_STATUS_REPLACED\n \n This method does not support order statuses ORDER_STATUS_CREATED or ORDER_STATUS_FAILED. Please\n use OrderMgr.placeOrder(Order) or OrderMgr.failOrder(Order).\n \n Setting the order status to ORDER_STATUS_CANCELLED will have the same effect as calling\n OrderMgr.cancelOrder(Order). Setting a canceled order to ORDER_STATUS_NEW,\n ORDER_STATUS_OPEN or ORDER_STATUS_COMPLETED will have the same effect as calling\n OrderMgr.undoCancelOrder(Order). It is recommended to use the methods in\n OrderMgr directly to be able to do error processing with the return code.",
              "deprecated": false
            },
            "trackOrderChange": {
              "name": "trackOrderChange",
              "args": [
                {
                  "name": "text",
                  "description": "the text of the history entry",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Note",
                "description": "the created history entry"
              },
              "description": "Tracks an order change.\n \n This adds a history entry to the order. Focus of history entries are changes through business logic, both custom\n and internal logic. Tracked order changes are read-only and can be accessed in the Business Manager order\n history. The following attributes of the created  history entry are initialized:\n Note.getCreatedBy() gets the current user assigned\n Note.getCreationDate() gets the current date assigned\n \n \n This feature is intended to track important changes in custom order flow which should become visible in Business\n Manager's history tab. It is NOT intended as auditing feature for every change to an order. A warning will be\n produced after 600 notes are added to an order. The warning can be reviewed in Business Manager's Quota Status\n screen. Attempting to add a note to an order which already has 1000 notes results in an exception. Please bear in\n mind that internal changes, such as order status changes, also track changes. Avoid using this feature in\n recurring jobs which may re-process orders multiple times as the limit needs to be considered each time a change\n is tracked. The same limit on the number of notes added also applies when using method\n LineItemCtnr.addNote(String, String) to add notes.",
              "deprecated": false
            }
          }
        },
        "OrderAddress": {
          "fullClassName": "dw.order.OrderAddress",
          "package": "dw.order",
          "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.",
              "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.",
              "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 it' suffix.",
              "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 second address value."
              },
              "description": "Returns the customer's second address.",
              "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 country code."
              },
              "description": "Returns the customer's country code.",
              "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 it' suffix."
              },
              "description": "Returns a concatenation of the Customer's first, middle,\n and last names and it' suffix.",
              "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 postBox."
              },
              "description": "Returns the customer's post box.",
              "deprecated": false
            },
            "getSalutation": {
              "name": "getSalutation",
              "args": [],
              "class": {
                "name": "String",
                "description": "the customer's 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 customer's 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 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.",
              "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.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the Customer's country code.",
              "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
            },
            "setJobTitle": {
              "name": "setJobTitle",
              "args": [
                {
                  "name": "jobTitle",
                  "description": "The job title 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 256 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 customer's 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 customer's 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 customer's suite.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the customer's suite. The length is restricted to 256 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
            }
          }
        },
        "OrderItem": {
          "fullClassName": "dw.order.OrderItem",
          "package": "dw.order",
          "description": "Defines <i>extensions</i> to <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a>s and\n <a href=\"class_dw_order_ShippingLineItem.html\">ShippingLineItem</a>s belonging to an <a href=\"class_dw_order_Order.html\"> order</a>.\n\n <p>\n The order-item can be accessed using\n <a href=\"class_dw_order_ProductLineItem.html#dw_order_ProductLineItem_getOrderItem_DetailAnchor\">ProductLineItem.getOrderItem()</a> or\n <a href=\"class_dw_order_ShippingLineItem.html#dw_order_ShippingLineItem_getOrderItem_DetailAnchor\">ShippingLineItem.getOrderItem()</a> - these methods return null\n if the item is associated with a <a href=\"class_dw_order_Basket.html\"> basket</a> rather than\n an <a href=\"class_dw_order_Order.html\"> order</a>. Alternative access is available using\n <a href=\"class_dw_order_Order.html#dw_order_Order_getOrderItem_String_DetailAnchor\">Order.getOrderItem(String)</a> by passing the\n <a href=\"class_dw_order_OrderItem.html#dw_order_OrderItem_getItemID_DetailAnchor\"> itemID</a> used to identify the\n order-item in for example export files. The\n associated order-item can also be accessed from\n <a href=\"class_dw_order_InvoiceItem.html\"> invoice-items</a>,\n <a href=\"class_dw_order_ShippingOrderItem.html\"> shipping-order-items</a>,\n <a href=\"class_dw_order_ReturnItem.html\"> return-items</a> and <a href=\"class_dw_order_ReturnCaseItem.html\"> return-case-items</a> using <a href=\"class_dw_order_AbstractItem.html#dw_order_AbstractItem_getOrderItem_DetailAnchor\">AbstractItem.getOrderItem()</a>.\n\n </p><p>\n The order-item provides an item-level <a href=\"class_dw_order_OrderItem.html#dw_order_OrderItem_getStatus_DetailAnchor\"> status</a> and\n <a href=\"class_dw_order_OrderItem.html#dw_order_OrderItem_getType_DetailAnchor\"> type</a>, methods for accessing and creating associated items,\n and methods used to <a href=\"class_dw_order_OrderItem.html#dw_order_OrderItem_allocateInventory_Boolean_DetailAnchor\"> allocate\n inventory</a> for <a href=\"class_dw_order_ShippingOrder.html\"> shipping-order</a> creation.\n </p><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"
            }
          ],
          "constants": {
            "STATUS_BACKORDER": {
              "name": "STATUS_BACKORDER",
              "value": "\"BACKORDER\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status BACKORDER",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CANCELLED": {
              "name": "STATUS_CANCELLED",
              "value": "\"CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status CANCELLED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CONFIRMED": {
              "name": "STATUS_CONFIRMED",
              "value": "\"CONFIRMED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status CONFIRMED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CREATED": {
              "name": "STATUS_CREATED",
              "value": "\"CREATED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status CREATED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_NEW": {
              "name": "STATUS_NEW",
              "value": "\"NEW\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status NEW",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_OPEN": {
              "name": "STATUS_OPEN",
              "value": "\"OPEN\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status OPEN",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_SHIPPED": {
              "name": "STATUS_SHIPPED",
              "value": "\"SHIPPED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status SHIPPED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_WAREHOUSE": {
              "name": "STATUS_WAREHOUSE",
              "value": "\"WAREHOUSE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status WAREHOUSE",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_PRODUCT": {
              "name": "TYPE_PRODUCT",
              "value": "\"PRODUCT\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Type PRODUCT",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_SERVICE": {
              "name": "TYPE_SERVICE",
              "value": "\"SERVICE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Type SERVICE",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "appeasedAmount": {
              "name": "appeasedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Sum of amounts appeased for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false,
              "type": "property"
            },
            "capturedAmount": {
              "name": "capturedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Sum of amounts captured for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false,
              "type": "property"
            },
            "invoiceItems": {
              "name": "invoiceItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All invoice items associated with this item, each\n InvoiceItem will belong to a different\n Invoice, which can also be accessed using\n Order.getInvoices() or Order.getInvoice(String).",
              "deprecated": false,
              "type": "property"
            },
            "itemID": {
              "name": "itemID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The itemID used to identify the OrderItem. Note this is\n not a UUID, it is created internally when the OrderItem\n instance is created, and is typically used within export files to\n identify the item.",
              "deprecated": false,
              "type": "property"
            },
            "lineItem": {
              "name": "lineItem",
              "class": {
                "name": "LineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The line item which is being extended by this instance.",
              "deprecated": false,
              "type": "property"
            },
            "refundedAmount": {
              "name": "refundedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Sum of amounts refunded for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false,
              "type": "property"
            },
            "returnCaseItems": {
              "name": "returnCaseItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All return case items associated with this item,\n each ReturnCaseItem will belong to a different\n ReturnCase, which can also be accessed using\n Order.getReturnCases() or Order.getReturnCase(String).",
              "deprecated": false,
              "type": "property"
            },
            "returnedQuantity": {
              "name": "returnedQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity returned, dynamically sum of quantities held by associated\n ReturnItems.",
              "deprecated": false,
              "type": "property"
            },
            "shippingOrderItem": {
              "name": "shippingOrderItem",
              "class": {
                "name": "ShippingOrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "The last added non-cancelled shipping order item if one exists, otherwise null.\n \n Multiple shipping order items that are not in status ShippingOrderItem.STATUS_CANCELLED\n can exist for one OrderItem, for example if the OrderItem has been split for shipping purposes.\n The method returns null if no non-cancelled shipping order item exists.",
              "deprecated": true,
              "type": "property"
            },
            "shippingOrderItems": {
              "name": "shippingOrderItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of the ShippingOrderItems created for this item.\n ShippingOrder items represents the whole or part of this item which could\n be delivered, and belong to a shipping order.\n Note that the cancelled shipping order items are returned too.\n This method is equivalent to getShippingOrderItems(Boolean)\n called with parameter true.",
              "deprecated": false,
              "type": "property"
            },
            "splitItems": {
              "name": "splitItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all split OrderItems associated with this item. Inverse relation to getSplitSourceItem().\n \n Split order items are created when\n \n creating a ShippingOrderItem for a ShippingOrder, see ShippingOrder.createShippingOrderItem(OrderItem, Quantity)\n splitting an existing ShippingOrderItem, see ShippingOrderItem.split(Quantity)\n \n with a specified quantity less than the existing quantity of the associated ProductLineItem. In this case the associated ProductLineItem\n is split by creating a new ProductLineItem and associating a new ShippingOrderItem with this item. The new ShippingOrderItem\n receives the specified quantity and the quantity of the item is set to the remaining quantity. All split items are associated to their originating item via\n the \"split source item\" association.",
              "deprecated": false,
              "type": "property"
            },
            "splitSourceItem": {
              "name": "splitSourceItem",
              "class": {
                "name": "OrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "The split source item associated with this item, if existing. Inverse relation to getSplitItems().\n \n A split source item is associated after the successful creation of a split item with a quantity less than the existing quantity of the item to split.\n For details see getSplitItems().",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the order item status.\n The possible values are:\n \n STATUS_NEW\n STATUS_OPEN\n STATUS_BACKORDER\n STATUS_CONFIRMED\n STATUS_WAREHOUSE\n STATUS_SHIPPED\n STATUS_CANCELLED",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "The type of line item with which this instance is associated, one\n of\n \n SERVICE (method getLineItem() returns a\n ShippingLineItem\n PRODUCT (method getLineItem() returns a\n ProductLineItem",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "allocateInventory": {
              "name": "allocateInventory",
              "args": [
                {
                  "name": "partialAllocation",
                  "description": "true accept a partial allocation as a result. Partial allocation is only possible when no option product line items are included, false only full allocation will be used, partial allocation will be released automatically",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "successful: the newly allocated quantity failed: null"
              },
              "description": "Please note that this method is disabled by default. Please contact support for enabling it.\n \n Attempts to allocate inventory for the item and returns the quantity that could be allocated or null\n if no allocation was possible.\n \n All  option product line items are allocated with\n their parent. Note that for items with option product line items no partial allocation is possible. That means\n the partialAllocation parameter will in this case always be considered as false",
              "deprecated": false
            },
            "getAppeasedAmount": {
              "name": "getAppeasedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Sum of amounts refunded for this item"
              },
              "description": "Sum of amounts appeased for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false
            },
            "getCapturedAmount": {
              "name": "getCapturedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Sum of amounts captured for this item"
              },
              "description": "Sum of amounts captured for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false
            },
            "getInvoiceItems": {
              "name": "getInvoiceItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "invoice items associated with this item"
              },
              "description": "Returns all invoice items associated with this item, each\n InvoiceItem will belong to a different\n Invoice, which can also be accessed using\n Order.getInvoices() or Order.getInvoice(String).",
              "deprecated": false
            },
            "getItemID": {
              "name": "getItemID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the itemID of the OrderItem"
              },
              "description": "The itemID used to identify the OrderItem. Note this is\n not a UUID, it is created internally when the OrderItem\n instance is created, and is typically used within export files to\n identify the item.",
              "deprecated": false
            },
            "getLineItem": {
              "name": "getLineItem",
              "args": [],
              "class": {
                "name": "LineItem",
                "description": "the line item associated with this instance"
              },
              "description": "Returns the line item which is being extended by this instance.",
              "deprecated": false
            },
            "getRefundedAmount": {
              "name": "getRefundedAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Sum of amounts refunded for this item"
              },
              "description": "Sum of amounts refunded for this item, calculated by iterating over\n invoice items associated with the item.",
              "deprecated": false
            },
            "getReturnCaseItems": {
              "name": "getReturnCaseItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "return case items associated with this item"
              },
              "description": "Returns all return case items associated with this item,\n each ReturnCaseItem will belong to a different\n ReturnCase, which can also be accessed using\n Order.getReturnCases() or Order.getReturnCase(String).",
              "deprecated": false
            },
            "getReturnedQuantity": {
              "name": "getReturnedQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "quantity returned, the sum of quantities held by associated ReturnItems"
              },
              "description": "The quantity returned, dynamically sum of quantities held by associated\n ReturnItems.",
              "deprecated": false
            },
            "getShippingOrderItem": {
              "name": "getShippingOrderItem",
              "args": [],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the last not cancelled shipping order item or null"
              },
              "description": "The last added non-cancelled shipping order item if one exists, otherwise null.\n \n Multiple shipping order items that are not in status ShippingOrderItem.STATUS_CANCELLED\n can exist for one OrderItem, for example if the OrderItem has been split for shipping purposes.\n The method returns null if no non-cancelled shipping order item exists.",
              "deprecated": true
            },
            "getShippingOrderItems": {
              "name": "getShippingOrderItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "collection of the shipping order items created for this item"
              },
              "description": "Returns a collection of the ShippingOrderItems created for this item.\n ShippingOrder items represents the whole or part of this item which could\n be delivered, and belong to a shipping order.\n Note that the cancelled shipping order items are returned too.\n This method is equivalent to getShippingOrderItems(Boolean)\n called with parameter true.",
              "deprecated": false
            },
            "getShippingOrderItems0": {
              "name": "getShippingOrderItems",
              "args": [
                {
                  "name": "includeCancelled",
                  "description": "true all shipping order items, including the cancelled, created for this item will be returned false only non-cancelled shipping order items created for this item will be returned",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "collection of the shipping order items created for this item"
              },
              "description": "Returns a collection of the ShippingOrderItems created for this item.\n ShippingOrder items represent the whole or part of this item which could\n be delivered, and belong to a shipping order.\n Depending on the includeCancelled parameter the cancelled shipping order\n items will be returned or not.",
              "deprecated": false
            },
            "getSplitItems": {
              "name": "getSplitItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the split order items associated with this item"
              },
              "description": "Returns a collection of all split OrderItems associated with this item. Inverse relation to getSplitSourceItem().\n \n Split order items are created when\n \n creating a ShippingOrderItem for a ShippingOrder, see ShippingOrder.createShippingOrderItem(OrderItem, Quantity)\n splitting an existing ShippingOrderItem, see ShippingOrderItem.split(Quantity)\n \n with a specified quantity less than the existing quantity of the associated ProductLineItem. In this case the associated ProductLineItem\n is split by creating a new ProductLineItem and associating a new ShippingOrderItem with this item. The new ShippingOrderItem\n receives the specified quantity and the quantity of the item is set to the remaining quantity. All split items are associated to their originating item via\n the \"split source item\" association.",
              "deprecated": false
            },
            "getSplitSourceItem": {
              "name": "getSplitSourceItem",
              "args": [],
              "class": {
                "name": "OrderItem",
                "description": "the split source item or null"
              },
              "description": "Returns the split source item associated with this item, if existing. Inverse relation to getSplitItems().\n \n A split source item is associated after the successful creation of a split item with a quantity less than the existing quantity of the item to split.\n For details see getSplitItems().",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the order item status.\n The possible values are:\n \n STATUS_NEW\n STATUS_OPEN\n STATUS_BACKORDER\n STATUS_CONFIRMED\n STATUS_WAREHOUSE\n STATUS_SHIPPED\n STATUS_CANCELLED",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the type of order item, one of TYPE_PRODUCT or TYPE_SERVICE."
              },
              "description": "Returns the type of line item with which this instance is associated, one\n of\n \n SERVICE (method getLineItem() returns a\n ShippingLineItem\n PRODUCT (method getLineItem() returns a\n ProductLineItem",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "status string matching one of the values for status",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the status of the order item, use one of the values documented in getStatus().\n \n If the order item has a related shipping order item (see getShippingOrderItem()) the status of the\n shipping order item will be adjusted to the same status. Setting the status of an order item might also change\n the status of the related order. The following rules apply in top-down order:\n \n all items STATUS_CANCELLED - order status is Order.ORDER_STATUS_CANCELLED\n at least one item in status STATUS_SHIPPED and all other items are STATUS_CANCELLED order\n status is Order.ORDER_STATUS_COMPLETED\n at least one item in status STATUS_CREATED, STATUS_OPEN, STATUS_NEW\n , STATUS_BACKORDER - order status is Order.ORDER_STATUS_OPEN, order confirmation status\n is Order.CONFIRMATION_STATUS_NOTCONFIRMED\n other combinations will have only items in STATUS_CONFIRMED, STATUS_CANCELLED and\n STATUS_SHIPPED - order status is Order.ORDER_STATUS_OPEN, order confirmation status is\n Order.CONFIRMATION_STATUS_CONFIRMED",
              "deprecated": false
            }
          }
        },
        "OrderMgr": {
          "fullClassName": "dw.order.OrderMgr",
          "package": "dw.order",
          "description": "<p>\n Provides static helper methods for managing orders.\n </p>\n <p>\n Pipelet GetOrder and methods provided to access orders such as <a href=\"class_dw_order_OrderMgr.html#dw_order_OrderMgr_getOrder_String_DetailAnchor\">getOrder(String)</a> and\n <a href=\"class_dw_order_OrderMgr.html#dw_order_OrderMgr_searchOrders_String_String_Object_DetailAnchor\">searchOrders(String, String, Object...)</a> can be limited by the site preference 'Limit Storefront Order\n Access'. An insecure order access occurs in a storefront session when all of the following are true:\n </p><ul>\n <li>The current storefront session isn’t the session in which the order was created.</li>\n <li>The session customer doesn’t match the order customer.</li>\n <li>The order status isn’t CREATED.</li>\n </ul>\n When an order is accessed in an insecure manner:\n <ul>\n <li>If the preference is ACTIVE, the action is disallowed and a SecurityException with a message\n beginning 'Unauthorized access to order' is thrown.</li>\n <li>If the preference is NOT ACTIVE, a SecurityException with a message beginning 'Unauthorized\n access to order' is logged as an error.</li>\n </ul>\n In addition, the storefront should ensure the shopper is properly authenticated and authorized to read\n or modify the content of an order object. For more information, see <a href=\"https://documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fb2c_security_best_practices%2Fb2c_developer_authentication_and_authorization.html\">Access Control</a>.\n <ul>\n </ul>\n Don’t use dw.order.OrderMgr.searchOrder methods or <a href=\"class_dw_order_OrderMgr.html#dw_order_OrderMgr_processOrders_Function_String_Object_DetailAnchor\">processOrders(Function, String, Object...)</a>\n immediately after creating or updating an order. The order search index updates asynchronously, typically within seconds but occasionally longer depending on search service load, so it\n might not include very recent changes. Instead, do one of the following:\n <ul>\n <li>In the same request, pass the dw.order.Order object reference to the followup logic.</li>\n <li>For storefront use cases, especially when passing the order reference to a third party, use the\n order token for security by using <a href=\"class_dw_order_OrderMgr.html#dw_order_OrderMgr_getOrder_String_String_DetailAnchor\">getOrder(String, String)</a>.</li>\n </ul>\n When implementing order history functionality, don't use the search or query methods in this class. Instead, use\n <a href=\"class_dw_customer_OrderHistory.html#dw_customer_OrderHistory_getOrders_String_String_Object_DetailAnchor\">OrderHistory.getOrders(String, String, Object...)</a>.\n <p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "cancelOrder": {
              "name": "cancelOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order to be cancelled",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR'"
              },
              "description": "This method cancels an order. Only orders in status OPEN, NEW, or COMPLETED can be cancelled.\n \n \n Setting of cancel code and cancel description can be done by calling\n Order.setCancelCode(String) and Order.setCancelDescription(String). *\n If the order contains product or gift certificate line items associated with product list items, records of the\n purchase of the product list items will be removed.\n \n \n Inventory transactions and coupon redemptions associated with the order will be rolled back.\n \n \n It is important to consider that this method will cancel orders with gift certificate line items.\n \n \n If an order has any active post-processing objects (e.g. shipping orders, returns, appeasements), then it cannot\n be cancelled directly. Its status is set automatically, based on the statuses of its post-processing objects. To\n cancel such an order, you must cancel all related post-processing objects.\n \n \n If your B2C Commerce instance is integrated with Order Management, then you manage order statuses in Order\n Management. Use Order Management API endpoints.",
              "deprecated": false
            },
            "createOrder": {
              "name": "createOrder",
              "args": [
                {
                  "name": "basket",
                  "description": "basket to create an order for",
                  "class": {
                    "name": "Basket"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "a new order"
              },
              "description": "This method creates an order based on a basket. If successful, the new order will be in status\n Order.ORDER_STATUS_CREATED. The basket will be removed from the session and marked for removal.\n \n \n This method throws an APIException with type 'CreateOrderException' if any of the following conditions are\n encountered:\n \n any of the totals (net, gross, tax) of the basket is N/A\n any of the product items is not available (this takes previously reserved items into account)\n any campaign-based coupon in the basket is invalid (see CouponLineItem.isValid()\n the basket represents an order being edited, but the order has already been replaced by another order\n the basket represents an order being edited, but the customer associated with the original order is not the\n same as the current customer\n \n \n \n The method removes all empty shipments from the basket before creating the order. A shipment is said to be empty\n if all of the following are true:\n \n it contains no product or gift certificate line items\n all total prices (net, gross, tax) are 0.0\n \n \n \n This method decrements inventory for all products contained in the order. A previous call to\n Basket.reserveInventory() is unnecessary and discouraged within the same request. The method\n takes any items with reserved inventory into account, allowing an early reservation of items, e.g. at the\n beginning of the checkout process. As described above, an APIException is thrown if any item is not available.\n \n \n If the basket contains product or gift certificate line items associated with product list items, the method\n updates the purchased quantity of the product list items; see\n ProductListItem.getPurchasedQuantity().\n \n \n The system generates an order number via hook OrderHooks.createOrderNo(). If no hook is\n registered for the endpoint, the number is generated by calling createOrderSequenceNo(). The format of\n the number is based on the Order Number scheme defined in the Sequence Numbers preference configured for the site\n or organization. The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher\n or lower than a previously created number. As a result, sorting orders by order number is not guaranteed to sort\n them in their order of creation.\n \n \n This method must not be used with the ReserveInventoryForOrder pipelet or\n Basket.reserveInventory() in the same request.\n \n \n When an order is created, search results don't include it until the next asynchronous update of the order search\n index. See OrderMgr.\n \n \n Please note that this method might result in an order with a different customer ID than the originating\n registered customer attached to the session. This happens if a registered customer logs in with the \"RememberMe\"\n flag set to true, but is later logged out (either explicitly, or automatically via session\n expiration) before calling this method. This is due to the internal order creation logic, which creates a new\n guest customer and attaches it to the order in such cases. To avoid this situation, have your custom code verify\n that the customer is authenticated before it calls this method.\n \n \n Usage:\n \n \n\n  var basket : Basket; // known\n try\n {\n   var order : Order = OrderMgr.createOrder(basket);\n }\n catch (e if e instanceof APIException && e.type === 'CreateOrderException')\n {\n   // handle e\n }",
              "deprecated": false
            },
            "createOrder0": {
              "name": "createOrder",
              "args": [
                {
                  "name": "basket",
                  "description": "basket to create an order for",
                  "class": {
                    "name": "Basket"
                  },
                  "multiple": false
                },
                {
                  "name": "orderNo",
                  "description": "optional order number; if null is specified, an order number is generated",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "a new order"
              },
              "description": "This method functions the same as createOrder(Basket), but allows the optional specification of\n an orderNo. The orderNo must be unique within the context of a site.\n \n \n If the orderNo is not specified, the behavior is the same as that of\n createOrder(Basket). In that case, the system generates an order number via hook\n OrderHooks.createOrderNo(). If no hook is registered for the endpoint, the number is\n generated by calling createOrderSequenceNo(). The format of the number is based on the Order Number\n scheme defined in the Sequence Numbers preference configured for the site or organization. The number is\n guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a previously\n created number. As a result, sorting orders by order number is not guaranteed to sort them in their order of\n creation.\n \n \n This method must not be used with the ReserveInventoryForOrder pipelet or\n Basket.reserveInventory() in the same request.\n \n \n When an order is created, search results don't include it until the next asynchronous update of the order search\n index. See OrderMgr.\n \n \n Please note that this method might result in an order with a different customer ID than the originating\n registered customer attached to the session. This happens if a registered customer logs in with the \"RememberMe\"\n flag set to true, but is later logged out (either explicitly, or automatically via session\n expiration) before calling this method. This is due to the internal order creation logic, which creates a new\n guest customer and attaches it to the order in such cases. To avoid this situation, have your custom code verify\n that the customer is authenticated before it calls this method.\n \n \n Usage:\n \n \n\n  var basket : Basket; // known\n var orderNo : String; // known\n try\n {\n   var order : Order = OrderMgr.createOrder(basket, orderNo);\n }\n catch (e if e instanceof APIException && e.type === 'CreateOrderException')\n {\n   // handle e\n }",
              "deprecated": false
            },
            "createOrderNo": {
              "name": "createOrderNo",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "an available order number"
              },
              "description": "Creates an order number.\n \n \n The order number is created via hook OrderHooks.createOrderNo(). If no hook is registered\n for the endpoint, the number is generated by calling createOrderSequenceNo(). The format of the number\n is based on the Order Number scheme defined in the Sequence Numbers preference configured for the site or\n organization.\n \n \n The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a\n previously created number. As a result, sorting orders by order number is not guaranteed to sort them in their\n order of creation.",
              "deprecated": false
            },
            "createOrderSequenceNo": {
              "name": "createOrderSequenceNo",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "an available order number"
              },
              "description": "Creates an order number.\n \n \n The format of the number is based on the Order Number scheme defined in the Sequence Numbers preference\n configured for the site or organization.\n \n \n The number is guaranteed to be unique, but is not guaranteed to be sequential. It can be higher or lower than a\n previously created number. As a result, sorting orders by order number is not guaranteed to sort them in their\n order of creation.",
              "deprecated": false
            },
            "createShippingOrders": {
              "name": "createShippingOrders",
              "args": [
                {
                  "name": "order",
                  "description": "the order to run the shipping order creation for",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with an error message"
              },
              "description": "Triggers the shipping order creation for an order.\n \n \n Must be run outside of a transaction. Will call hooks of the shipping order creation process, which are:\n \n ShippingOrderHooks.extensionPointPrepareCreateShippingOrders\n ShippingOrderHooks.extensionPointCreateShippingOrders\n ShippingOrderHooks.extensionPointAfterStatusChange\n ShippingOrderHooks.extensionPointNotifyStatusChange\n \n \n \n As a result, zero, one, or multiple ShippingOrders are created.\n \n Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed.\n Activation needs preliminary approval by Product Management. Please contact support in this case. Existing\n customers using these APIs are not affected by this change and can use the APIs until further notice.",
              "deprecated": false
            },
            "describeOrder": {
              "name": "describeOrder",
              "args": [],
              "static": true,
              "class": {
                "name": "ObjectTypeDefinition",
                "description": "the meta data for Orders."
              },
              "description": "Returns the meta data for Orders.",
              "deprecated": false
            },
            "failOrder": {
              "name": "failOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order to be placed",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with an error message"
              },
              "description": "This method fails an unplaced order and is usually called if payment could not be authorized. The specified Order\n must be in status CREATED, and will be set to status FAILED.\n \n \n Inventory transactions and coupon redemptions associated with the Order will be rolled back.\n \n \n If the order is failed in the same session in which it was created, the basket will be reopened such that it can\n be used for a subsequent order.",
              "deprecated": true
            },
            "failOrder0": {
              "name": "failOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order to be placed",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                },
                {
                  "name": "reopenBasketIfPossible",
                  "description": "reopen the basket if it still exists and limit for number of baskets is not reached",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with an error message. Status detail basket contains the reopened basket, if it has been reopened successfully."
              },
              "description": "This method fails an unplaced order and is usually called if payment could not be authorized. The specified Order\n must be in status CREATED, and will be set to status FAILED.\n \n \n Inventory transactions and coupon redemptions associated with the Order will be rolled back.\n \n \n A basket can only be reopened if no other basket for the customer exists at the moment of the call to\n failOrder, since a customer is limited to 1 storefront basket at a time. If, after order creation, a\n call was made to BasketMgr.getCurrentOrNewBasket() or pipelet GetBasket with parameter Create=true, then\n a new basket has been created, and failOrder cannot reopen the basket the order was created with. If\n a basket is reopened, it always masks sensitive information (e.g., credit card number), because during order\n creation, basket payment information is permanently masked.",
              "deprecated": false
            },
            "getOrder": {
              "name": "getOrder",
              "args": [
                {
                  "name": "orderNumber",
                  "description": "the order number of the order to retrieve",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "Order for the specified order number"
              },
              "description": "Returns the order with the specified order number. Order access in the storefront can be limited; see\n the class description. Use getOrder(String, String) instead for secure access in a storefront session.\n \n \n If Limit Storefront Order Access site preference is enabled, this method throws an exception when an\n insecure access is attempted (refer to the conditions of insecure access in the description of OrderMgr\n class). Use getOrder(String, String) instead.",
              "deprecated": false
            },
            "getOrder0": {
              "name": "getOrder",
              "args": [
                {
                  "name": "orderNumber",
                  "description": "the order number of the order to retrieve",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "orderToken",
                  "description": "the order token of the order to retrieve",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "Order for the specified order number. null is returned if order is not found by number or token doesn’t correspond to the order found"
              },
              "description": "Resolves an order using the orderNumber and orderToken.\n \n \n The order token is generated during order creation in a secure way that is designed to reduce the\n possibility of unauthorized access. You can retrieve the token via (Order.getOrderToken().\n \n \n This version of the getOrder method doesn’t return an exception when the Limit Storefront Order\n Access site preference is enabled. Best security practice is to always enable this preference, and to use\n this method when appropriate.\n \n \n You should always use this method in the following cases.\n \n Integration use cases (such as asynchronous payment processing)\n When resolving orders from links (for example, order confirmation)\n Storefront use cases",
              "deprecated": false
            },
            "placeOrder": {
              "name": "placeOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order to be placed",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with an error message"
              },
              "description": "This method places an order and is usually called after payment has been authorized. The specified order must be\n in status CREATED, and will be set to status NEW.\n \n \n If the order contains product or gift certificate line items associated with product list items, records of the\n purchase of the product list items will be made. For example, if the basket contains an item added from a gift\n registry, the purchase history of the respective gift registry item is updated.\n \n \n The order will count toward product and customer active data.\n \n \n Placing an order leads to the generation of shipment numbers for all shipments and the invoice number of the\n order. See Shipment.getShipmentNo() and Order.getInvoiceNo(). This is done\n using sequences.",
              "deprecated": false
            },
            "processOrders": {
              "name": "processOrders",
              "args": [
                {
                  "name": "processFunction",
                  "description": "the function to execute for each order",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                },
                {
                  "name": "queryString",
                  "description": "the query string to use when searching for an order.",
                  "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 orders. This method is intended to be used in batch processes and\n jobs, since it allows efficient processing of large result sets (which might take a while to process). First, a\n search with the given parameters is executed. Then the given function is executed once for each order of the\n search result. The order is handed over as the only parameter to this function.\n \n \n The search can be configured using a simple query language, which provides most common filter and operator\n functionality. The callback function will be supplied with a single argument of type 'Order'. When the function\n defines additional arguments, they will be undefined when called. When the method doesn't define any argument, it\n will be called anyway. Error during execution of the callback will be logged, and execution will continue with\n the next element from the result set. This method can be used as in this example (which counts the number of\n orders):\n \n \n\n          var count=0;\n         function callback(order: Order)\n         {\n             count++;\n             dw.system.Logger.debug(\"order found: \"+order.documentNo)\n         }\n        OrderMgr.processOrders(callback, \"buyerno=1\");\n        dw.system.Logger.debug(\"found \"+count+\" orders for buyerno 1\");",
              "deprecated": false
            },
            "queryOrder": {
              "name": "queryOrder",
              "args": [
                {
                  "name": "queryString",
                  "description": "the query string that is used to locate the order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "one or more arguments to apply.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "the order that was found when executing the queryString."
              },
              "description": "Searches for a single order instance. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured using a simple query language, which provides most common filter and operator\n functionality.\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The following operators are supported in a condition:\n \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 wildcards will be used to\n support substring search (e.g. custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only; use to support case-insensitive\n queries (e.g. custom.country ILIKE 'usa'); also supports wildcards for substring matching\n \n \n \n Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, 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 additional search parameters. Each passed\n object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by\n braces. The first Integer value must be '0', the second '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 result is not deterministic. In order\n to retrieve a single object from a sorted result set, it is recommended to use the following code:\n queryOrders(\"\", \"custom.myAttr asc\", null).first(). The method first() returns only the\n next element and closes the iterator. This method will be deprecated in a future release. We recommend to use\n methods searchOrder(String, Object...), searchOrders(Map, String), and\n searchOrders(String, String, Object...) to search for orders, and to use method\n processOrders(Function, String, Object...) to search for and process orders in jobs.",
              "deprecated": false
            },
            "queryOrders": {
              "name": "queryOrders",
              "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": "one or more arguments 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 order instances. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured using a simple query language, which provides most common filter and operator\n functionality. When implementing order history functionality, don't use the search or query methods in this\n class. Instead, use OrderHistory.getOrders(String, String, Object...).\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The following operators are supported in a condition:\n \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 wildcards will be used to\n support substring search (e.g. custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only; use to support case-insensitive\n queries (e.g. custom.country ILIKE 'usa'); also supports wildcards for substring matching\n \n \n \n Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, 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 additional search parameters. Each passed\n object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by\n braces. The first Integer value must be '0', the second '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 attribute names to sort by.\n Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default\n sorting direction is ascending, if no direction was specified.\n \n \n Example: age desc, name\n \n \n Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.\n \n \n Sometimes it is desired to get all instances of a specified type with a special sorting condition. This can be\n easily done by providing the 'type' of the custom object and the 'sortString' in combination with an empty\n 'queryString', e.g. queryOrders(\"sample\", \"\", \"custom.myAttr asc\").\n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.\n \n \n This method will be deprecated in a future release. We recommend to use methods\n searchOrder(String, Object...), searchOrders(Map, String), and\n searchOrders(String, String, Object...) to search for orders, and to use the method\n processOrders(Function, String, Object...) to search for and process orders in jobs.",
              "deprecated": false
            },
            "queryOrders0": {
              "name": "queryOrders",
              "args": [
                {
                  "name": "queryAttributes",
                  "description": "a set of 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 order instances. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured with a map, which converts key-value pairs into a query expression. The key-value\n pairs are turned into a sequence of '=' or 'like' conditions, which are combined with AND statements. When\n implementing order history functionality, don't use the search or query methods in this class. Instead, use\n OrderHistory.getOrders(String, String, Object...).\n \n \n Example:\n \n \n A map with the key/value pairs: 'name'/'tom*', 'age'/66 will be converted as follows:\n \"name like 'tom*' and age = 66\"\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The sorting parameter is optional and may contain a comma-separated list of attribute names to sort by.\n Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default\n sorting direction is ascending, if no direction was specified.\n \n \n Example: age desc, name\n \n \n Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.\n \n \n It is strongly recommended to call the SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.\n \n \n This method will be deprecated in a future release. We recommend to use methods\n searchOrder(String, Object...), searchOrders(Map, String), and\n searchOrders(String, String, Object...) to search for orders, and to use method\n processOrders(Function, String, Object...) to search for and process orders in jobs.",
              "deprecated": false
            },
            "searchOrder": {
              "name": "searchOrder",
              "args": [
                {
                  "name": "queryString",
                  "description": "the query string that is used to locate the order.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "one or more arguments to apply.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "Order",
                "description": "the order that was found when executing the queryString."
              },
              "description": "Searches for a single order instance. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured using a simple query language, which provides most common filter and operator\n functionality.\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The following operators are supported in a condition:\n \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 wildcards will be used to\n support substring search (e.g. custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only; use to support case-insensitive\n queries (e.g. custom.country ILIKE 'usa'), also supports wildcards for substring matching\n \n \n \n Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, 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 additional search parameters. Each passed\n object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by\n braces. The first Integer value must be '0', the second '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 result is not deterministic. In order\n to retrieve a single object from a sorted result set, it is recommended to use the following code:\n queryOrders(\"\", \"custom.myAttr asc\", null).first(). The method first() returns only the\n next element and closes the iterator.\n \n \n If the order search API is configured to use the new Search Service, the following differences apply:\n \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\n 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\n on how they are combined\n using logical operators may result in degraded performance, depending on how they are combined\n \n \n \n Order search index updates are asynchronous, triggered only by committing changes to the underlying system.",
              "deprecated": false
            },
            "searchOrders": {
              "name": "searchOrders",
              "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": "one or more arguments 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 order instances. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured using a simple query language, which provides most common filter and operator\n functionality. When implementing order history functionality, don't use the search or query methods in this\n class. Instead, use OrderHistory.getOrders(String, String, Object...).\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The following operators are supported in a condition:\n \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 wildcards will be used to\n support substring search (e.g. custom.country LIKE 'US*')\n ILIKE Caseindependent Like - String types and Email only; use to support case-insensitive\n queries (e.g. custom.country ILIKE 'usa'); also supports wildcards for substring matching\n \n Note that wildcards are not supported by Search Service.\n \n \n Conditions can be combined using logical expressions 'AND', 'OR', and 'NOT', and nested using parentheses, 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 additional search parameters. Each passed\n object is related to a placeholder in the query string. The placeholder must be an Integer that is surrounded by\n braces. The first Integer value must be '0', the second '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 attribute names to sort by.\n Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default\n sorting direction is ascending, if no direction was specified.\n \n \n Example: age desc, name\n \n \n Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.\n \n \n Sometimes it is desired to get all instances of a specified type with a special sorting condition. This can be\n easily done by providing the 'type' of the custom object and the 'sortString' in combination with an empty\n 'queryString', e.g. queryOrders(\"sample\", \"\", \"custom.myAttr asc\").\n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.\n \n \n If the order search API is configured to use the new Search Service, the following differences apply:\n \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\n 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\n on how they are combined\n using logical operators may result in degraded performance, depending on how they are combined\n the result is limited to a maximum of 1000 orders\n \n \n \n Order search index updates are asynchronous, triggered only by committing changes to the underlying system.",
              "deprecated": false
            },
            "searchOrders0": {
              "name": "searchOrders",
              "args": [
                {
                  "name": "queryAttributes",
                  "description": "a set of 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 order instances. Order access in the storefront can be limited; see the class description.\n \n \n The search can be configured with a map, which converts key-value pairs into a query expression. The key-value\n pairs are turned into a sequence of '=' or 'like' conditions, which are combined with AND statements.\n \n \n Example:\n \n \n A map with the key/value pairs: 'name'/'tom*', 'age'/66 will be converted as follows:\n \"name like 'tom*' and age = 66\" Note that wildcards are not supported by Search Service.\n \n \n The identifier for an attribute to use in a query condition is always the ID of the attribute as defined\n in the type definition. For custom-defined attributes, the prefix 'custom' is required in the search term (e.g.\n custom.color = {1}), while for system attributes no prefix is used (e.g. name = {4}).\n \n \n Supported attribute value types with sample expression values:\n \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\n 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 \n \n \n The following types of attributes are not queryable:\n \n Image\n HTML\n Text\n Quantity\n Password\n \n \n \n Note that some system attributes are not queryable by default, regardless of the actual value type code.\n \n \n The sorting parameter is optional and may contain a comma-separated list of attribute names to sort by.\n Each sort attribute name may be followed by an optional sort direction specifier ('asc' | 'desc'). The default\n sorting direction is ascending, if no direction was specified.\n \n \n Example: age desc, name\n \n \n Please note that specifying a localized custom attribute as the sorting attribute is currently not supported.\n \n \n It is strongly recommended to call SeekableIterator.close() on the returned\n SeekableIterator if not all of its elements are being retrieved. This will ensure the proper cleanup of system\n resources.\n \n \n If the order search API is configured to use the new Search Service, the following differences apply:\n \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\n 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\n on how they are combined\n using logical operators may result in degraded performance, depending on how they are combined\n the result is limited to a maximum of 1000 orders\n \n \n \n Order search index updates are asynchronous, triggered only by committing changes to the underlying system.",
              "deprecated": false
            },
            "undoCancelOrder": {
              "name": "undoCancelOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order on which to undo the cancel cancelOrder(Order)",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with one of the error codes described above"
              },
              "description": "This method is used to turn a CANCELLED order into an OPEN order.\n \n \n The specified order must be a cancelled order (Order.ORDER_STATUS_CANCELLED). The method will\n reserve inventory for all product line items, and create redemptions for all coupons. If successful, the status\n of the order will be changed to Order.ORDER_STATUS_OPEN. If the order contains product or gift\n certificate line items associated with product list items, records of the purchase of the product list items will\n be recreated.\n \n \n If the undoCancelOrder call fails, the transaction is marked as ‘rollback only’ – all changes in the associated\n transaction will no longer be committed.\n \n \n Possible error status codes are:\n \n OrderProcessStatusCodes.COUPON_INVALID - coupon is not active anymore or maximum amount of\n redemptions is reached\n OrderProcessStatusCodes.ORDER_NOT_CANCELLED - order is not in status\n Order.ORDER_STATUS_CANCELLED\n OrderProcessStatusCodes.INVENTORY_RESERVATION_FAILED - Inventory reservation for the order failed. In\n cases when availability is too low then undoCancel or undoFail results in a reservation failure. This can be\n avoided using the order site preferences to specifically allow overselling. See order site preferences under\n \"Constraints for Undoing Failed/Cancelled Orders\".",
              "deprecated": false
            },
            "undoFailOrder": {
              "name": "undoFailOrder",
              "args": [
                {
                  "name": "order",
                  "description": "the order on which to undo the fail failOrder(Order)",
                  "class": {
                    "name": "Order"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Status",
                "description": "Status 'OK' or 'ERROR' with one of the error codes described above"
              },
              "description": "This method is used to turn a FAILED order into a CREATED order.\n \n \n The specified order must be a failed order (Order.ORDER_STATUS_FAILED). The method will reserve\n inventory for all product line items, and create redemptions for all coupons. If successful, the status of the\n order will be changed to Order.ORDER_STATUS_CREATED.\n \n \n If the undoFailOrder call fails, the transaction is marked as ‘rollback only’ – all changes in the associated\n transaction will no longer be committed.\n \n \n Possible error status codes are:\n \n OrderProcessStatusCodes.COUPON_INVALID - coupon is not active anymore or maximum amount of\n redemptions is reached\n OrderProcessStatusCodes.ORDER_NOT_FAILED - order is not in status\n Order.ORDER_STATUS_FAILED\n OrderProcessStatusCodes.INVENTORY_RESERVATION_FAILED - Inventory reservation for the order failed. In\n cases when availability is too low then undoCancel or undoFail results in a reservation failure. This can be\n avoided using the order site preferences to specifically allow overselling. See order site preferences under\n \"Constraints for Undoing Failed/Cancelled Orders\".",
              "deprecated": false
            }
          }
        },
        "OrderPaymentInstrument": {
          "fullClassName": "dw.order.OrderPaymentInstrument",
          "package": "dw.order",
          "description": "Represents any payment instrument used to pay orders, such as credit card\n or bank transfer. The object defines standard methods for credit card\n 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 associated with a bank account if the calling\n 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 identical to the customer related to the basket\n or order, and the current protocol is HTTPS.\n \n \n If the method call happens in the context of the business manager and the\n current user has permission to the Orders module.\n \n \n Otherwise, the method throws an exception.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountNumber": {
              "name": "bankAccountNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The 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 and\n the current customer is identical to the customer related to the basket\n or order, and the current protocol is HTTPS.\n \n \n If the method call happens in the context of the business manager and the\n current user has permissions to the Orders module.\n \n \n Otherwise, the method throws an exception.",
              "deprecated": false,
              "type": "property"
            },
            "capturedAmount": {
              "name": "capturedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the captured amounts. The captured amounts\n are calculated on the fly. Associate a payment capture for an Payment Instrument with an Invoice\n using Invoice method addCaptureTransaction.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardNumber": {
              "name": "creditCardNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The de-crypted creditcard 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 and\n the current authenticated customer is referenced by the basket or order, and the current protocol is HTTPS.\n \n \n If the customer is anonymous, and the order references this customer, and the protocol is secure and\n the order status is CREATED.\n \n \n If the method call happens in the context of the business manager and the\n current user has the permission to manage orders.\n \n \n If the payment information has not been masked as a result of the data retention security policy\n for the site.\n \n \n Otherwise, the method returns the masked credit card number.",
              "deprecated": false,
              "type": "property"
            },
            "paymentTransaction": {
              "name": "paymentTransaction",
              "class": {
                "name": "PaymentTransaction"
              },
              "static": false,
              "readonly": true,
              "description": "The Payment Transaction for this Payment Instrument or null.",
              "deprecated": false,
              "type": "property"
            },
            "refundedAmount": {
              "name": "refundedAmount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of the refunded amounts. The refunded amounts\n are calculated on the fly. Associate a payment refund for an Payment Instrument with an Invoice\n using Invoice method addRefundTransaction.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBankAccountDriversLicense": {
              "name": "getBankAccountDriversLicense",
              "args": [],
              "class": {
                "name": "String",
                "description": "the driver's license number if the calling context meets the necessary criteria."
              },
              "description": "Returns the driver's license associated with a bank account if the calling\n 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 identical to the customer related to the basket\n or order, and the current protocol is HTTPS.\n \n \n If the method call happens in the context of the business manager and the\n current user has permission to the Orders module.\n \n \n Otherwise, the method throws an exception.",
              "deprecated": false
            },
            "getBankAccountNumber": {
              "name": "getBankAccountNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the account number if the calling context meets the necessary criteria."
              },
              "description": "Returns the 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 and\n the current customer is identical to the customer related to the basket\n or order, and the current protocol is HTTPS.\n \n \n If the method call happens in the context of the business manager and the\n current user has permissions to the Orders module.\n \n \n Otherwise, the method throws an exception.",
              "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\n are calculated on the fly. Associate a payment capture for an Payment Instrument with an Invoice\n using Invoice method addCaptureTransaction.",
              "deprecated": false
            },
            "getCreditCardNumber": {
              "name": "getCreditCardNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the de-crypted creditcard number if the calling context meets the necessary criteria."
              },
              "description": "Returns the de-crypted creditcard 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 and\n the current authenticated customer is referenced by the basket or order, and the current protocol is HTTPS.\n \n \n If the customer is anonymous, and the order references this customer, and the protocol is secure and\n the order status is CREATED.\n \n \n If the method call happens in the context of the business manager and the\n current user has the permission to manage orders.\n \n \n If the payment information has not been masked as a result of the data retention security policy\n for the site.\n \n \n Otherwise, the method returns the masked credit card number.",
              "deprecated": false
            },
            "getPaymentTransaction": {
              "name": "getPaymentTransaction",
              "args": [],
              "class": {
                "name": "PaymentTransaction",
                "description": "the Payment Transaction for this Payment Instrument or null."
              },
              "description": "Returns the Payment Transaction for this Payment Instrument or null.",
              "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\n are calculated on the fly. Associate a payment refund for an Payment Instrument with an Invoice\n using Invoice method addRefundTransaction.",
              "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": {}
        },
        "PaymentCard": {
          "fullClassName": "dw.order.PaymentCard",
          "package": "dw.order",
          "description": "Represents payment cards and provides methods to access the payment card\n attributes and status.\n <p>\n <b>Note:</b> this class 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": {
            "active": {
              "name": "active",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if payment card is active (enabled), otherwise 'false' is returned.",
              "deprecated": false,
              "type": "property"
            },
            "cardType": {
              "name": "cardType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique card type of the payment card.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the payment card.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The reference to the payment card image.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the payment card.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCardType": {
              "name": "getCardType",
              "args": [],
              "class": {
                "name": "String",
                "description": "cardType of the payment card."
              },
              "description": "Returns the unique card type of the payment card.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Description of the payment card."
              },
              "description": "Returns the description of the payment card.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "Image of the payment card."
              },
              "description": "Returns the reference to the payment card image.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "Name of the payment card."
              },
              "description": "Returns the name of the payment card.",
              "deprecated": false
            },
            "isActive": {
              "name": "isActive",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if payment card is active, otherwise false."
              },
              "description": "Returns 'true' if payment card is active (enabled), otherwise 'false' is returned.",
              "deprecated": false
            },
            "isApplicable": {
              "name": "isApplicable",
              "args": [
                {
                  "name": "customer",
                  "description": "Customer or null",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "countryCode",
                  "description": "Billing country code or null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "paymentAmount",
                  "description": "Payment amount or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if payment card is applicable, false otherwise"
              },
              "description": "Returns 'true' if this payment card is applicable for the specified\n customer, country and payment amount and the session currency.\n \n\n The payment card is applicable if\n \n the card is restricted by customer group, and at least one of the\n groups of the specified customer is assigned to the card\n the card is restricted by billing country, and the specified country\n code is assigned to the card\n the method is restricted by payment amount for the session currency,\n and the specified payment amount is within the limits of the min/max\n payment amount defined for the method and the session currency\n the method is restricted by session currency, and the session\n currency code is assigned to the method\n \n\n All parameters are optional, and if not specified, the respective\n restriction won't be validated. For example, if a card is restricted by\n billing country, but no country code is specified, this card will be\n returned, unless it is filtered out by customer group or payment amount.",
              "deprecated": false
            },
            "verify": {
              "name": "verify",
              "args": [
                {
                  "name": "expiresMonth",
                  "description": "expiration month as integer, 1 (January) to 12 (December)",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "expiresYear",
                  "description": "expiration year as integer, e.g. 2025",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "cardNumber",
                  "description": "card number, a string containing digital characters",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "status indicating result"
              },
              "description": "Verify the card against the provided values. This method is equivalent to\n verify(Number, Number, String, String) but omits verification of the\n card security code. If the verification fails the resulting\n Status will hold up to 2 error items each with a code:\n\n \n PaymentStatusCodes.CREDITCARD_INVALID_EXPIRATION_DATE - the expiresMonth and expiresYear do not describe a\n month in the future, or describe an invalid month outside the range 1-12.\n PaymentStatusCodes.CREDITCARD_INVALID_CARD_NUMBER - the cardNumber does not verify against one or more configured\n checks, which may include the Luhn checksum, accepted number lengths, or accepted number prefixes.",
              "deprecated": false
            },
            "verify0": {
              "name": "verify",
              "args": [
                {
                  "name": "expiresMonth",
                  "description": "expiration month as integer, 1 (January) to 12 (December)",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "expiresYear",
                  "description": "expiration year as integer, e.g. 2025",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "cardNumber",
                  "description": "card number, a string containing digital characters",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "csc",
                  "description": "card security code, a string containing digital characters",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "status indicating result"
              },
              "description": "Verify the card against the provided values. If the verification fails the resulting\n Status will hold up to 3 error items with these codes:\n\n \n PaymentStatusCodes.CREDITCARD_INVALID_EXPIRATION_DATE  - the expiresMonth and expiresYear do not describe a\n month in the future, or describe an invalid month outside the range 1-12.\n PaymentStatusCodes.CREDITCARD_INVALID_CARD_NUMBER - the cardNumber does not verify against one or more configured\n checks, which may include the Luhn checksum, accepted number lengths, or accepted number prefixes.\n PaymentStatusCodes.CREDITCARD_INVALID_SECURITY_CODE - the card security code does not verify against the configured\n accepted length.",
              "deprecated": false
            }
          }
        },
        "PaymentInstrument": {
          "fullClassName": "dw.order.PaymentInstrument",
          "package": "dw.order",
          "description": "Base class for payment instrument either stored in the customers profile\n or related to an order. A payment instrument can be credit card\n or bank transfer. The object defines standard methods for credit card\n payment, and can be extended by attributes appropriate for other\n payment methods.\n <p>\n <b>Note:</b> this class 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"
            },
            {
              "name": "dw.customer.EncryptedObject"
            }
          ],
          "constants": {
            "ENCRYPTION_ALGORITHM_RSA": {
              "name": "ENCRYPTION_ALGORITHM_RSA",
              "value": "\"RSA\"",
              "class": {
                "name": "String"
              },
              "description": "The outdated encryption algorithm \"RSA/ECB/PKCS1Padding\". Please do not use anymore!",
              "deprecated": true,
              "type": "constant"
            },
            "ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING": {
              "name": "ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA_256ANDMGF1PADDING",
              "value": "\"RSA/ECB/OAEPWithSHA-256AndMGF1Padding\"",
              "class": {
                "name": "String"
              },
              "description": "The encryption algorithm \"RSA/ECB/OAEPWithSHA-256AndMGF1Padding\".",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_BANK_TRANSFER": {
              "name": "METHOD_BANK_TRANSFER",
              "value": "\"BANK_TRANSFER\"",
              "class": {
                "name": "String"
              },
              "description": "Represents a bank transfer type of payment.",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_BML": {
              "name": "METHOD_BML",
              "value": "\"BML\"",
              "class": {
                "name": "String"
              },
              "description": "Represents a 'bill me later' type of payment.",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_CREDIT_CARD": {
              "name": "METHOD_CREDIT_CARD",
              "value": "\"CREDIT_CARD\"",
              "class": {
                "name": "String"
              },
              "description": "Represents a credit card type of payment.",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_DW_ANDROID_PAY": {
              "name": "METHOD_DW_ANDROID_PAY",
              "value": "\"DW_ANDROID_PAY\"",
              "class": {
                "name": "String"
              },
              "description": "Represents an Android Pay payment.",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_DW_APPLE_PAY": {
              "name": "METHOD_DW_APPLE_PAY",
              "value": "\"DW_APPLE_PAY\"",
              "class": {
                "name": "String"
              },
              "description": "Represents an Apple Pay payment.",
              "deprecated": false,
              "type": "constant"
            },
            "METHOD_GIFT_CERTIFICATE": {
              "name": "METHOD_GIFT_CERTIFICATE",
              "value": "\"GIFT_CERTIFICATE\"",
              "class": {
                "name": "String"
              },
              "description": "Represents a gift certificate.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "bankAccountDriversLicense": {
              "name": "bankAccountDriversLicense",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The driver's license number associated with the bank account if the\n calling context meets the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a storefront request, and the current customer is identical\n to the customer related to the basket, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked driver's license number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountDriversLicenseLastDigits": {
              "name": "bankAccountDriversLicenseLastDigits",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The last 4 characters of the decrypted driver's license number of\n the bank account associated with this PaymentInstrument.\n\n If the number is empty or null\n it will be returned without an exception.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountDriversLicenseStateCode": {
              "name": "bankAccountDriversLicenseStateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The driver's license state code associated with a bank account payment instrument.\n Returns null for other payment methods.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountHolder": {
              "name": "bankAccountHolder",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The full name of the holder of a bank account payment instrument.\n Returns null for other payment methods.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountNumber": {
              "name": "bankAccountNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The bank account number if the calling context meets\n the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a storefront request, and the current customer is identical\n to the customer related to the basket, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked bank account number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false,
              "type": "property"
            },
            "bankAccountNumberLastDigits": {
              "name": "bankAccountNumberLastDigits",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The last 4 characters of the decrypted bank account number.\n\n If the number is empty or null,\n it will be returned without an exception.",
              "deprecated": false,
              "type": "property"
            },
            "bankRoutingNumber": {
              "name": "bankRoutingNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The bank routing number of a bank account payment instrument.\n Returns null for other payment methods.\n\n If account information has been masked due to the data retention security\n policy for the site, the return value is fully masked.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardExpirationMonth": {
              "name": "creditCardExpirationMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The month of the year in which the credit card\n expires (1-12).",
              "deprecated": false,
              "type": "property"
            },
            "creditCardExpirationYear": {
              "name": "creditCardExpirationYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The year in which the credit card\n expires, such as '2004'.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardExpired": {
              "name": "creditCardExpired",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this payment instrument represents an expired credit\n card. This check is only logical if the credit card expiration month and\n year are set. If either of these attributes are not set, then this method\n always returns false.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardHolder": {
              "name": "creditCardHolder",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The name of the credit card owner.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardIssueNumber": {
              "name": "creditCardIssueNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The credit card issue number.  This attribute is only used by\n specific credit/debit card processors such as Solo and Switch in the UK.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardNumber": {
              "name": "creditCardNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The decrypted credit card number if the calling context meets\n the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrument in the context of a storefront request, and\n the current authenticated customer is referenced by the basket or order, and\n the current protocol is HTTPS.\n \n \n If the customer is anonymous, and the customer is referenced by the order, and the protocol is secure and\n the order status is CREATED.\n \n \n If the instance is a OrderPaymentInstrument, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrument, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked credit card number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardNumberLastDigits": {
              "name": "creditCardNumberLastDigits",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The last 4 characters of the decrypted credit card number.\n\n If the number is empty or null\n it will be returned without an exception.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardToken": {
              "name": "creditCardToken",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Secure credit card data can be replaced by a token by utilizing a\n tokenization provider, which securely stores the credit card data using\n the token as a key. The stored data can later reused by including the\n token in a request. In this way credit card processes such as\n authorization and capture can be implemented without being responsible\n for persisting the credit card data.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardType": {
              "name": "creditCardType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The type of the credit card.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardValidFromMonth": {
              "name": "creditCardValidFromMonth",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The month of the year in which the credit card became\n valid (1-12).  This attribute is not used by all credit card types.",
              "deprecated": false,
              "type": "property"
            },
            "creditCardValidFromYear": {
              "name": "creditCardValidFromYear",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The year in which the credit card became valid, such as '2001'.\n This attribute is not used by all credit card types.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateCode": {
              "name": "giftCertificateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The Gift Certificate code for this Payment Instrument.",
              "deprecated": false,
              "type": "property"
            },
            "giftCertificateID": {
              "name": "giftCertificateID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The Gift Certificate ID for this Payment Instrument.",
              "deprecated": true,
              "type": "property"
            },
            "maskedBankAccountDriversLicense": {
              "name": "maskedBankAccountDriversLicense",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The decrypted driver's license number of the bank account with\n all but the last 4 characters replaced with a '*' character.\n\n If the driver's license number is empty,\n it will be returned without an exception.",
              "deprecated": false,
              "type": "property"
            },
            "maskedBankAccountNumber": {
              "name": "maskedBankAccountNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The decrypted bank account number with\n all but the last 4 characters replaced with a '*' character.\n\n If the number is empty (i.e. \"\" or null),\n it will be returned without an exception.",
              "deprecated": false,
              "type": "property"
            },
            "maskedCreditCardNumber": {
              "name": "maskedCreditCardNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The decrypted credit card number with\n all but the last 4 characters replaced with a '*' character.\n\n If the number is empty,\n it will be returned without an exception.",
              "deprecated": false,
              "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"
            },
            "paymentMethod": {
              "name": "paymentMethod",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The identifier of the payment method represented by this\n payment instrument.",
              "deprecated": false,
              "type": "property"
            },
            "permanentlyMasked": {
              "name": "permanentlyMasked",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the account information for this Payment Instrument\n has been permanently masked as a result of the data retention security policy\n for the site or a creditcard tokenization, and false otherwise.\n\n When account information is masked only the last 4 digits of the credit card\n or bank account number are recoverable.  The bank account driver's license number\n and bank routing number are completely masked.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBankAccountDriversLicense": {
              "name": "getBankAccountDriversLicense",
              "args": [],
              "class": {
                "name": "String",
                "description": "the driver's license number if the calling context meets the necessary criteria."
              },
              "description": "Returns the driver's license number associated with the bank account if the\n calling context meets the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a storefront request, and the current customer is identical\n to the customer related to the basket, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked driver's license number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false
            },
            "getBankAccountDriversLicenseLastDigits": {
              "name": "getBankAccountDriversLicenseLastDigits",
              "args": [],
              "class": {
                "name": "String",
                "description": "the last 4 characters of the de-crypted driver's license number."
              },
              "description": "Returns the last 4 characters of the decrypted driver's license number of\n the bank account associated with this PaymentInstrument.\n\n If the number is empty or null\n it will be returned without an exception.",
              "deprecated": false
            },
            "getBankAccountDriversLicenseLastDigits0": {
              "name": "getBankAccountDriversLicenseLastDigits",
              "args": [
                {
                  "name": "count",
                  "description": "number of characters to be returned.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the last specified number of characters of the decrypted driver's license number."
              },
              "description": "Returns the last specified number of characters of the decrypted driver's license number of\n the bank account associated with this PaymentInstrument.\n\n If the number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that count is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "getBankAccountDriversLicenseStateCode": {
              "name": "getBankAccountDriversLicenseStateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the state in which the bank account driver's license was issued."
              },
              "description": "Returns the driver's license state code associated with a bank account payment instrument.\n Returns null for other payment methods.",
              "deprecated": false
            },
            "getBankAccountHolder": {
              "name": "getBankAccountHolder",
              "args": [],
              "class": {
                "name": "String",
                "description": "the bank account holder's full name."
              },
              "description": "Returns the full name of the holder of a bank account payment instrument.\n Returns null for other payment methods.",
              "deprecated": false
            },
            "getBankAccountNumber": {
              "name": "getBankAccountNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the bank account number if the calling context meets the necessary criteria."
              },
              "description": "Returns the bank account number if the calling context meets\n the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a storefront request, and the current customer is identical\n to the customer related to the basket, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrumentInfo, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked bank account number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false
            },
            "getBankAccountNumberLastDigits": {
              "name": "getBankAccountNumberLastDigits",
              "args": [],
              "class": {
                "name": "String",
                "description": "the last 4 characters of the decrypted bank account number."
              },
              "description": "Returns the last 4 characters of the decrypted bank account number.\n\n If the number is empty or null,\n it will be returned without an exception.",
              "deprecated": false
            },
            "getBankAccountNumberLastDigits0": {
              "name": "getBankAccountNumberLastDigits",
              "args": [
                {
                  "name": "count",
                  "description": "number of characters to be returned.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the last specified characters of the decrypted bank account number."
              },
              "description": "Returns the last specified number of characters of the decrypted bank account card number.\n\n If the number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that count is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "getBankRoutingNumber": {
              "name": "getBankRoutingNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the bank account rounting number."
              },
              "description": "Returns the bank routing number of a bank account payment instrument.\n Returns null for other payment methods.\n\n If account information has been masked due to the data retention security\n policy for the site, the return value is fully masked.",
              "deprecated": false
            },
            "getCreditCardExpirationMonth": {
              "name": "getCreditCardExpirationMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the month of the year in which the credit card expires (1-12)."
              },
              "description": "Returns the month of the year in which the credit card\n expires (1-12).",
              "deprecated": false
            },
            "getCreditCardExpirationYear": {
              "name": "getCreditCardExpirationYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the year in which the credit card expires."
              },
              "description": "Returns the year in which the credit card\n expires, such as '2004'.",
              "deprecated": false
            },
            "getCreditCardHolder": {
              "name": "getCreditCardHolder",
              "args": [],
              "class": {
                "name": "String",
                "description": "the name of the credit card owner."
              },
              "description": "Returns the name of the credit card owner.",
              "deprecated": false
            },
            "getCreditCardIssueNumber": {
              "name": "getCreditCardIssueNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the credit card issue number"
              },
              "description": "Returns the credit card issue number.  This attribute is only used by\n specific credit/debit card processors such as Solo and Switch in the UK.",
              "deprecated": false
            },
            "getCreditCardNumber": {
              "name": "getCreditCardNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the decrypted credit card number if the calling context meets the necessary criteria."
              },
              "description": "Returns the decrypted credit card number if the calling context meets\n the following criteria: \n \n \n If the instance is a CustomerPaymentInstrument, and\n we are in the context of a storefront request, and the current customer\n is registered and authenticated, and the payment instrument is associated\n to the profile of the current customer, and the current protocol is HTTPS\n \n \n If the instance is a OrderPaymentInstrument in the context of a storefront request, and\n the current authenticated customer is referenced by the basket or order, and\n the current protocol is HTTPS.\n \n \n If the customer is anonymous, and the customer is referenced by the order, and the protocol is secure and\n the order status is CREATED.\n \n \n If the instance is a OrderPaymentInstrument, and we are in\n the context of a business manager request, and the current user has the\n permission MANAGE_ORDERS\n \n \n If the instance is a OrderPaymentInstrument, and the account information\n has not been masked as a result of the data retention security policy\n for the site\n \n \n \n Otherwise, the method returns the masked credit card number. If a basket is reopened with\n OrderMgr.failOrder(Order, Boolean), it always masks sensitive information\n because during order creation, basket payment information is permanently masked.",
              "deprecated": false
            },
            "getCreditCardNumberLastDigits": {
              "name": "getCreditCardNumberLastDigits",
              "args": [],
              "class": {
                "name": "String",
                "description": "the last 4 characters of the de-crypted credit card number."
              },
              "description": "Returns the last 4 characters of the decrypted credit card number.\n\n If the number is empty or null\n it will be returned without an exception.",
              "deprecated": false
            },
            "getCreditCardNumberLastDigits0": {
              "name": "getCreditCardNumberLastDigits",
              "args": [
                {
                  "name": "count",
                  "description": "number of characters to be returned.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the last specified number of characters of the decrypted credit card number."
              },
              "description": "Returns the last specified number of characters of the decrypted credit card number.\n\n If the number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that count is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "getCreditCardToken": {
              "name": "getCreditCardToken",
              "args": [],
              "class": {
                "name": "String",
                "description": "the token"
              },
              "description": "Secure credit card data can be replaced by a token by utilizing a\n tokenization provider, which securely stores the credit card data using\n the token as a key. The stored data can later reused by including the\n token in a request. In this way credit card processes such as\n authorization and capture can be implemented without being responsible\n for persisting the credit card data.",
              "deprecated": false
            },
            "getCreditCardType": {
              "name": "getCreditCardType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the type of the credit card."
              },
              "description": "Returns the type of the credit card.",
              "deprecated": false
            },
            "getCreditCardValidFromMonth": {
              "name": "getCreditCardValidFromMonth",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the month of the year in which the credit card became valid (1-12)."
              },
              "description": "Returns the month of the year in which the credit card became\n valid (1-12).  This attribute is not used by all credit card types.",
              "deprecated": false
            },
            "getCreditCardValidFromYear": {
              "name": "getCreditCardValidFromYear",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the year in which the credit card became valid"
              },
              "description": "Returns the year in which the credit card became valid, such as '2001'.\n This attribute is not used by all credit card types.",
              "deprecated": false
            },
            "getEncryptedBankAccountDriversLicense": {
              "name": "getEncryptedBankAccountDriversLicense",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:  ENCRYPTION_ALGORITHM_RSA – outdated, please do not use anymore  ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING – the current algorithm",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A Base64 encoded form of the public key to be used to encrypt this bank account driver's license number. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the Base64 encoded representation of the bank account driver's license."
              },
              "description": "Encrypts the driver's license number of the bank account of this object with the given algorithm and the given\n public key. Returned is the Base64 encoded representation of the result.\n \n See also Cipher.encrypt(String, String, String, String, Number) on how to generate RSA key\n pairs.\n \n If account information has been masked due to the data retention security policy for the site, the returned value\n is the Base64 encoded representation of the encrypted form of the masked number.",
              "deprecated": false
            },
            "getEncryptedBankAccountNumber": {
              "name": "getEncryptedBankAccountNumber",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:  ENCRYPTION_ALGORITHM_RSA – outdated, please do not use anymore  ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING – the current algorithm",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A Base64 encoded form of the public key to be used to encrypt this credit card number. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the Base64 encoded representation of the bank account number."
              },
              "description": "Encrypts the bank account number of this object with the given algorithm and the given public key. Returned is\n the Base64 encoded representation of the result.\n \n If account information has been masked due to the data retention security policy for the site, the returned value\n is the Base64 encoded representation of the encrypted form of the masked number.",
              "deprecated": false
            },
            "getEncryptedCreditCardNumber": {
              "name": "getEncryptedCreditCardNumber",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:  ENCRYPTION_ALGORITHM_RSA – outdated, please do not use anymore  ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING – the current algorithm",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A Base64 encoded form of the public key to be used to encrypt this credit card number. Must be a valid, non-blank key.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the Base64 encoded representation of the credit card number."
              },
              "description": "Encrypts the credit card number of this object with the given algorithm and the given public key. Returned is the\n Base64 encoded representation of the result.\n \n See also Cipher.encrypt(String, String, String, String, Number) on how to generate RSA key\n pairs.\n \n If account information has been masked due to the data retention security policy for the site, the returned value\n is the Base64 encoded representation of the encrypted form of the masked number.",
              "deprecated": true
            },
            "getEncryptedCreditCardNumber0": {
              "name": "getEncryptedCreditCardNumber",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The algorithm to be used for the encryption of this credit card number. Must be a valid, non-null algorithm. Currently, only the following algorithms are supported:  ENCRYPTION_ALGORITHM_RSA – outdated, please do not use anymore  ENCRYPTION_ALGORITHM_RSA_ECB_OAEPWITHSHA56ANDMGF1PADDING – the current algorithm",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "certificateRef",
                  "description": "A reference to a trusted certificate entry containing the public key in the keystore. Must be non-null.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the Base64 encoded representation of the credit card number."
              },
              "description": "Encrypts the credit card number of this object with the given algorithm and the public key taken from a\n certificate in the keystore. Returned is the Base64 encoded representation of the result.\n \n See also Cipher.encrypt(String, CertificateRef, String, String, Number) on how to generate RSA\n key pairs.\n \n If account information has been masked due to the data retention security policy for the site, the returned value\n is the Base64 encoded representation of the encrypted form of the masked number.",
              "deprecated": false
            },
            "getGiftCertificateCode": {
              "name": "getGiftCertificateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Gift Certificate code or null if not set."
              },
              "description": "Returns the Gift Certificate code for this Payment Instrument.",
              "deprecated": false
            },
            "getGiftCertificateID": {
              "name": "getGiftCertificateID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Gift Certificate ID or null if not set."
              },
              "description": "Returns the Gift Certificate ID for this Payment Instrument.",
              "deprecated": true
            },
            "getMaskedBankAccountDriversLicense": {
              "name": "getMaskedBankAccountDriversLicense",
              "args": [],
              "class": {
                "name": "String",
                "description": "the decrypted driver's license number with all but the last 4 characters replaced with a '*' character."
              },
              "description": "Returns the decrypted driver's license number of the bank account with\n all but the last 4 characters replaced with a '*' character.\n\n If the driver's license number is empty,\n it will be returned without an exception.",
              "deprecated": false
            },
            "getMaskedBankAccountDriversLicense0": {
              "name": "getMaskedBankAccountDriversLicense",
              "args": [
                {
                  "name": "ignore",
                  "description": "the number of characters to leave unmasked.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the decrypted driver's license number with all but the specified number characters replaced with a '*' character."
              },
              "description": "Returns the decrypted driver's license number of the bank account with\n all but the specified number characters replaced with a '*' character.\n\n If the driver's license number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that ignore is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "getMaskedBankAccountNumber": {
              "name": "getMaskedBankAccountNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the decrypted bank account number with all but the last 4 characters replaced with a '*' character."
              },
              "description": "Returns the decrypted bank account number with\n all but the last 4 characters replaced with a '*' character.\n\n If the number is empty (i.e. \"\" or null),\n it will be returned without an exception.",
              "deprecated": false
            },
            "getMaskedBankAccountNumber0": {
              "name": "getMaskedBankAccountNumber",
              "args": [
                {
                  "name": "ignore",
                  "description": "the number of characters to leave unmasked",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the decrypted bank account number with all but the specified number of characters replaced with a '*' character."
              },
              "description": "Returns the decrypted bank account number with\n all but the specified number characters replaced with a '*' character.\n\n If the card number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that ignore is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "getMaskedCreditCardNumber": {
              "name": "getMaskedCreditCardNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the decrypted credit card number with all but the last 4 characters replaced with a '*' character."
              },
              "description": "Returns the decrypted credit card number with\n all but the last 4 characters replaced with a '*' character.\n\n If the number is empty,\n it will be returned without an exception.",
              "deprecated": false
            },
            "getMaskedCreditCardNumber0": {
              "name": "getMaskedCreditCardNumber",
              "args": [
                {
                  "name": "ignore",
                  "description": "the number of characters to leave unmasked.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the decrypted credit card number with all but the specified number characters replaced with a '*' character."
              },
              "description": "Returns the decrypted credit card number with\n all but the specified number characters replaced with a '*' character.\n\n If the card number is empty (i.e. \"\" or null),\n it will be returned without an exception.\n\n Note that ignore is limited to 4 in an unsecure environment,\n and if account information for this payment instrument has been masked\n due to the data retention security policy for the site.",
              "deprecated": false
            },
            "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
            },
            "getPaymentMethod": {
              "name": "getPaymentMethod",
              "args": [],
              "class": {
                "name": "String",
                "description": "the identifier of the payment method represented by this payment instrument."
              },
              "description": "Returns the identifier of the payment method represented by this\n payment instrument.",
              "deprecated": false
            },
            "isCreditCardExpired": {
              "name": "isCreditCardExpired",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this payment instrument represents an expired credit card, false otherwise"
              },
              "description": "Returns true if this payment instrument represents an expired credit\n card. This check is only logical if the credit card expiration month and\n year are set. If either of these attributes are not set, then this method\n always returns false.",
              "deprecated": false
            },
            "isPermanentlyMasked": {
              "name": "isPermanentlyMasked",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "whether or not the account information has been masked"
              },
              "description": "Returns true if the account information for this Payment Instrument\n has been permanently masked as a result of the data retention security policy\n for the site or a creditcard tokenization, and false otherwise.\n\n When account information is masked only the last 4 digits of the credit card\n or bank account number are recoverable.  The bank account driver's license number\n and bank routing number are completely masked.",
              "deprecated": false
            },
            "setBankAccountDriversLicense": {
              "name": "setBankAccountDriversLicense",
              "args": [
                {
                  "name": "license",
                  "description": "the bank account holder driver's license.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the driver's license number associated with a bank account payment instrument.",
              "deprecated": false
            },
            "setBankAccountDriversLicenseStateCode": {
              "name": "setBankAccountDriversLicenseStateCode",
              "args": [
                {
                  "name": "stateCode",
                  "description": "the state in which the bank account driver's license was issued.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the driver's license state code associated with a bank account payment instrument.",
              "deprecated": false
            },
            "setBankAccountHolder": {
              "name": "setBankAccountHolder",
              "args": [
                {
                  "name": "holder",
                  "description": "the bank account holder's full name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the full name of the holder of a bank account payment instrument.",
              "deprecated": false
            },
            "setBankAccountNumber": {
              "name": "setBankAccountNumber",
              "args": [
                {
                  "name": "accountNumber",
                  "description": "the bank account number.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the bank account number of a bank account payment instrument.",
              "deprecated": false
            },
            "setBankRoutingNumber": {
              "name": "setBankRoutingNumber",
              "args": [
                {
                  "name": "routingNumber",
                  "description": "the bank account rounting number.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the bank routing number of a bank account payment instrument.",
              "deprecated": false
            },
            "setCreditCardExpirationMonth": {
              "name": "setCreditCardExpirationMonth",
              "args": [
                {
                  "name": "aValue",
                  "description": "the month of the year in which the credit card expires. Permissible values are from 1 to 12.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the month of the year in which the credit card\n expires. Permissible values are from 1 to 12.",
              "deprecated": false
            },
            "setCreditCardExpirationYear": {
              "name": "setCreditCardExpirationYear",
              "args": [
                {
                  "name": "aValue",
                  "description": "the year in which the credit card expires.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the year in which the credit card\n expires, such as '2004'.",
              "deprecated": false
            },
            "setCreditCardHolder": {
              "name": "setCreditCardHolder",
              "args": [
                {
                  "name": "aValue",
                  "description": "the name of the credit card owner.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name of the credit card owner.",
              "deprecated": false
            },
            "setCreditCardIssueNumber": {
              "name": "setCreditCardIssueNumber",
              "args": [
                {
                  "name": "aValue",
                  "description": "the credit card issue number",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the credit card issue number.  This attribute is only used by\n specific credit/debit card processors such as Solo and Switch in the UK.",
              "deprecated": false
            },
            "setCreditCardNumber": {
              "name": "setCreditCardNumber",
              "args": [
                {
                  "name": "aValue",
                  "description": "the new value of the credit card number.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the credit card number for this payment.",
              "deprecated": false
            },
            "setCreditCardToken": {
              "name": "setCreditCardToken",
              "args": [
                {
                  "name": "token",
                  "description": "the token",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Secure credit card data can be replaced by a token by utilizing a\n tokenization provider, which securely stores the credit card data using\n the token as a key. The stored data can later reused by including the\n token in a request. In this way credit card processes such as\n authorization and capture can be implemented without being responsible\n for persisting the credit card data.\n \n An Exception will be thrown when the token is null or blank.\n \n When setting a credit card token, the account information (including the\n creditcard number) is masked and all creditcard attributes are frozen and\n an attempt to change will be result in an exception.",
              "deprecated": false
            },
            "setCreditCardType": {
              "name": "setCreditCardType",
              "args": [
                {
                  "name": "aValue",
                  "description": "the type of the credit card.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the type of the credit card.",
              "deprecated": false
            },
            "setCreditCardValidFromMonth": {
              "name": "setCreditCardValidFromMonth",
              "args": [
                {
                  "name": "aValue",
                  "description": "the month of the year in which the credit card became valid (1-12).",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the month of the year in which the credit card became valid (1-12).\n This attribute is not used by all credit card types",
              "deprecated": false
            },
            "setCreditCardValidFromYear": {
              "name": "setCreditCardValidFromYear",
              "args": [
                {
                  "name": "aValue",
                  "description": "the year in which the credit card became valid",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the year in which the credit card became valid, such as '2001'.\n This attribute is not used by all credit card types.",
              "deprecated": false
            },
            "setGiftCertificateCode": {
              "name": "setGiftCertificateCode",
              "args": [
                {
                  "name": "giftCertificateCode",
                  "description": "the Gift Certificate code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the Gift Certificate code for this Payment Instrument.",
              "deprecated": false
            },
            "setGiftCertificateID": {
              "name": "setGiftCertificateID",
              "args": [
                {
                  "name": "giftCertificateID",
                  "description": "the Gift Certificate ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the Gift Certificate ID for this Payment Instrument.",
              "deprecated": true
            }
          }
        },
        "PaymentMethod": {
          "fullClassName": "dw.order.PaymentMethod",
          "package": "dw.order",
          "description": "The PaymentMethod class represents a logical type of payment a customer can\n make in the storefront. This class provides methods to access the payment\n method attributes, status, and (for card-based payment methods) the related\n payment cards.\n <p>\n A typical storefront presents the customer a list of payment methods that a\n customer can choose from after he has entered his billing address during the\n checkout.\n <a href=\"class_dw_order_PaymentMgr.html#dw_order_PaymentMgr_getApplicablePaymentMethods_Customer_String_Number_DetailAnchor\">PaymentMgr.getApplicablePaymentMethods(Customer, String, Number)</a>\n is used to determine the PaymentMethods that are relevant for the customer\n based on the amount of his order, his customer groups, and his shipping\n address.</p>",
          "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 payment method is active (enabled), otherwise 'false' is returned.",
              "deprecated": false,
              "type": "property"
            },
            "activePaymentCards": {
              "name": "activePaymentCards",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "Returns enabled payment cards that are assigned to this payment method, regardless\n of current customer, country or payment amount restrictions.\n The payment cards are sorted as defined in the Business Manager.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "MarkupText"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the payment method.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique ID of the payment method.",
              "deprecated": false,
              "type": "property"
            },
            "image": {
              "name": "image",
              "class": {
                "name": "MediaFile"
              },
              "static": false,
              "readonly": true,
              "description": "The reference to the payment method image.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the payment method.",
              "deprecated": false,
              "type": "property"
            },
            "paymentProcessor": {
              "name": "paymentProcessor",
              "class": {
                "name": "PaymentProcessor"
              },
              "static": false,
              "readonly": true,
              "description": "The payment processor associated to this payment method.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getActivePaymentCards": {
              "name": "getActivePaymentCards",
              "args": [],
              "class": {
                "name": "List",
                "description": "List of enabled payment cards of current site"
              },
              "description": "Returns enabled payment cards that are assigned to this payment method, regardless\n of current customer, country or payment amount restrictions.\n The payment cards are sorted as defined in the Business Manager.",
              "deprecated": false
            },
            "getApplicablePaymentCards": {
              "name": "getApplicablePaymentCards",
              "args": [
                {
                  "name": "customer",
                  "description": "Customer or null",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "countryCode",
                  "description": "Billing country code or null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "paymentAmount",
                  "description": "Payment amount or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "List",
                "description": "List of applicable payment cards of this payment method"
              },
              "description": "Returns the sorted list of all enabled payment cards of this payment\n method applicable for the specified customer, country, payment amount and the session currency\n The payment cards are sorted as defined in the Business Manager. \n\n A payment card is applicable if\n \n  the card is restricted by customer group, and at least one of\n the groups of the specified customer is assigned to the card\n  the card is restricted by billing country, and the specified\n country code is assigned to the card\n the card is restricted by payment amount for the session currency,\n and the specified payment amount is within the limits of the min/max\n payment amount defined for the method and the session currency\n  the card is restricted by currency code, and the specified\n currency code matches session currency.\n \n\n All parameters are optional, and if not specified, the respective\n restriction won't be validated. For example, if a card is restricted\n by billing country, but no country code is specified, this card will\n be returned, unless it is filtered out by customer group or payment\n amount.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "MarkupText",
                "description": "Description of the payment method."
              },
              "description": "Returns the description of the payment method.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of the payment method."
              },
              "description": "Returns the unique ID of the payment method.",
              "deprecated": false
            },
            "getImage": {
              "name": "getImage",
              "args": [],
              "class": {
                "name": "MediaFile",
                "description": "Image of the payment method."
              },
              "description": "Returns the reference to the payment method image.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "Name of the payment method."
              },
              "description": "Returns the name of the payment method.",
              "deprecated": false
            },
            "getPaymentProcessor": {
              "name": "getPaymentProcessor",
              "args": [],
              "class": {
                "name": "PaymentProcessor",
                "description": "the payment processor associated to this payment method."
              },
              "description": "Returns the payment processor associated to this payment method.",
              "deprecated": false
            },
            "isActive": {
              "name": "isActive",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if payment method is active, otherwise false."
              },
              "description": "Returns 'true' if payment method is active (enabled), otherwise 'false' is returned.",
              "deprecated": false
            },
            "isApplicable": {
              "name": "isApplicable",
              "args": [
                {
                  "name": "customer",
                  "description": "Customer or null",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "countryCode",
                  "description": "Billing country code or null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "paymentAmount",
                  "description": "Payment amount or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if payment method is applicable, false otherwise"
              },
              "description": "Returns 'true' if this payment method is applicable for the specified\n customer, country and payment amount and the session currency.\n \n\n The payment method is applicable if\n \n the method is restricted by customer group, and at least one of the\n groups of the specified customer is assigned to the method\n the method is restricted by billing country, and the specified\n country code is assigned to the method\n the method is restricted by payment amount for the session currency,\n and the specified payment amount is within the limits of the min/max\n payment amount defined for the method and the session currency\n the method is restricted by currency code, and the specified\n currency code matches session currency.\n \n\n All parameters are optional, and if not specified, the respective\n restriction won't be validated. For example, if a method is restricted by\n billing country, but no country code is specified, this method will be\n returned, unless it is filtered out by customer group or payment amount.",
              "deprecated": false
            }
          }
        },
        "PaymentMgr": {
          "fullClassName": "dw.order.PaymentMgr",
          "package": "dw.order",
          "description": "<a href=\"class_dw_order_PaymentMgr.html\">PaymentMgr</a> is used to access payment methods and payment\n cards of the current site.\n <p>\n To access payment methods and payment cards explicitly, use methods\n <a href=\"class_dw_order_PaymentMgr.html#dw_order_PaymentMgr_getPaymentMethod_String_DetailAnchor\">getPaymentMethod(String)</a> and <a href=\"class_dw_order_PaymentMgr.html#dw_order_PaymentMgr_getPaymentCard_String_DetailAnchor\">getPaymentCard(String)</a>.</p>\n <p>\n To access active payment methods use method <a href=\"class_dw_order_PaymentMgr.html#dw_order_PaymentMgr_getActivePaymentMethods_DetailAnchor\">getActivePaymentMethods()</a>.</p>\n <p>\n To access applicable payment methods for a customer, country and/or payment\n amount use method <a href=\"class_dw_order_PaymentMgr.html#dw_order_PaymentMgr_getApplicablePaymentMethods_Customer_String_Number_DetailAnchor\">getApplicablePaymentMethods(Customer, String, Number)</a>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "activePaymentMethods": {
              "name": "activePaymentMethods",
              "class": {
                "name": "List"
              },
              "static": true,
              "readonly": true,
              "description": "The sorted list of all enabled payment methods of the current\n site, regardless of any customer group, country, payment amount or currency\n restrictions. The payment methods are sorted as defined in the Business\n Manager.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getActivePaymentMethods": {
              "name": "getActivePaymentMethods",
              "args": [],
              "static": true,
              "class": {
                "name": "List",
                "description": "List of enabled payment methods of current site"
              },
              "description": "Returns the sorted list of all enabled payment methods of the current\n site, regardless of any customer group, country, payment amount or currency\n restrictions. The payment methods are sorted as defined in the Business\n Manager.",
              "deprecated": false
            },
            "getApplicablePaymentMethods": {
              "name": "getApplicablePaymentMethods",
              "args": [
                {
                  "name": "customer",
                  "description": "Customer or null",
                  "class": {
                    "name": "Customer"
                  },
                  "multiple": false
                },
                {
                  "name": "countryCode",
                  "description": "Billing country code or null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "paymentAmount",
                  "description": "Payment amount or null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "List",
                "description": "List of applicable payment methods of current site"
              },
              "description": "Returns the sorted list of all enabled payment methods of the current\n site applicable for the session currency, specified customer, country and payment amount.\n The payment methods are sorted as defined in the Business Manager. \n\n A payment method is applicable if\n \n  the method is restricted by customer group, and at least one of\n the groups of the specified customer is assigned to the method\n  the method is restricted by billing country, and the specified\n country code is assigned to the method\n the method is restricted by payment amount for the session currency,\n and the specified payment amount is within the limits of the min/max\n payment amount defined for the method and the session currency\n  the method is restricted by currency code, and the specified\n currency code matches session currency.\n \n\n All parameters are optional, and if not specified, the respective\n restriction won't be validated. For example, if a method is restricted\n by billing country, but no country code is specified, this method will\n be returned, unless it is filtered out by customer group or payment\n amount.",
              "deprecated": false
            },
            "getPaymentCard": {
              "name": "getPaymentCard",
              "args": [
                {
                  "name": "cardType",
                  "description": "PaymentCard type",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PaymentCard",
                "description": "PaymentCard or null"
              },
              "description": "Returns the payment card for the specified cardType or null if no such\n card exists in the current site.",
              "deprecated": false
            },
            "getPaymentMethod": {
              "name": "getPaymentMethod",
              "args": [
                {
                  "name": "id",
                  "description": "PaymentMethod ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "PaymentMethod",
                "description": "PaymentMethod or null"
              },
              "description": "Returns the payment method for the specified ID or null if no such method\n exists in the current site.",
              "deprecated": false
            }
          }
        },
        "PaymentProcessor": {
          "fullClassName": "dw.order.PaymentProcessor",
          "package": "dw.order",
          "description": "A PaymentProcessor represents an entity that processes payments of one or more types. In the B2C Commerce system, a\n payment processor is just a container for configuration values, which describe, for example, the parameters (URL,\n merchant ID, password, etc) required for connecting to a payment gateway.\n <p>\n The system has several built in PaymentProcessors. These are:\n </p><ul>\n <li>BASIC_CREDIT</li>\n <li>BASIC_GIFT_CERTIFICATE</li>\n <li>CYBERSOURCE_CREDIT</li>\n <li>CYBERSOURCE_BML</li>\n <li>PAYPAL_CREDIT</li>\n <li>PAYPAL_EXPRESS</li>\n <li>VERISIGN_CREDIT</li>\n </ul>\n The first two of these are merely placeholders with no associated preference values. The remaining system payment\n processors define preference values which are maintained in the Business Manager and are used in conjunction with\n built-in B2C Commerce payment integrations. Preferences of system PaymentProcessors are not intended to be read\n programmatically.\n <p>\n Merchants may also define custom payment processors. This is done by defining a payment processor with an arbitrary\n ID in the Business Manager, and then configuring an attribute group with the same ID on the\n <a href=\"class_dw_system_SitePreferences.html\">SitePreferences</a> system object. Attributes added to the group will be considered preferences of the\n payment processor and will be readable through <a href=\"class_dw_order_PaymentProcessor.html#dw_order_PaymentProcessor_getPreferenceValue_String_DetailAnchor\">getPreferenceValue(String)</a>. Merchants can design their\n checkout process to read these preferences at run time for connecting to their payment gateways.\n </p><p>\n Every <a href=\"class_dw_order_PaymentMethod.html\">PaymentMethod</a> in the system is associated with at most one PaymentProcessor. This basically\n represents the physical payment gateway which processes the (logical) payment method. Each payment processor may be\n associated with an arbitrary number of payment methods. Also, each payment transaction has one PaymentProcessor which\n is set by custom code during the checkout process.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The 'ID' of this processor.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the 'ID' of this processor, e.g. \"BASIC_CREDIT\"."
              },
              "description": "Returns the 'ID' of this processor.",
              "deprecated": false
            },
            "getPreferenceValue": {
              "name": "getPreferenceValue",
              "args": [
                {
                  "name": "name",
                  "description": "preference name. Typically an attribute defined on SitePreferences contained in an attribute group whose name is the same as this.ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "preference value, or null."
              },
              "description": "Returns the value of the specified preference for this payment processor.\n If the preference name is invalid (or null) or no preference value is\n defined for this payment processor, null is returned.",
              "deprecated": false
            }
          }
        },
        "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": {}
        },
        "PaymentTransaction": {
          "fullClassName": "dw.order.PaymentTransaction",
          "package": "dw.order",
          "description": "The PaymentTransaction class represents a payment transaction.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "TYPE_AUTH": {
              "name": "TYPE_AUTH",
              "value": "\"AUTH\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the authorization type of payment transaction.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_AUTH_REVERSAL": {
              "name": "TYPE_AUTH_REVERSAL",
              "value": "\"AUTH_REVERSAL\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the authorization reversal type of payment transaction.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_CAPTURE": {
              "name": "TYPE_CAPTURE",
              "value": "\"CAPTURE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the capture type of payment transaction.",
              "deprecated": false,
              "type": "constant"
            },
            "TYPE_CREDIT": {
              "name": "TYPE_CREDIT",
              "value": "\"CREDIT\"",
              "class": {
                "name": "String"
              },
              "description": "Constant representing the credit type of payment transaction.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "accountID": {
              "name": "accountID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The payment service-specific account id.",
              "deprecated": false,
              "type": "property"
            },
            "accountType": {
              "name": "accountType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The payment service-specific account type.",
              "deprecated": false,
              "type": "property"
            },
            "amount": {
              "name": "amount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": false,
              "description": "The amount of the transaction.",
              "deprecated": false,
              "type": "property"
            },
            "paymentInstrument": {
              "name": "paymentInstrument",
              "class": {
                "name": "OrderPaymentInstrument"
              },
              "static": false,
              "readonly": true,
              "description": "The payment instrument related to this payment transaction.",
              "deprecated": false,
              "type": "property"
            },
            "paymentProcessor": {
              "name": "paymentProcessor",
              "class": {
                "name": "PaymentProcessor"
              },
              "static": false,
              "readonly": false,
              "description": "The payment processor related to this payment transaction.",
              "deprecated": false,
              "type": "property"
            },
            "transactionID": {
              "name": "transactionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The payment service-specific transaction id.",
              "deprecated": false,
              "type": "property"
            },
            "type": {
              "name": "type",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The value of the transaction type where the\n value is one of TYPE_AUTH, TYPE_AUTH_REVERSAL, TYPE_CAPTURE\n or TYPE_CREDIT.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAccountID": {
              "name": "getAccountID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the payment service-specific account id."
              },
              "description": "Returns the payment service-specific account id.",
              "deprecated": false
            },
            "getAccountType": {
              "name": "getAccountType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the payment service-specific account type."
              },
              "description": "Returns the payment service-specific account type.",
              "deprecated": false
            },
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the amount of the transaction."
              },
              "description": "Returns the amount of the transaction.",
              "deprecated": false
            },
            "getPaymentInstrument": {
              "name": "getPaymentInstrument",
              "args": [],
              "class": {
                "name": "OrderPaymentInstrument",
                "description": "the order payment instrument related to this payment transaction."
              },
              "description": "Returns the payment instrument related to this payment transaction.",
              "deprecated": false
            },
            "getPaymentProcessor": {
              "name": "getPaymentProcessor",
              "args": [],
              "class": {
                "name": "PaymentProcessor",
                "description": "the payment processor related to this payment transaction."
              },
              "description": "Returns the payment processor related to this payment transaction.",
              "deprecated": false
            },
            "getTransactionID": {
              "name": "getTransactionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the payment service-specific transaction id."
              },
              "description": "Returns the payment service-specific transaction id.",
              "deprecated": false
            },
            "getType": {
              "name": "getType",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the value of the transaction type where the value is one of TYPE_AUTH, TYPE_AUTH_REVERSAL, TYPE_CAPTURE or TYPE_CREDIT."
              },
              "description": "Returns the value of the transaction type where the\n value is one of TYPE_AUTH, TYPE_AUTH_REVERSAL, TYPE_CAPTURE\n or TYPE_CREDIT.",
              "deprecated": false
            },
            "setAccountID": {
              "name": "setAccountID",
              "args": [
                {
                  "name": "accountID",
                  "description": "the payment service-specific account id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the payment service-specific account id.",
              "deprecated": false
            },
            "setAccountType": {
              "name": "setAccountType",
              "args": [
                {
                  "name": "accountType",
                  "description": "the payment service-specific account type.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the payment service-specific account type.",
              "deprecated": false
            },
            "setAmount": {
              "name": "setAmount",
              "args": [
                {
                  "name": "amount",
                  "description": "the amount of the transaction.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the amount of the transaction.",
              "deprecated": false
            },
            "setPaymentProcessor": {
              "name": "setPaymentProcessor",
              "args": [
                {
                  "name": "paymentProcessor",
                  "description": "the payment processor related to this payment transaction.",
                  "class": {
                    "name": "PaymentProcessor"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the payment processor related to this payment transaction.",
              "deprecated": false
            },
            "setTransactionID": {
              "name": "setTransactionID",
              "args": [
                {
                  "name": "transactionID",
                  "description": "the payment service-specific transaction id.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the payment service-specific transaction id.",
              "deprecated": false
            },
            "setType": {
              "name": "setType",
              "args": [
                {
                  "name": "type",
                  "description": "the value of the transaction type where the value is one of TYPE_AUTH, TYPE_AUTH_REVERSAL, TYPE_CAPTURE or TYPE_CREDIT.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the value of the transaction type where permissible\n values are TYPE_AUTH, TYPE_AUTH_REVERSAL, TYPE_CAPTURE or TYPE_CREDIT.",
              "deprecated": false
            }
          }
        },
        "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
            }
          }
        },
        "ProductShippingCost": {
          "fullClassName": "dw.order.ProductShippingCost",
          "package": "dw.order",
          "description": "Instances of ProductShippingCost represent product specific shipping costs.\n <br>\n\n Use <a href=\"class_dw_order_ProductShippingModel.html#dw_order_ProductShippingModel_getShippingCost_ShippingMethod_DetailAnchor\">ProductShippingModel.getShippingCost(ShippingMethod)</a> to get\n the shipping cost for a specific product.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "amount": {
              "name": "amount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping amount.",
              "deprecated": false,
              "type": "property"
            },
            "fixedPrice": {
              "name": "fixedPrice",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if shipping cost is a fixed-price shipping cost,\n and false if surcharge shipping cost.",
              "deprecated": false,
              "type": "property"
            },
            "surcharge": {
              "name": "surcharge",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if shipping cost is a surcharge to the shipment\n shipping cost, and false if fixed-price shipping cost.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Shipping amount"
              },
              "description": "Returns the shipping amount.",
              "deprecated": false
            },
            "isFixedPrice": {
              "name": "isFixedPrice",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true of fixed-price shipping cost, else false"
              },
              "description": "Returns true if shipping cost is a fixed-price shipping cost,\n and false if surcharge shipping cost.",
              "deprecated": false
            },
            "isSurcharge": {
              "name": "isSurcharge",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true of surcharge shipping cost, else false"
              },
              "description": "Returns true if shipping cost is a surcharge to the shipment\n shipping cost, and false if fixed-price shipping cost.",
              "deprecated": false
            }
          }
        },
        "ProductShippingLineItem": {
          "fullClassName": "dw.order.ProductShippingLineItem",
          "package": "dw.order",
          "description": "Represents a specific line item in a shipment. A ProductShippingLineItem defines\n lineitem-specific shipping costs.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItem"
            }
          ],
          "constants": {
            "PRODUCT_SHIPPING_ID": {
              "name": "PRODUCT_SHIPPING_ID",
              "value": "\"PRODUCT_SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Reserved constant.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {
            "adjustedGrossPrice": {
              "name": "adjustedGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The gross price of the product shipping line item after applying\n all product-shipping-level adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedNetPrice": {
              "name": "adjustedNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The net price of the product shipping line item after applying\n all product-shipping-level adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedPrice": {
              "name": "adjustedPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The price of the product shipping line item after applying all\n pproduct-shipping-level adjustments. For net pricing the adjusted net\n price is returned (see getAdjustedNetPrice()). For gross\n pricing, the adjusted gross price is returned (see\n 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\n currency.",
              "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 shipping line item.",
              "deprecated": false,
              "type": "property"
            },
            "productLineItem": {
              "name": "productLineItem",
              "class": {
                "name": "ProductLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "The parent product line item this shipping line item belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "The quantity of the shipping cost.",
              "deprecated": false,
              "type": "property"
            },
            "shipment": {
              "name": "shipment",
              "class": {
                "name": "Shipment"
              },
              "static": false,
              "readonly": true,
              "description": "The shipment this shipping line item belongs to.",
              "deprecated": false,
              "type": "property"
            },
            "surcharge": {
              "name": "surcharge",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The 'surcharge' flag.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAdjustedGrossPrice": {
              "name": "getAdjustedGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "gross price after applying product-shipping-level adjustments"
              },
              "description": "Returns the gross price of the product shipping line item after applying\n all product-shipping-level adjustments.",
              "deprecated": false
            },
            "getAdjustedNetPrice": {
              "name": "getAdjustedNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "net price after applying product-shipping-level adjustments"
              },
              "description": "Returns the net price of the product shipping line item after applying\n all product-shipping-level adjustments.",
              "deprecated": false
            },
            "getAdjustedPrice": {
              "name": "getAdjustedPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Adjusted net or gross price"
              },
              "description": "Returns the price of the product shipping line item after applying all\n pproduct-shipping-level adjustments. For net pricing the adjusted net\n price is returned (see getAdjustedNetPrice()). For gross\n pricing, the adjusted gross price is returned (see\n getAdjustedGrossPrice()).",
              "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\n currency.",
              "deprecated": false
            },
            "getPriceAdjustments": {
              "name": "getPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of price adjustments that have been applied to this product shipping line item."
              },
              "description": "Returns an iterator of price adjustments that have been applied to this\n product shipping line item.",
              "deprecated": false
            },
            "getProductLineItem": {
              "name": "getProductLineItem",
              "args": [],
              "class": {
                "name": "ProductLineItem",
                "description": "the product line item"
              },
              "description": "Returns the parent product line item this shipping line item belongs to.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the shipping quantity"
              },
              "description": "Returns the quantity of the shipping cost.",
              "deprecated": false
            },
            "getShipment": {
              "name": "getShipment",
              "args": [],
              "class": {
                "name": "Shipment",
                "description": "the shipment"
              },
              "description": "Returns the shipment this shipping line item belongs to.",
              "deprecated": false
            },
            "isSurcharge": {
              "name": "isSurcharge",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this is a surcharge shipping cost, false if fixed shipping cost"
              },
              "description": "Returns the 'surcharge' flag.",
              "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\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 If null is specified as value, the price attributes are reset to\n Money.NA.",
              "deprecated": false
            },
            "setQuantity": {
              "name": "setQuantity",
              "args": [
                {
                  "name": "quantity",
                  "description": "the shipping quantity",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the quantity of the shipping cost.",
              "deprecated": false
            },
            "setSurcharge": {
              "name": "setSurcharge",
              "args": [
                {
                  "name": "flag",
                  "description": "true if this is a surcharge shipping cost, false if this is a fixed shipping cost.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the 'surcharge' flag.",
              "deprecated": false
            }
          }
        },
        "ProductShippingModel": {
          "fullClassName": "dw.order.ProductShippingModel",
          "package": "dw.order",
          "description": "Instances of ProductShippingModel provide access to product-level\n shipping information, such as applicable or inapplicable shipping methods\n and shipping cost defined for the product for a specified shipping\n method. <br>\n\n Use <a href=\"class_dw_order_ShippingMgr.html#dw_order_ShippingMgr_getProductShippingModel_Product_DetailAnchor\">ShippingMgr.getProductShippingModel(Product)</a> to get\n the shipping model for a specific product.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "applicableShippingMethods": {
              "name": "applicableShippingMethods",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The active applicable shipping methods for the product related\n to this shipping model, i.e. shipping methods the product can be shipped\n with. A product can be shipping with a shipping methods if the shipping\n method is not explicitely marked as inapplicable for this product.",
              "deprecated": false,
              "type": "property"
            },
            "inapplicableShippingMethods": {
              "name": "inapplicableShippingMethods",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The active inapplicable shipping methods for the product related\n to this shipping model, i.e. shipping methods the product cannot be\n shipped with. A product cannot be shipping with a shipping methods if the\n shipping method is explicitely marked as inapplicable for this product.",
              "deprecated": false,
              "type": "property"
            },
            "shippingMethodsWithShippingCost": {
              "name": "shippingMethodsWithShippingCost",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The active shipping methods for which either any fixed-price or\n surcharge product-level shipping cost is defined for the specified product. \n Note that this can include inapplicable shipping methods\n (see getInapplicableShippingMethods()).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getApplicableShippingMethods": {
              "name": "getApplicableShippingMethods",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Applicable shipping methods for the product"
              },
              "description": "Returns the active applicable shipping methods for the product related\n to this shipping model, i.e. shipping methods the product can be shipped\n with. A product can be shipping with a shipping methods if the shipping\n method is not explicitely marked as inapplicable for this product.",
              "deprecated": false
            },
            "getInapplicableShippingMethods": {
              "name": "getInapplicableShippingMethods",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Inapplicable shipping methods for the product"
              },
              "description": "Returns the active inapplicable shipping methods for the product related\n to this shipping model, i.e. shipping methods the product cannot be\n shipped with. A product cannot be shipping with a shipping methods if the\n shipping method is explicitely marked as inapplicable for this product.",
              "deprecated": false
            },
            "getShippingCost": {
              "name": "getShippingCost",
              "args": [
                {
                  "name": "shippingMethod",
                  "description": "the shipping method to use.",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ProductShippingCost",
                "description": "Product shipping cost"
              },
              "description": "Returns the shipping cost object for the related product and\n the specified shipping method, or null if no product-level fixed-price or\n surcharge shipping cost are defined for the specified product. \n The following rules apply:\n \n if fixed and surcharge shipping cost is defined for a product, the fixed cost takes precedence\n if a product is member of multiple shipping cost groups, the lowest shipping cost takes precedence",
              "deprecated": false
            },
            "getShippingMethodsWithShippingCost": {
              "name": "getShippingMethodsWithShippingCost",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Shipping methods with shipping cost"
              },
              "description": "Returns the active shipping methods for which either any fixed-price or\n surcharge product-level shipping cost is defined for the specified product. \n Note that this can include inapplicable shipping methods\n (see getInapplicableShippingMethods()).",
              "deprecated": false
            }
          }
        },
        "Return": {
          "fullClassName": "dw.order.Return",
          "package": "dw.order",
          "description": "The Return represents a physical customer return, and contains 1..n\n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s. The Return is associated with one <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>, and each\n ReturnItem is associated with one <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a> and (via the\n ReturnCaseItem) a single <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 The ReturnItem records the quantity returned.\n <br>The Return can have one of these status values:\n <ul>\n <li>NEW - the return is new, i.e. needs to undergo a check before it can be\n marked as COMPLETED</li>\n <li>COMPLETED - the return is complete, this is a precondition for refunding the\n customer for a return.</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 oder 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 for 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 Return Status COMPLETED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_NEW": {
              "name": "STATUS_NEW",
              "value": "\"NEW\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Return Status NEW",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "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": "The ReturnItems contained in the Return, created with method\n createItem(String).\n\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n 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"
            },
            "note": {
              "name": "note",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "A note for the return.",
              "deprecated": false,
              "type": "property"
            },
            "returnCase": {
              "name": "returnCase",
              "class": {
                "name": "ReturnCase"
              },
              "static": false,
              "readonly": true,
              "description": "The ReturnCase with which this Return is associated. The ReturnCase\n may represent an RMA (return merchandise authorization).",
              "deprecated": false,
              "type": "property"
            },
            "returnNumber": {
              "name": "returnNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The return number identifying this return.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the return status.\n \n Possible values are STATUS_NEW, STATUS_COMPLETED.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createInvoice": {
              "name": "createInvoice",
              "args": [],
              "class": {
                "name": "Invoice",
                "description": "new invoice"
              },
              "description": "Creates a new Invoice based on this Return.\n The return-number will be used as the invoice-number. The\n Invoice can then be accessed using getInvoice() or its\n number using getInvoiceNumber(). The method must not be called\n more than once for a Return, nor may 2 Invoices exist\n with the same invoice-number.\n \n The new Invoice is a credit-invoice with a Invoice.STATUS_NOT_PAID status, and\n will be passed to the refund payment-hook in a separate database\n transaction for processing.",
              "deprecated": false
            },
            "createInvoice0": {
              "name": "createInvoice",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice-number to use",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Invoice",
                "description": "the new invoice"
              },
              "description": "Creates a new Invoice based on this Return. The\n invoice-number must be specified as an argument. The\n Invoice can then be accessed using getInvoice() or its\n number using getInvoiceNumber(). The method must not be called\n more than once for a Return, nor may 2 Invoices exist\n with the same invoice-number.\n \n The new Invoice is a credit-invoice with a Invoice.STATUS_NOT_PAID status, and\n will be passed to the refund payment-hook in a separate database\n transaction for processing.",
              "deprecated": false
            },
            "createItem": {
              "name": "createItem",
              "args": [
                {
                  "name": "returnCaseItemID",
                  "description": "the id of the return case item",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnItem",
                "description": "the created return item"
              },
              "description": "Create a ReturnItem based on a ReturnCaseItem.",
              "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 previously created invoice."
              },
              "description": "Returns null or the invoice-number.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the return items"
              },
              "description": "Returns the ReturnItems contained in the Return, created with method\n createItem(String).\n\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n 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
            },
            "getNote": {
              "name": "getNote",
              "args": [],
              "class": {
                "name": "String",
                "description": "the note or null"
              },
              "description": "A note for the return.",
              "deprecated": false
            },
            "getReturnCase": {
              "name": "getReturnCase",
              "args": [],
              "class": {
                "name": "ReturnCase",
                "description": "the return case"
              },
              "description": "Returns the ReturnCase with which this Return is associated. The ReturnCase\n may represent an RMA (return merchandise authorization).",
              "deprecated": false
            },
            "getReturnNumber": {
              "name": "getReturnNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the return number"
              },
              "description": "The return number identifying this return.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the return status.\n \n Possible values are STATUS_NEW, STATUS_COMPLETED.",
              "deprecated": false
            },
            "setNote": {
              "name": "setNote",
              "args": [
                {
                  "name": "note",
                  "description": "the note",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a note for the return.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "statusName",
                  "description": "the status",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the return status.\n \n Possible values are STATUS_NEW, STATUS_COMPLETED\n \n When set to status COMPLETED, only the the custom attributes of the return itself and its return items can be changed.",
              "deprecated": false
            }
          }
        },
        "ReturnCase": {
          "fullClassName": "dw.order.ReturnCase",
          "package": "dw.order",
          "description": "All returns exist in the context of a ReturnCase, each <a href=\"class_dw_order_Order.html\">Order</a>\n can have any number of ReturnCases. <br>\n The ReturnCase has <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>s, each of which is associated with an\n <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> (an extension to either a <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a> or a <a href=\"class_dw_order_ShippingLineItem.html\">ShippingLineItem</a>). <br>\n Each ReturnCaseItem defines <a href=\"class_dw_order_ReturnCaseItem.html#dw_order_ReturnCaseItem_getAuthorizedQuantity_DetailAnchor\">ReturnCaseItem.getAuthorizedQuantity()</a> representing the maximum\n quantity expected to be returned. The ReturnCaseItem may be associated with\n 0..n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s - ReturnItems are added to the ReturnCaseItem when\n <a href=\"class_dw_order_Return.html\">Return</a>s are created.\n <p>\n <i>Either</i> - a ReturnCase may be used as an RMA, in which case they are\n created when a customer first shows a wish to return item(s). The customer\n then includes the RMA number with the returned item(s). The Return created as\n a result is then associated with the existing ReturnCase. <br>\n <i>Or</i> - a ReturnCase is automatically created as part of the return\n creation, i.e. the customer returns some item(s) leading to a creation of\n both a Return and an associated ReturnCase.\n </p>\n <p>\n The scripting api allows access to the ReturnCases, whether the ReturnCase is an RMA or not,\n and the ReturnCase status. Both the ReturnCaseItems and any Returns\n associated with the ReturnCase can be accessed.\n </p><p>\n A ReturnCase has one of these status values:\n </p><ul>\n <li>NEW - the ReturnCase has been created and can be edited previous to\n its authorization</li>\n <li>CONFIRMED - the ReturnCase is CONFIRMED, can no longer be edited, no\n Returns have been associated with it. Only a NEW- ReturnCase can be\n CONFIRMED</li>\n <li>PARTIAL_RETURNED - the ReturnCase has been associated with at least one Return,\n but is not yet complete. Only a CONFIRMED- ReturnCase can be set to\n PARTIAL_RETURNED</li>\n <li>RETURNED - the ReturnCase has been associated with Returns which match\n the expected authorized quantity. Only an CONFIRMED- or PARTIAL_RETURNED- return-case\n can be set to RETURNED</li>\n <li>CANCELLED - the ReturnCase has been cancelled (only a NEW- or\n CONFIRMED- ReturnCase can be cancelled)</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 oder 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 for the service items. Use with method getItems() as an argument to method FilteringCollection.select(Object).",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CANCELLED": {
              "name": "STATUS_CANCELLED",
              "value": "\"CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status CANCELLED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CONFIRMED": {
              "name": "STATUS_CONFIRMED",
              "value": "\"CONFIRMED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status CONFIRMED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_NEW": {
              "name": "STATUS_NEW",
              "value": "\"NEW\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status NEW",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_PARTIAL_RETURNED": {
              "name": "STATUS_PARTIAL_RETURNED",
              "value": "\"PARTIAL_RETURNED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status PARTIAL RETURNED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_RETURNED": {
              "name": "STATUS_RETURNED",
              "value": "\"RETURNED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status RETURNED",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "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": "Access the collection of ReturnCaseItems.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n 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"
            },
            "returnCaseNumber": {
              "name": "returnCaseNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The mandatory return case number identifying this document.",
              "deprecated": false,
              "type": "property"
            },
            "returns": {
              "name": "returns",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Return the collection of Returns associated with this ReturnCase.",
              "deprecated": false,
              "type": "property"
            },
            "RMA": {
              "name": "RMA",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Return whether this is an RMA. This is specified when calling Order.createReturnCase(String, Boolean).",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the return case item status. The status of a ReturnCase is read-only and calculated from the status of\n the associated ReturnCaseItems.\n \n The possible values are STATUS_NEW,STATUS_CONFIRMED,\n STATUS_PARTIAL_RETURNED, STATUS_RETURNED,\n STATUS_CANCELLED.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "confirm": {
              "name": "confirm",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Attempt to confirm the ReturnCase.\n Without items the return case will be canceled\n When confirmed, only the the custom attributes of its return case items can be changed.",
              "deprecated": false
            },
            "createInvoice": {
              "name": "createInvoice",
              "args": [],
              "class": {
                "name": "Invoice",
                "description": "new invoice"
              },
              "description": "Creates a new Invoice based on this\n ReturnCase. The return-case-number will\n be used as the invoice-number. The Invoice can then be\n accessed using getInvoice() or its number using\n getInvoiceNumber(). The method must not be called more than once\n for a ReturnCase, nor may 2 Invoices\n exist with the same invoice-number.\n \n The new Invoice is a credit-invoice with a\n Invoice.STATUS_NOT_PAID status, and will be passed to\n the refund payment-hook in a separate database transaction for\n processing.",
              "deprecated": false
            },
            "createInvoice0": {
              "name": "createInvoice",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice-number to be used for the invoice creation",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Invoice",
                "description": "new invoice"
              },
              "description": "Creates a new Invoice based on this\n ReturnCase. The invoice-number must be specified as an\n argument. The Invoice can then be\n accessed using getInvoice() or its number using\n getInvoiceNumber(). The method must not be called more than once\n for a ReturnCase, nor may 2 Invoices\n exist with the same invoice-number.\n \n The new Invoice is a credit-invoice with a\n Invoice.STATUS_NOT_PAID status, and will be passed to\n the refund payment-hook in a separate database transaction for\n processing.",
              "deprecated": false
            },
            "createItem": {
              "name": "createItem",
              "args": [
                {
                  "name": "orderItemID",
                  "description": "order item id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnCaseItem",
                "description": "null or item for given order item"
              },
              "description": "Creates a new item for a given order item. Note: a ReturnCase may have\n only one item per order item.",
              "deprecated": false
            },
            "createReturn": {
              "name": "createReturn",
              "args": [
                {
                  "name": "returnNumber",
                  "description": "return number to assign",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Return",
                "description": "new Return instance"
              },
              "description": "Creates a new Return with the given number and associates it with this ReturnCase.",
              "deprecated": false
            },
            "createReturn0": {
              "name": "createReturn",
              "args": [],
              "class": {
                "name": "Return",
                "description": "new Return instance"
              },
              "description": "Creates a new Return with a generated number and associates it with this ReturnCase.",
              "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 previously created invoice."
              },
              "description": "Returns null or the invoice-number.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the items"
              },
              "description": "Access the collection of ReturnCaseItems.\n \n This FilteringCollection can be sorted / filtered using:\n \n FilteringCollection.sort(Object) with ORDERBY_ITEMID\n FilteringCollection.sort(Object) with\n 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
            },
            "getReturnCaseNumber": {
              "name": "getReturnCaseNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the return case number"
              },
              "description": "Returns the mandatory return case number identifying this document.",
              "deprecated": false
            },
            "getReturns": {
              "name": "getReturns",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the collection of Returns."
              },
              "description": "Return the collection of Returns associated with this ReturnCase.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the return case item status. The status of a ReturnCase is read-only and calculated from the status of\n the associated ReturnCaseItems.\n \n The possible values are STATUS_NEW,STATUS_CONFIRMED,\n STATUS_PARTIAL_RETURNED, STATUS_RETURNED,\n STATUS_CANCELLED.",
              "deprecated": false
            },
            "isRMA": {
              "name": "isRMA",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "whether this is an RMA."
              },
              "description": "Return whether this is an RMA. This is specified when calling Order.createReturnCase(String, Boolean).",
              "deprecated": false
            }
          }
        },
        "ReturnCaseItem": {
          "fullClassName": "dw.order.ReturnCaseItem",
          "package": "dw.order",
          "description": "An item of a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>, created using method\n <a href=\"class_dw_order_ReturnCase.html#dw_order_ReturnCase_createItem_String_DetailAnchor\">ReturnCase.createItem(String)</a>. Initially the\n ReturnCaseItem is NEW. No <a href=\"class_dw_order_Return.html\">Return</a> can be\n created at this point. From NEW the item transitions in CONFIRMED state.\n Now Return can be created. Next transition is either to\n PARTIAL_RETURNED or to CANCELLED. At the end the item can be RETURNED (no other\n Returns can be created.\n\n The custom code implementing the ReturnHooks is\n responsible to provide the logic for the transitions. Please refer to the\n documentation of <a href=\"class_dw_order_hooks_ReturnHooks.html\">ReturnHooks</a> for further\n information.\n <br>\n When the related ReturnCase were confirmed, only the the custom attributes of the return case 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": {
            "STATUS_CANCELLED": {
              "name": "STATUS_CANCELLED",
              "value": "\"CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status CANCELLED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CONFIRMED": {
              "name": "STATUS_CONFIRMED",
              "value": "\"CONFIRMED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status CONFIRMED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_NEW": {
              "name": "STATUS_NEW",
              "value": "\"NEW\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status NEW",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_PARTIAL_RETURNED": {
              "name": "STATUS_PARTIAL_RETURNED",
              "value": "\"PARTIAL_RETURNED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status PARTIAL RETURNED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_RETURNED": {
              "name": "STATUS_RETURNED",
              "value": "\"RETURNED\"",
              "class": {
                "name": "String"
              },
              "description": "constant for ReturnCase Status RETURNED",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "authorizedQuantity": {
              "name": "authorizedQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "Return the Quantity authorized for this ReturnCaseItem, may be N/A.",
              "deprecated": false,
              "type": "property"
            },
            "basePrice": {
              "name": "basePrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of a single unit before discount application.",
              "deprecated": false,
              "type": "property"
            },
            "note": {
              "name": "note",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Return the note for this return case item.",
              "deprecated": false,
              "type": "property"
            },
            "parentItem": {
              "name": "parentItem",
              "class": {
                "name": "ReturnCaseItem"
              },
              "static": false,
              "readonly": false,
              "description": "Returns null or the parent item.",
              "deprecated": false,
              "type": "property"
            },
            "reasonCode": {
              "name": "reasonCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The reason code for return case item.",
              "deprecated": false,
              "type": "property"
            },
            "returnCaseNumber": {
              "name": "returnCaseNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Mandatory number of ReturnCase to which this item belongs",
              "deprecated": false,
              "type": "property"
            },
            "returnItems": {
              "name": "returnItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Unsorted collection of ReturnItems associated with this ReturnCaseItem.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the return case item status.\n \n The possible values are STATUS_NEW,STATUS_CONFIRMED,\n STATUS_PARTIAL_RETURNED, STATUS_RETURNED,\n STATUS_CANCELLED.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createReturnItem": {
              "name": "createReturnItem",
              "args": [
                {
                  "name": "returnNumber",
                  "description": "number of Return to which new item is assigned.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ReturnItem",
                "description": "new ReturnItem"
              },
              "description": "Create a new ReturnItem for this ReturnCaseItem and assign it to the\n given Return.",
              "deprecated": false
            },
            "getAuthorizedQuantity": {
              "name": "getAuthorizedQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the authorized quantity or N/A"
              },
              "description": "Return the Quantity authorized for this ReturnCaseItem, may be N/A.",
              "deprecated": false
            },
            "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
            },
            "getNote": {
              "name": "getNote",
              "args": [],
              "class": {
                "name": "String",
                "description": "the note or null"
              },
              "description": "Return the note for this return case item.",
              "deprecated": false
            },
            "getParentItem": {
              "name": "getParentItem",
              "args": [],
              "class": {
                "name": "ReturnCaseItem",
                "description": "null or the parent item."
              },
              "description": "Returns null or the parent item.",
              "deprecated": false
            },
            "getReasonCode": {
              "name": "getReasonCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the return reason code"
              },
              "description": "Returns the reason code for return case item.",
              "deprecated": false
            },
            "getReturnCaseNumber": {
              "name": "getReturnCaseNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "number of ReturnCase to which this item belongs"
              },
              "description": "Mandatory number of ReturnCase to which this item belongs",
              "deprecated": false
            },
            "getReturnItems": {
              "name": "getReturnItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "unsorted collection of ReturnItems associated with this ReturnCaseItem"
              },
              "description": "Unsorted collection of ReturnItems associated with this ReturnCaseItem.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the return case item status.\n \n The possible values are STATUS_NEW,STATUS_CONFIRMED,\n STATUS_PARTIAL_RETURNED, STATUS_RETURNED,\n STATUS_CANCELLED.",
              "deprecated": false
            },
            "setAuthorizedQuantity": {
              "name": "setAuthorizedQuantity",
              "args": [
                {
                  "name": "authorizedQuantity",
                  "description": "null or the quantity",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the optional authorized Quantity for this item. Passing null will result in an N/A Quantity\n being set.",
              "deprecated": false
            },
            "setNote": {
              "name": "setNote",
              "args": [
                {
                  "name": "note",
                  "description": "the note for this return case item to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a note for this return case item.",
              "deprecated": false
            },
            "setParentItem": {
              "name": "setParentItem",
              "args": [
                {
                  "name": "parentItem",
                  "description": "The parent item, null is allowed",
                  "class": {
                    "name": "ReturnCaseItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a parent item. The parent item must belong to the same\n ReturnCase. 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
            },
            "setReasonCode": {
              "name": "setReasonCode",
              "args": [
                {
                  "name": "reasonCode",
                  "description": "the reason code to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Changes the reason code. Initially the reason code is set on return case\n item creation.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "statusString",
                  "description": "the status",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the status.\n \n The possible values are STATUS_NEW,STATUS_CONFIRMED,\n STATUS_PARTIAL_RETURNED, STATUS_RETURNED,\n STATUS_CANCELLED.",
              "deprecated": false
            }
          }
        },
        "ReturnItem": {
          "fullClassName": "dw.order.ReturnItem",
          "package": "dw.order",
          "description": "An item of a <a href=\"class_dw_order_Return.html\">Return</a>, created using <a href=\"class_dw_order_Return.html#dw_order_Return_createItem_String_DetailAnchor\">Return.createItem(String)</a>.\n Represents a physically returned order line item. Please refer to the documentation of <a href=\"class_dw_order_hooks_ReturnHooks.html\">ReturnHooks</a>\n for further information.\n <br>\n When the related Return were set to status COMPLETED, only the the custom attributes of the return 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": {
            "basePrice": {
              "name": "basePrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of a single unit before discount application.",
              "deprecated": false,
              "type": "property"
            },
            "note": {
              "name": "note",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "Return the note for this return item.",
              "deprecated": false,
              "type": "property"
            },
            "parentItem": {
              "name": "parentItem",
              "class": {
                "name": "ReturnItem"
              },
              "static": false,
              "readonly": false,
              "description": "Returns null or the parent item.",
              "deprecated": false,
              "type": "property"
            },
            "reasonCode": {
              "name": "reasonCode",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The reason code for return item. The list of reason codes can be updated\n by updating meta-data for ReturnItem.",
              "deprecated": false,
              "type": "property"
            },
            "returnCaseItem": {
              "name": "returnCaseItem",
              "class": {
                "name": "ReturnCaseItem"
              },
              "static": false,
              "readonly": true,
              "description": "The return case item related to this item. Should never return null.",
              "deprecated": false,
              "type": "property"
            },
            "returnedQuantity": {
              "name": "returnedQuantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "The Quantity returned. This may return an N/A quantity.",
              "deprecated": false,
              "type": "property"
            },
            "returnNumber": {
              "name": "returnNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The mandatory returnNumber of the Return to which this item belongs.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addTaxItem": {
              "name": "addTaxItem",
              "args": [
                {
                  "name": "amount",
                  "description": "amount to assign to the tax-item",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                },
                {
                  "name": "taxGroup",
                  "description": "the TaxGroup to which the item belongs",
                  "class": {
                    "name": "TaxGroup"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "TaxItem",
                "description": "the new tax-item"
              },
              "description": "Create a new  tax-item and add to this item.",
              "deprecated": false
            },
            "applyPriceRate": {
              "name": "applyPriceRate",
              "args": [
                {
                  "name": "factor",
                  "description": "factor used to calculate rate",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                },
                {
                  "name": "divisor",
                  "description": "divisor used to calculate rate",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                },
                {
                  "name": "roundUp",
                  "description": "whether to round up or down on 0.5",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the\n nearest cent if necessary.\n Examples:\n TaxBasis beforefactordivisorroundupCalculationTaxBasis after\n $10.0012true10*1/2=$5.00\n $10.00910true10*9/10=$9.00\n $10.0013true10*1/3=3.3333=$3.33\n  $2.4712true2.47*1/2=1.235=$1.24\n  $2.4712false2.47*1/2=1.235=$1.23\n \n Which prices are updated?:\n The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting\n depending on whether the order is based on net price.\n Example (order based on net price)\n New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00\n Example (order based on gross price)\n New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00",
              "deprecated": false
            },
            "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
            },
            "getNote": {
              "name": "getNote",
              "args": [],
              "class": {
                "name": "String",
                "description": "the note or null"
              },
              "description": "Return the note for this return item.",
              "deprecated": false
            },
            "getParentItem": {
              "name": "getParentItem",
              "args": [],
              "class": {
                "name": "ReturnItem",
                "description": "null or the parent item."
              },
              "description": "Returns null or the parent item.",
              "deprecated": false
            },
            "getReasonCode": {
              "name": "getReasonCode",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the return reason code"
              },
              "description": "Returns the reason code for return item. The list of reason codes can be updated\n by updating meta-data for ReturnItem.",
              "deprecated": false
            },
            "getReturnCaseItem": {
              "name": "getReturnCaseItem",
              "args": [],
              "class": {
                "name": "ReturnCaseItem",
                "description": "the return case item related to this item"
              },
              "description": "Returns the return case item related to this item. Should never return null.",
              "deprecated": false
            },
            "getReturnedQuantity": {
              "name": "getReturnedQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity returned, may be N/A"
              },
              "description": "The Quantity returned. This may return an N/A quantity.",
              "deprecated": false
            },
            "getReturnNumber": {
              "name": "getReturnNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the returnNumber of the Return to which this item belongs"
              },
              "description": "The mandatory returnNumber of the Return to which this item belongs.",
              "deprecated": false
            },
            "setNote": {
              "name": "setNote",
              "args": [
                {
                  "name": "note",
                  "description": "the note for this return item to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a note for this return item.",
              "deprecated": false
            },
            "setParentItem": {
              "name": "setParentItem",
              "args": [
                {
                  "name": "parentItem",
                  "description": "The parent item, null is allowed",
                  "class": {
                    "name": "ReturnItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a parent item. The parent item must belong to the same\n Return. 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
            },
            "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. The list of reason codes can be updated by updating meta-data for ReturnItem.",
              "deprecated": false
            },
            "setReturnedQuantity": {
              "name": "setReturnedQuantity",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity returned, null not allowed",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the Quantity returned. Passing null results in an exception being thrown.\n The quantity must be higher than zero and not be higher than the remaining quantity to return.\n\n The item prices are recalculated in this method as described in applyPriceRate(Decimal, Decimal, Boolean)\n with the quantity argument as the factor, and ordered quantity as divisor\n and true as the roundup parameter.",
              "deprecated": false
            },
            "setTaxBasis": {
              "name": "setTaxBasis",
              "args": [
                {
                  "name": "taxBasis",
                  "description": "the tax basis value.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the tax-basis price for this item.",
              "deprecated": false
            },
            "setTaxItems": {
              "name": "setTaxItems",
              "args": [
                {
                  "name": "taxItems",
                  "description": "items",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the tax-items for this item.",
              "deprecated": false
            }
          }
        },
        "Shipment": {
          "fullClassName": "dw.order.Shipment",
          "package": "dw.order",
          "description": "Represents an order shipment.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {
            "SHIPMENT_NOTSHIPPED": {
              "name": "SHIPMENT_NOTSHIPPED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Shipment shipping status representing 'Not shipped'.",
              "deprecated": true,
              "type": "constant"
            },
            "SHIPMENT_SHIPPED": {
              "name": "SHIPMENT_SHIPPED",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Shipment shipping status representing 'Shipped'.",
              "deprecated": true,
              "type": "constant"
            },
            "SHIPPING_STATUS_NOTSHIPPED": {
              "name": "SHIPPING_STATUS_NOTSHIPPED",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Shipment shipping status representing 'Not shipped'.",
              "deprecated": false,
              "type": "constant"
            },
            "SHIPPING_STATUS_SHIPPED": {
              "name": "SHIPPING_STATUS_SHIPPED",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Shipment shipping status representing 'Shipped'.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "adjustedMerchandizeTotalGrossPrice": {
              "name": "adjustedMerchandizeTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted total gross price, including tax, in the purchase currency. The adjusted total gross price\n represents the sum of product prices and adjustments including tax, excluding services.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalNetPrice": {
              "name": "adjustedMerchandizeTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted net price, excluding tax, in the purchase currency. The adjusted net price represents the\n the sum of product prices and adjustments, excluding services and tax.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalPrice": {
              "name": "adjustedMerchandizeTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The product total price after all product discounts. If the line item container is based on net pricing\n the adjusted product total net price is returned. If the line item container is based on gross pricing the\n adjusted product total gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedMerchandizeTotalTax": {
              "name": "adjustedMerchandizeTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total adjusted product tax in the purchase currency. The total adjusted product tax represents the\n tax on products and adjustments, excluding services.",
              "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 shipment, including shipping adjustuments and tax",
              "deprecated": false,
              "type": "property"
            },
            "adjustedShippingTotalNetPrice": {
              "name": "adjustedShippingTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the shipment, including shipping adjustments, excluding tax.",
              "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 shipment , including shipping adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "allLineItems": {
              "name": "allLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All line items related to the shipment.\n \n The returned collection may include line items of the following types:\n \n ProductLineItem\n ShippingLineItem\n GiftCertificateLineItem\n PriceAdjustment\n \n Their common type is LineItem.\n \n Each ProductLineItem in the collection may itself contain bundled or option product line items,\n as well as a product-level shipping line item.",
              "deprecated": false,
              "type": "property"
            },
            "default": {
              "name": "default",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Return true if this shipment is the default shipment (shipment ID \"me\").",
              "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"
            },
            "giftCertificateLineItems": {
              "name": "giftCertificateLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "All gift certificate line items of the shipment.",
              "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"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this shipment (\"me\" for the default shipment).",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalGrossPrice": {
              "name": "merchandizeTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The gross product subtotal in the purchase currency. The gross product subtotal represents the sum of\n product prices including tax, excluding services and adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalNetPrice": {
              "name": "merchandizeTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The net product subtotal, excluding tax, in the purchase currency. The net product subtotal represents\n the sum of product prices, excluding services, adjustments, and tax.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalPrice": {
              "name": "merchandizeTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The product total price. If the line item container is based on net pricing the product total net\n price is returned. If the line item container is based on gross pricing the product total gross price is\n returned.",
              "deprecated": false,
              "type": "property"
            },
            "merchandizeTotalPriceAdjustments": {
              "name": "merchandizeTotalPriceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of price adjustments that have been applied to the totals, such as a promotion on the\n purchase value (i.e. $10 Off or 10% Off).",
              "deprecated": true,
              "type": "property"
            },
            "merchandizeTotalTax": {
              "name": "merchandizeTotalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total product tax in the purchase currency. The total product tax represents the tax on products,\n excluding services and adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "productLineItems": {
              "name": "productLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all product line items related to this shipment.",
              "deprecated": false,
              "type": "property"
            },
            "proratedMerchandizeTotalPrice": {
              "name": "proratedMerchandizeTotalPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total product price of the shipment, including product-level adjustments and prorating all\n Buy-X-Get-Y and order-level adjustments, according to the scheme described in\n PriceAdjustment.getProratedPrices(). For net pricing the net price is returned. For gross\n pricing, the gross price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "shipmentNo": {
              "name": "shipmentNo",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The shipment number for this shipment.\n \n When an order is placed (OrderMgr.placeOrder(Order)) shipment number will be filled using a\n sequence. Before order was placed null will be returned.",
              "deprecated": false,
              "type": "property"
            },
            "shippingAddress": {
              "name": "shippingAddress",
              "class": {
                "name": "OrderAddress"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping address or null if none is set.",
              "deprecated": false,
              "type": "property"
            },
            "shippingLineItems": {
              "name": "shippingLineItems",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of all shipping line items of the shipment, excluding any product-level shipping costs that\n are associated with ProductLineItems of the shipment.",
              "deprecated": false,
              "type": "property"
            },
            "shippingMethod": {
              "name": "shippingMethod",
              "class": {
                "name": "ShippingMethod"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping method or null if none is set.",
              "deprecated": false,
              "type": "property"
            },
            "shippingMethodID": {
              "name": "shippingMethodID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping method ID or null if none is set.",
              "deprecated": false,
              "type": "property"
            },
            "shippingPriceAdjustments": {
              "name": "shippingPriceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "A collection of price adjustments that have been applied to the shipping costs of the shipment, for\n example by the promotions engine.\n Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line\n item they belong to. Use ShippingLineItem.getShippingPriceAdjustments() to retrieve the shipping\n price adjustments associated with a specific shipping line item.",
              "deprecated": false,
              "type": "property"
            },
            "shippingStatus": {
              "name": "shippingStatus",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping status. Possible values are SHIPMENT_NOTSHIPPED or SHIPMENT_SHIPPED.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalGrossPrice": {
              "name": "shippingTotalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the shipment, including tax, excluding shipping adjustments.",
              "deprecated": false,
              "type": "property"
            },
            "shippingTotalNetPrice": {
              "name": "shippingTotalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The sum of all shipping line items of the shipment, excluding tax and adjustments.",
              "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 shipment before shipping adjustments have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "standardShippingLineItem": {
              "name": "standardShippingLineItem",
              "class": {
                "name": "ShippingLineItem"
              },
              "static": false,
              "readonly": true,
              "description": "Convenience method. Same as getShippingLineItem(ShippingLineItem.STANDARD_SHIPPING_ID)",
              "deprecated": false,
              "type": "property"
            },
            "totalGrossPrice": {
              "name": "totalGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total gross price of the shipment in the purchase currency. The total gross price is the sum of\n product prices, service prices, adjustments, and tax.",
              "deprecated": false,
              "type": "property"
            },
            "totalNetPrice": {
              "name": "totalNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total net price of the shipment in the purchase currency. The total net price is the sum of product\n prices, service prices, and adjustments, excluding tax.",
              "deprecated": false,
              "type": "property"
            },
            "totalTax": {
              "name": "totalTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The total tax for the shipment in the purchase currency.",
              "deprecated": false,
              "type": "property"
            },
            "trackingNumber": {
              "name": "trackingNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The tracking number of this shipment.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createShippingAddress": {
              "name": "createShippingAddress",
              "args": [],
              "class": {
                "name": "OrderAddress",
                "description": "The new shipping address of the shipment"
              },
              "description": "A shipment has initially no shipping address. This method creates a shipping address for the shipment and\n replaces an existing shipping address.",
              "deprecated": false
            },
            "createShippingLineItem": {
              "name": "createShippingLineItem",
              "args": [
                {
                  "name": "id",
                  "description": "The id to use to locate the new shipping line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingLineItem",
                "description": "The new shipping line item."
              },
              "description": "Creates a new shipping line item for this shipment. If the specified ID is already assigned to any of the\n existing shipping line items of the shipment, the method throws an exception.",
              "deprecated": false
            },
            "createShippingPriceAdjustment": {
              "name": "createShippingPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment line item."
              },
              "description": "Creates a shipping price adjustment to be applied to the shipment. The price adjustment implicitly belongs to the\n standard shipping line item if this line item exists, otherwise it belongs to the shipment itself.\n The promotion ID is mandatory and must not be the ID of any actual promotion defined in Salesforce B2C\n Commerce.\n If there already exists a shipping price adjustment line item referring to the specified promotion ID, an\n exception is thrown.",
              "deprecated": true
            },
            "getAdjustedMerchandizeTotalGrossPrice": {
              "name": "getAdjustedMerchandizeTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the adjusted total gross price, including tax, in the purchase currency."
              },
              "description": "Returns the adjusted total gross price, including tax, in the purchase currency. The adjusted total gross price\n represents the sum of product prices and adjustments including tax, excluding services.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalNetPrice": {
              "name": "getAdjustedMerchandizeTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the adjusted net price, excluding tax, in the purchase currency."
              },
              "description": "Returns the adjusted net price, excluding tax, in the purchase currency. The adjusted net price represents the\n the sum of product prices and adjustments, excluding services and tax.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalPrice": {
              "name": "getAdjustedMerchandizeTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the adjusted product total net or gross price."
              },
              "description": "Returns the product total price after all product discounts. If the line item container is based on net pricing\n the adjusted product total net price is returned. If the line item container is based on gross pricing the\n adjusted product total gross price is returned.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalPrice0": {
              "name": "getAdjustedMerchandizeTotalPrice",
              "args": [
                {
                  "name": "applyOrderLevelAdjustments",
                  "description": "If true, prorated order-level adjustments will be applied to total price",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Money",
                "description": "Adjusted net or gross product total price"
              },
              "description": "Returns the total product price including product-level adjustments and, optionally, prorated order-level\n adjustments. For net pricing the net price is returned. For gross pricing, the gross price is returned.",
              "deprecated": false
            },
            "getAdjustedMerchandizeTotalTax": {
              "name": "getAdjustedMerchandizeTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total tax in purchase currency."
              },
              "description": "Returns the total adjusted product tax in the purchase currency. The total adjusted product tax represents the\n tax on products and adjustments, excluding services.",
              "deprecated": false
            },
            "getAdjustedShippingTotalGrossPrice": {
              "name": "getAdjustedShippingTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax"
              },
              "description": "Returns the adjusted sum of all shipping line items of the shipment, including shipping adjustuments and tax",
              "deprecated": false
            },
            "getAdjustedShippingTotalNetPrice": {
              "name": "getAdjustedShippingTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax."
              },
              "description": "Returns the sum of all shipping line items of the shipment, including shipping adjustments, excluding tax.",
              "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 shipment , including shipping adjustments."
              },
              "description": "Returns the tax of all shipping line items of the shipment , including shipping adjustments.",
              "deprecated": false
            },
            "getAllLineItems": {
              "name": "getAllLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all line items related to ths shipment."
              },
              "description": "Returns all line items related to the shipment.\n \n The returned collection may include line items of the following types:\n \n ProductLineItem\n ShippingLineItem\n GiftCertificateLineItem\n PriceAdjustment\n \n Their common type is LineItem.\n \n Each ProductLineItem in the collection may itself contain bundled or option product line items,\n as well as a product-level shipping line item.",
              "deprecated": false
            },
            "getGiftCertificateLineItems": {
              "name": "getGiftCertificateLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "A collection of all GiftCertificateLineItems of the shipment."
              },
              "description": "Returns all gift certificate line items of the shipment.",
              "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
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of this shipment"
              },
              "description": "Returns the ID of this shipment (\"me\" for the default shipment).",
              "deprecated": false
            },
            "getMerchandizeTotalGrossPrice": {
              "name": "getMerchandizeTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total gross price, including tax, in the purchase currency."
              },
              "description": "Returns the gross product subtotal in the purchase currency. The gross product subtotal represents the sum of\n product prices including tax, excluding services and adjustments.",
              "deprecated": false
            },
            "getMerchandizeTotalNetPrice": {
              "name": "getMerchandizeTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the net price, excluding tax, in the purchase currency."
              },
              "description": "Returns the net product subtotal, excluding tax, in the purchase currency. The net product subtotal represents\n the sum of product prices, excluding services, adjustments, and tax.",
              "deprecated": false
            },
            "getMerchandizeTotalPrice": {
              "name": "getMerchandizeTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the product total net or gross price"
              },
              "description": "Returns the product total price. If the line item container is based on net pricing the product total net\n price is returned. If the line item container is based on gross pricing the product total gross price is\n returned.",
              "deprecated": false
            },
            "getMerchandizeTotalPriceAdjustments": {
              "name": "getMerchandizeTotalPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of price adjustments that have been applied to the totals, such as a promotion on the purchase value (i.e. $10 Off or 10% Off)."
              },
              "description": "Returns a collection of price adjustments that have been applied to the totals, such as a promotion on the\n purchase value (i.e. $10 Off or 10% Off).",
              "deprecated": true
            },
            "getMerchandizeTotalTax": {
              "name": "getMerchandizeTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total tax in purchase currency."
              },
              "description": "Returns the total product tax in the purchase currency. The total product tax represents the tax on products,\n excluding services and adjustments.",
              "deprecated": false
            },
            "getProductLineItems": {
              "name": "getProductLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all product line items related to this shipment."
              },
              "description": "Returns a collection of all product line items related to this shipment.",
              "deprecated": false
            },
            "getProratedMerchandizeTotalPrice": {
              "name": "getProratedMerchandizeTotalPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Adjusted and prorated net or gross product total price"
              },
              "description": "Returns the total product price of the shipment, including product-level adjustments and prorating all\n Buy-X-Get-Y and order-level adjustments, according to the scheme described in\n PriceAdjustment.getProratedPrices(). For net pricing the net price is returned. For gross\n pricing, the gross price is returned.",
              "deprecated": false
            },
            "getShipmentNo": {
              "name": "getShipmentNo",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipment number for this shipment."
              },
              "description": "Returns the shipment number for this shipment.\n \n When an order is placed (OrderMgr.placeOrder(Order)) shipment number will be filled using a\n sequence. Before order was placed null will be returned.",
              "deprecated": false
            },
            "getShippingAddress": {
              "name": "getShippingAddress",
              "args": [],
              "class": {
                "name": "OrderAddress",
                "description": "the shipping address or null if none is set."
              },
              "description": "Returns the shipping address or null if none is set.",
              "deprecated": false
            },
            "getShippingLineItem": {
              "name": "getShippingLineItem",
              "args": [
                {
                  "name": "id",
                  "description": "the identifier to use to locate the shipping line item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingLineItem",
                "description": "the shipping line item identified by the specified ID, or null if not found."
              },
              "description": "Returns the shipping line item identified by the specified ID, or null if not found.\n \n To get the standard shipping line item for this shipment, use the identifier\n ShippingLineItem.STANDARD_SHIPPING_ID.",
              "deprecated": false
            },
            "getShippingLineItems": {
              "name": "getShippingLineItems",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of all shipping line items of the shipment, excluding any product-level shipping costs."
              },
              "description": "Returns a collection of all shipping line items of the shipment, excluding any product-level shipping costs that\n are associated with ProductLineItems of the shipment.",
              "deprecated": false
            },
            "getShippingMethod": {
              "name": "getShippingMethod",
              "args": [],
              "class": {
                "name": "ShippingMethod",
                "description": "the shipping method or null if none is set."
              },
              "description": "Returns the shipping method or null if none is set.",
              "deprecated": false
            },
            "getShippingMethodID": {
              "name": "getShippingMethodID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping method ID or null if none is set."
              },
              "description": "Returns the shipping method ID or null if none is set.",
              "deprecated": false
            },
            "getShippingPriceAdjustmentByPromotionID": {
              "name": "getShippingPriceAdjustmentByPromotionID",
              "args": [
                {
                  "name": "promotionID",
                  "description": "the promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The price adjustment associated with the given promotion ID"
              },
              "description": "Returns the shipping price adjustment associated with the specified promotion ID.",
              "deprecated": true
            },
            "getShippingPriceAdjustments": {
              "name": "getShippingPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "a collection of price adjustments that have been applied to the shipping costs of the shipment."
              },
              "description": "Returns a collection of price adjustments that have been applied to the shipping costs of the shipment, for\n example by the promotions engine.\n Note that this method returns all shipping price adjustments in this shipment, regardless of which shipping line\n item they belong to. Use ShippingLineItem.getShippingPriceAdjustments() to retrieve the shipping\n price adjustments associated with a specific shipping line item.",
              "deprecated": false
            },
            "getShippingStatus": {
              "name": "getShippingStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the shipping status. Possible values are SHIPMENT_NOTSHIPPED or SHIPMENT_SHIPPED."
              },
              "description": "Returns the shipping status. Possible values are SHIPMENT_NOTSHIPPED or SHIPMENT_SHIPPED.",
              "deprecated": false
            },
            "getShippingTotalGrossPrice": {
              "name": "getShippingTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments."
              },
              "description": "Returns the sum of all shipping line items of the shipment, including tax, excluding shipping adjustments.",
              "deprecated": false
            },
            "getShippingTotalNetPrice": {
              "name": "getShippingTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the sum of all shipping line items of the shipment, excluding tax and adjustments."
              },
              "description": "Returns the sum of all shipping line items of the shipment, excluding tax and adjustments.",
              "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 shipment before shipping adjustments have been applied."
              },
              "description": "Returns the tax of all shipping line items of the shipment before shipping adjustments have been applied.",
              "deprecated": false
            },
            "getStandardShippingLineItem": {
              "name": "getStandardShippingLineItem",
              "args": [],
              "class": {
                "name": "ShippingLineItem",
                "description": "The standard shipping line item, or null if it does not exist."
              },
              "description": "Convenience method. Same as getShippingLineItem(ShippingLineItem.STANDARD_SHIPPING_ID)",
              "deprecated": false
            },
            "getTotalGrossPrice": {
              "name": "getTotalGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the grand total price gross of tax for the shipment, in purchase currency."
              },
              "description": "Returns the total gross price of the shipment in the purchase currency. The total gross price is the sum of\n product prices, service prices, adjustments, and tax.",
              "deprecated": false
            },
            "getTotalNetPrice": {
              "name": "getTotalNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the grand total price for the shipment net of tax, in purchase currency."
              },
              "description": "Returns the total net price of the shipment in the purchase currency. The total net price is the sum of product\n prices, service prices, and adjustments, excluding tax.",
              "deprecated": false
            },
            "getTotalTax": {
              "name": "getTotalTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the total tax for the shipment, in purchase currency."
              },
              "description": "Returns the total tax for the shipment in the purchase currency.",
              "deprecated": false
            },
            "getTrackingNumber": {
              "name": "getTrackingNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tracking number of this shipment."
              },
              "description": "Returns the tracking number of this shipment.",
              "deprecated": false
            },
            "isDefault": {
              "name": "isDefault",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this shipment is the default shipment"
              },
              "description": "Return true if this shipment is the default shipment (shipment ID \"me\").",
              "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
            },
            "removeShippingLineItem": {
              "name": "removeShippingLineItem",
              "args": [
                {
                  "name": "shippingLineItem",
                  "description": "The shipping line item to be removed.",
                  "class": {
                    "name": "ShippingLineItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified shipping line item and any of its dependent shipping price adjustments.",
              "deprecated": false
            },
            "removeShippingPriceAdjustment": {
              "name": "removeShippingPriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustment",
                  "description": "The price adjustment line item to remove",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified shipping price adjustment from the shipment.",
              "deprecated": true
            },
            "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
            },
            "setShippingMethod": {
              "name": "setShippingMethod",
              "args": [
                {
                  "name": "method",
                  "description": "the shipping method to use.",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the specified shipping method for the specified shipment.",
              "deprecated": false
            },
            "setShippingStatus": {
              "name": "setShippingStatus",
              "args": [
                {
                  "name": "status",
                  "description": "Shipment shipping status",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping status of the shipment. \n Possible values are SHIPPING_STATUS_NOTSHIPPED or SHIPPING_STATUS_SHIPPED.",
              "deprecated": false
            },
            "setTrackingNumber": {
              "name": "setTrackingNumber",
              "args": [
                {
                  "name": "aValue",
                  "description": "the tracking number of this shipment.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tracking number of this shipment.",
              "deprecated": false
            }
          }
        },
        "ShipmentShippingCost": {
          "fullClassName": "dw.order.ShipmentShippingCost",
          "package": "dw.order",
          "description": "Represents shipping cost applied to shipments. <br>\n\n Returned by\n <a href=\"class_dw_order_ShipmentShippingModel.html#dw_order_ShipmentShippingModel_getShippingCost_ShippingMethod_DetailAnchor\">ShipmentShippingModel.getShippingCost(ShippingMethod)</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "amount": {
              "name": "amount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping amount.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Shipping amount"
              },
              "description": "Returns the shipping amount.",
              "deprecated": false
            }
          }
        },
        "ShipmentShippingModel": {
          "fullClassName": "dw.order.ShipmentShippingModel",
          "package": "dw.order",
          "description": "Instances of ShipmentShippingModel provide access to shipment-level\n shipping information, such as applicable and inapplicable shipping methods\n and shipping cost. <br>\n\n Use <a href=\"class_dw_order_ShippingMgr.html#dw_order_ShippingMgr_getShipmentShippingModel_Shipment_DetailAnchor\">ShippingMgr.getShipmentShippingModel(Shipment)</a> to get\n the shipping model for a specific shipment.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "applicableShippingMethods": {
              "name": "applicableShippingMethods",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The active applicable shipping methods for the shipment related\n to this shipping model. A shipping method is applicable for a shipment\n if it does not exclude any of the products in the shipment, and does\n not exclude the shipment's shipping address, if this is set. Also checks\n that the the shipment customer belongs to an assigned customer group of the shipment\n (if any are assigned).",
              "deprecated": false,
              "type": "property"
            },
            "inapplicableShippingMethods": {
              "name": "inapplicableShippingMethods",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The active inapplicable shipping methods for the shipment related\n to this shipping model. A shipping method is inapplicable for a shipment\n if it is inapplicable for at least one product contained in the\n shipment, or the shipping address is excluded by the shipping method, or the\n shipping method is restricted to customer groups that the shipment customer\n is not a part of.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getApplicableShippingMethods": {
              "name": "getApplicableShippingMethods",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Applicable shipping methods for the shipment"
              },
              "description": "Returns the active applicable shipping methods for the shipment related\n to this shipping model. A shipping method is applicable for a shipment\n if it does not exclude any of the products in the shipment, and does\n not exclude the shipment's shipping address, if this is set. Also checks\n that the the shipment customer belongs to an assigned customer group of the shipment\n (if any are assigned).",
              "deprecated": false
            },
            "getApplicableShippingMethods0": {
              "name": "getApplicableShippingMethods",
              "args": [
                {
                  "name": "shippingAddressObj",
                  "description": "A JavaScript object representing an order address, must not be null.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Applicable shipping methods for the shipment"
              },
              "description": "Returns the active applicable shipping methods for the shipment related\n to this shipping model and the specified shipping address. A shipping\n method is applicable if it does not exclude any of the products in the\n shipment, it does not exclude the specified shipping address, and the\n shipment customer belongs to an assigned customer group for the shipment (if\n any are assigned).\n \n The parameter shippingAddressObj must be a JavaScript literal with the\n same properties as an OrderAddress object, or alternatively a Map.\n For example:\n \n\n model.getApplicableShippingMethods (\n    { countryCode: \"US\",\n      stateCode: \"MA,\n      custom { POBox : true }\n    }\n )\n \n\n This method is useful when it is needed to retrieve the list of\n applicable shipping methods for an address before the address is saved to\n the shipment.",
              "deprecated": false
            },
            "getInapplicableShippingMethods": {
              "name": "getInapplicableShippingMethods",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Inapplicable shipping methods for the shipment"
              },
              "description": "Returns the active inapplicable shipping methods for the shipment related\n to this shipping model. A shipping method is inapplicable for a shipment\n if it is inapplicable for at least one product contained in the\n shipment, or the shipping address is excluded by the shipping method, or the\n shipping method is restricted to customer groups that the shipment customer\n is not a part of.",
              "deprecated": false
            },
            "getInapplicableShippingMethods0": {
              "name": "getInapplicableShippingMethods",
              "args": [
                {
                  "name": "shippingAddressObj",
                  "description": "A JavaScript object representing an order address.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Collection",
                "description": "Inapplicable shipping methods for the shipment"
              },
              "description": "Returns the active inapplicable shipping methods for the shipment related\n to this shipping model and the specified shipping address. A shipping\n method is inapplicable if it is inapplicable for at least one product\n contained in the shipment, or the specified shipping address is excluded\n by the shipping method, or the shipping method is restricted to customer\n groups that the shipment customer is not a part of.\n \n The parameter shippingAddressObj must be a JavaScript literal with the\n same properties as an OrderAddress object, or alternatively a Map.\n For example:\n \n\n  model.getApplicableShippingMethods (\n    { countryCode: \"US\",\n      stateCode: \"MA,\n      custom { POBox : true }\n    }\n )\n \n\n This method is useful when it is needed to retrieve the list of\n applicable shipping methods for an address before the address is saved to\n the shipment.",
              "deprecated": false
            },
            "getShippingCost": {
              "name": "getShippingCost",
              "args": [
                {
                  "name": "shippingMethod",
                  "description": "the shipping method to use.",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShipmentShippingCost",
                "description": "Product shipping cost"
              },
              "description": "Returns the shipping cost object for the related shipment and\n the specified shipping method. Shipping cost for shipments\n depended on the merchandise total of the shipment. The method\n uses the adjusted merchandise total after product and order discounts,\n and excluding products with product-level fixed-price shipping\n cost.",
              "deprecated": false
            }
          }
        },
        "ShippingLineItem": {
          "fullClassName": "dw.order.ShippingLineItem",
          "package": "dw.order",
          "description": "Represents a specific line item in a shipment. The ShippingLineItem defines\n the general shipping costs of a shipment.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.order.LineItem"
            }
          ],
          "constants": {
            "STANDARD_SHIPPING_ID": {
              "name": "STANDARD_SHIPPING_ID",
              "value": "\"STANDARD_SHIPPING\"",
              "class": {
                "name": "String"
              },
              "description": "Constant used to get the standard shipping line item.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "adjustedGrossPrice": {
              "name": "adjustedGrossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The price of this shipping line item including tax after\n shipping adjustments have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedNetPrice": {
              "name": "adjustedNetPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The price of this shipping line item, excluding tax after\n shipping adjustments have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedPrice": {
              "name": "adjustedPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The adjusted price of this shipping line item. If the line item\n container is based on net pricing, the adjusted net price is returned. If\n the line item container is based on gross pricing, the adjusted gross\n price is returned.",
              "deprecated": false,
              "type": "property"
            },
            "adjustedTax": {
              "name": "adjustedTax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "The tax of this shipping line item after shipping adjustments\n have been applied.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of this ShippingLineItem.",
              "deprecated": false,
              "type": "property"
            },
            "orderItem": {
              "name": "orderItem",
              "class": {
                "name": "OrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "The  order-item extension for this item, or null.\n An order-item extension will only exist for a ShippingLineItem which\n 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"
            },
            "shippingPriceAdjustments": {
              "name": "shippingPriceAdjustments",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The collection of shipping price adjustments that have been\n applied to this shipping line item.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createShippingPriceAdjustment": {
              "name": "createShippingPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment line item."
              },
              "description": "Creates a shipping price adjustment to be applied to the shipping line item.\n The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce.\n If there already exists a shipping price adjustment on this shipping line item referring to the specified\n promotion ID, an exception is thrown.",
              "deprecated": false
            },
            "createShippingPriceAdjustment0": {
              "name": "createShippingPriceAdjustment",
              "args": [
                {
                  "name": "promotionID",
                  "description": "Promotion ID",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "discount",
                  "description": "The desired discount, not null",
                  "class": {
                    "name": "Discount"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "PriceAdjustment",
                "description": "The new price adjustment line item."
              },
              "description": "Creates a shipping price adjustment to be applied to the shipping line item.\n The promotion ID is mandatory and must not be the ID of any actual promotion defined in B2C Commerce. If a\n shipping price adjustment on this shipping line item referring to the specified promotion ID already exists, an\n exception is thrown. \n The possible values for discount are PercentageDiscount, AmountDiscount,\n FixedPriceShippingDiscount. \n Examples:\n \n \n var myShippingItem : dw.order.ShippingLineItem; // assume known\n var paFixedShippingPrice12 : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment(\"myPromotionID1\", new FixedPriceShippingDiscount(12));\n var paTenPercent : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment(\"myPromotionID2\", new PercentageDiscount(10));\n var paReduceBy2 : dw.order.PriceAdjustment = myShippingItem.createPriceAdjustment(\"myPromotionID3\", new AmountDiscount(2));",
              "deprecated": false
            },
            "getAdjustedGrossPrice": {
              "name": "getAdjustedGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the price of this shipping line item, including tax after shipping adjustments have been applied."
              },
              "description": "Returns the price of this shipping line item including tax after\n shipping adjustments have been applied.",
              "deprecated": false
            },
            "getAdjustedNetPrice": {
              "name": "getAdjustedNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the price of this shipping line item, excluding tax after shipping adjustments have been applied."
              },
              "description": "Returns the price of this shipping line item, excluding tax after\n shipping adjustments have been applied.",
              "deprecated": false
            },
            "getAdjustedPrice": {
              "name": "getAdjustedPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "either the adjusted net or gross price of this shipping line item."
              },
              "description": "Returns the adjusted price of this shipping line item. If the line item\n container is based on net pricing, the adjusted net price is returned. If\n the line item container is based on gross pricing, the adjusted gross\n price is returned.",
              "deprecated": false
            },
            "getAdjustedTax": {
              "name": "getAdjustedTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the tax of this shipping line item after shipping adjustments have been applied."
              },
              "description": "Returns the tax of this shipping line item after shipping adjustments\n have been applied.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "ID of this ShippingLineItem"
              },
              "description": "Returns the ID of this ShippingLineItem.",
              "deprecated": false
            },
            "getOrderItem": {
              "name": "getOrderItem",
              "args": [],
              "class": {
                "name": "OrderItem",
                "description": "null or the order-item"
              },
              "description": "Returns the  order-item extension for this item, or null.\n An order-item extension will only exist for a ShippingLineItem which\n 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
            },
            "getShippingPriceAdjustments": {
              "name": "getShippingPriceAdjustments",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "the collection of shipping price adjustments that have been applied to this shipping line item."
              },
              "description": "Returns the collection of shipping price adjustments that have been\n applied to this shipping line item.",
              "deprecated": false
            },
            "removeShippingPriceAdjustment": {
              "name": "removeShippingPriceAdjustment",
              "args": [
                {
                  "name": "priceAdjustment",
                  "description": "The price adjustment line item to remove",
                  "class": {
                    "name": "PriceAdjustment"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes the specified shipping price adjustment from this shipping line\n item.",
              "deprecated": false
            }
          }
        },
        "ShippingLocation": {
          "fullClassName": "dw.order.ShippingLocation",
          "package": "dw.order",
          "description": "Represents a specific location for a shipment.\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 related to this data.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "address1": {
              "name": "address1",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's first address.",
              "deprecated": false,
              "type": "property"
            },
            "address2": {
              "name": "address2",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's second address.",
              "deprecated": false,
              "type": "property"
            },
            "city": {
              "name": "city",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's city.",
              "deprecated": false,
              "type": "property"
            },
            "countryCode": {
              "name": "countryCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's country code.",
              "deprecated": false,
              "type": "property"
            },
            "postalCode": {
              "name": "postalCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's postal code.",
              "deprecated": false,
              "type": "property"
            },
            "postBox": {
              "name": "postBox",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's post box.",
              "deprecated": false,
              "type": "property"
            },
            "stateCode": {
              "name": "stateCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's state code.",
              "deprecated": false,
              "type": "property"
            },
            "suite": {
              "name": "suite",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping location's suite.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "ShippingLocation": {
              "name": "ShippingLocation",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new shipping location.",
              "deprecated": false
            },
            "ShippingLocation0": {
              "name": "ShippingLocation",
              "args": [
                {
                  "name": "address",
                  "description": "the address that the shipping location represents.",
                  "class": {
                    "name": "CustomerAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new shipping location and initializes it with the values of the\n specified address object.",
              "deprecated": false
            },
            "ShippingLocation01": {
              "name": "ShippingLocation",
              "args": [
                {
                  "name": "address",
                  "description": "the address that the shipping location represents.",
                  "class": {
                    "name": "OrderAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs a new shipping location and initializes it with the values of the\n specified address object.",
              "deprecated": false
            }
          },
          "methods": {
            "getAddress1": {
              "name": "getAddress1",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's first address."
              },
              "description": "Returns the shipping location's first address.",
              "deprecated": false
            },
            "getAddress2": {
              "name": "getAddress2",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's second address."
              },
              "description": "Returns the shipping location's second address.",
              "deprecated": false
            },
            "getCity": {
              "name": "getCity",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's city."
              },
              "description": "Returns the shipping location's city.",
              "deprecated": false
            },
            "getCountryCode": {
              "name": "getCountryCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's country code."
              },
              "description": "Returns the shipping location's country code.",
              "deprecated": false
            },
            "getPostalCode": {
              "name": "getPostalCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's postal code."
              },
              "description": "Returns the shipping location's postal code.",
              "deprecated": false
            },
            "getPostBox": {
              "name": "getPostBox",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's post box."
              },
              "description": "Returns the shipping location's post box.",
              "deprecated": false
            },
            "getStateCode": {
              "name": "getStateCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's state code."
              },
              "description": "Returns the shipping location's state code.",
              "deprecated": false
            },
            "getSuite": {
              "name": "getSuite",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping location's suite."
              },
              "description": "Returns the shipping location's suite.",
              "deprecated": false
            },
            "setAddress1": {
              "name": "setAddress1",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's first address.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's first address.",
              "deprecated": false
            },
            "setAddress2": {
              "name": "setAddress2",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's second address.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's second address.",
              "deprecated": false
            },
            "setCity": {
              "name": "setCity",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's city.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's city.",
              "deprecated": false
            },
            "setCountryCode": {
              "name": "setCountryCode",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's country code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's country code.",
              "deprecated": false
            },
            "setPostalCode": {
              "name": "setPostalCode",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's postal code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's postal code.",
              "deprecated": false
            },
            "setPostBox": {
              "name": "setPostBox",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's post box.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's post box.",
              "deprecated": false
            },
            "setStateCode": {
              "name": "setStateCode",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's state code.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's state code.",
              "deprecated": false
            },
            "setSuite": {
              "name": "setSuite",
              "args": [
                {
                  "name": "aValue",
                  "description": "the shipping location's suite.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping location's suite.",
              "deprecated": false
            }
          }
        },
        "ShippingMethod": {
          "fullClassName": "dw.order.ShippingMethod",
          "package": "dw.order",
          "description": "ShippingMethod represents how the shipment will be shipped.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "baseMethod": {
              "name": "baseMethod",
              "class": {
                "name": "ShippingMethod"
              },
              "static": false,
              "readonly": true,
              "description": "The base shipping method or null if undefined.",
              "deprecated": false,
              "type": "property"
            },
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The currency code associated with the shipping method",
              "deprecated": false,
              "type": "property"
            },
            "customerGroups": {
              "name": "customerGroups",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The customer groups assigned to the shipping method.\n Assigned ids that do not belong to an existing customer group are ignored.",
              "deprecated": false,
              "type": "property"
            },
            "defaultMethod": {
              "name": "defaultMethod",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns 'true' if the shipping method is marked as 'default' for the current session's currency.\n Otherwise 'false' is returned.",
              "deprecated": false,
              "type": "property"
            },
            "dependentMethods": {
              "name": "dependentMethods",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "The dependent shipping methods of this shipping method,\n regardless of the online status of the methods. \n Dependent shipping methods have this method as their base method.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The description of the shipping method as specified in the current locale or\n null if it could not be found.",
              "deprecated": false,
              "type": "property"
            },
            "displayName": {
              "name": "displayName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The display name of the shipping method in the current locale or\n null if it could not be found.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the shipping method.",
              "deprecated": false,
              "type": "property"
            },
            "online": {
              "name": "online",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if shipping method is online, false otherwise",
              "deprecated": false,
              "type": "property"
            },
            "taxClassID": {
              "name": "taxClassID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The tax class id of the shipping method.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getBaseMethod": {
              "name": "getBaseMethod",
              "args": [],
              "class": {
                "name": "ShippingMethod",
                "description": "Base shipping method"
              },
              "description": "Returns the base shipping method or null if undefined.",
              "deprecated": false
            },
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "currency code"
              },
              "description": "Returns the currency code associated with the shipping method",
              "deprecated": false
            },
            "getCustomerGroups": {
              "name": "getCustomerGroups",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "customer groups"
              },
              "description": "Returns the customer groups assigned to the shipping method.\n Assigned ids that do not belong to an existing customer group are ignored.",
              "deprecated": false
            },
            "getDependentMethods": {
              "name": "getDependentMethods",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "Dependent shipping methods"
              },
              "description": "Returns the dependent shipping methods of this shipping method,\n regardless of the online status of the methods. \n Dependent shipping methods have this method as their base method.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "he description of the shipping method as specified in the current locale or null if it could not be found."
              },
              "description": "Returns the description of the shipping method as specified in the current locale or\n null if it could not be found.",
              "deprecated": false
            },
            "getDisplayName": {
              "name": "getDisplayName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the display name of the shipping method or null if it could not be found."
              },
              "description": "Returns the display name of the shipping method in the current locale or\n null if it could not be found.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the shipping method."
              },
              "description": "Returns the ID of the shipping method.",
              "deprecated": false
            },
            "getTaxClassID": {
              "name": "getTaxClassID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tax class id of the shipping method."
              },
              "description": "Returns the tax class id of the shipping method.",
              "deprecated": false
            },
            "isDefaultMethod": {
              "name": "isDefaultMethod",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "'true' if it is the default shipping method of the site"
              },
              "description": "Returns 'true' if the shipping method is marked as 'default' for the current session's currency.\n Otherwise 'false' is returned.",
              "deprecated": false
            },
            "isOnline": {
              "name": "isOnline",
              "args": [],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Returns true if shipping method is online, false otherwise",
              "deprecated": false
            }
          }
        },
        "ShippingMgr": {
          "fullClassName": "dw.order.ShippingMgr",
          "package": "dw.order",
          "description": "Provides methods to access the shipping information.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "allShippingMethods": {
              "name": "allShippingMethods",
              "class": {
                "name": "Collection"
              },
              "static": true,
              "readonly": true,
              "description": "The active shipping methods of the current site applicable to the session currency and current customer group.",
              "deprecated": false,
              "type": "property"
            },
            "defaultShippingMethod": {
              "name": "defaultShippingMethod",
              "class": {
                "name": "ShippingMethod"
              },
              "static": true,
              "readonly": true,
              "description": "The default shipping method of the current site applicable to the session currency.\n\n Does an additional check if there is a base method and if their currencies are\n the same. Returns NULL if the two currencies are different.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "applyShippingCost": {
              "name": "applyShippingCost",
              "args": [
                {
                  "name": "lineItemCtnr",
                  "description": "the line item container to use.",
                  "class": {
                    "name": "LineItemCtnr"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Applies product and shipment-level shipping cost to the specified line\n item container.\n \n\n For each product line item in the specified line item container, a\n product shipping line item is created if product-level shipping cost is\n defined for the product. If no product-level shipping cost is defined for\n the product, an existing product shipping line item is removed. \n\n For each shipment in the specified line item container, shipment-level\n shipping cost is calculated. This cost is determined based on the\n merchandise total of the shipment after all product and order discounts.\n Only products without or with surcharge product-specific shipping cost\n count towards this merchandise total. Products with fixed\n product-specific shipping cost don't count towards the merchandise total\n used to calculate shipment-level shipping cost. The calculated shipping\n cost is set at the standard shipping line item of the shipment. \n\n If 'net' taxation is configured for the site, the merchandise total\n before tax is used. If 'gross' taxation is configured for the site, the\n merchandise total after tax is used.\n\n If no shipping method is set for a shipment, neither product nor\n shipment-level shipping cost can be calculated. In this case, the amount\n of the standard shipment shipping line item will be set to N/A, and\n shipping line items of product line items in this shipment will be\n removed from the line item container.\n\n Special cases for product-level shipping cost: \n \n if a product is member of multiple shipping cost groups, the lowest\n shipping cost takes precedence\n if fixed and surcharge shipping cost is defined for a product, the\n fixed cost takes precedence\n shipping cost defined for a master product is also defined for all\n variants of this master\n shipping cost is not applied to bundled product line items or options\n line items",
              "deprecated": false
            },
            "getAllShippingMethods": {
              "name": "getAllShippingMethods",
              "args": [],
              "static": true,
              "class": {
                "name": "Collection",
                "description": "the active shipping methods of the current site applicable to the session currency and current customer group."
              },
              "description": "Returns the active shipping methods of the current site applicable to the session currency and current customer group.",
              "deprecated": false
            },
            "getDefaultShippingMethod": {
              "name": "getDefaultShippingMethod",
              "args": [],
              "static": true,
              "class": {
                "name": "ShippingMethod",
                "description": "the default shipping method of the current site applicable to the session currency or null."
              },
              "description": "Returns the default shipping method of the current site applicable to the session currency.\n\n Does an additional check if there is a base method and if their currencies are\n the same. Returns NULL if the two currencies are different.",
              "deprecated": false
            },
            "getProductShippingModel": {
              "name": "getProductShippingModel",
              "args": [
                {
                  "name": "product",
                  "description": "Product",
                  "class": {
                    "name": "Product"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ProductShippingModel",
                "description": "Shipping model for specified product"
              },
              "description": "Returns the shipping model for the specified product.",
              "deprecated": false
            },
            "getShipmentShippingModel": {
              "name": "getShipmentShippingModel",
              "args": [
                {
                  "name": "shipment",
                  "description": "the shipment to use.",
                  "class": {
                    "name": "Shipment"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ShipmentShippingModel",
                "description": "Shipping model for specified product"
              },
              "description": "Returns the shipping model for the specified shipment.",
              "deprecated": false
            },
            "getShippingCost": {
              "name": "getShippingCost",
              "args": [
                {
                  "name": "shippingMethod",
                  "description": "Selected shipping method",
                  "class": {
                    "name": "ShippingMethod"
                  },
                  "multiple": false
                },
                {
                  "name": "orderValue",
                  "description": "Order value",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Money",
                "description": "Shipping cost"
              },
              "description": "Returns the shipping cost amount for the specified shipping method and\n the specified order value. \n If shipping cost cannot be calculated for any reason, Money.NA is\n returned.",
              "deprecated": false
            }
          }
        },
        "ShippingOrder": {
          "fullClassName": "dw.order.ShippingOrder",
          "package": "dw.order",
          "description": "A shipping order is used to specify items that should be shipped, and is\n typically exported to, and updated by a back-office warehouse management\n system.\n <p>\n An <a href=\"class_dw_order_Order.html\">Order</a> can have n shipping orders expressing how the order\n is to be shipped. The creation, export and update of shipping orders is\n largely handled by custom logic in scripts by implementing\n <a href=\"class_dw_order_hooks_ShippingOrderHooks.html\">ShippingOrderHooks</a>. Use method\n <a href=\"class_dw_order_Order.html#dw_order_Order_createShippingOrder_DetailAnchor\">Order.createShippingOrder()</a> for creation and add items using\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_createShippingOrderItem_OrderItem_Quantity_DetailAnchor\">createShippingOrderItem(OrderItem, Quantity)</a> - each item is related\n to an order item which in turn represents a product- or shipping- line item\n in the order.\n </p><p>\n A shipping order has a status calculated from its item status, one of\n </p><ul>\n <li>CONFIRMED - shipping order not yet exported, with 0 items, or all items\n in status CONFIRMED.</li>\n <li>WAREHOUSE - shipping order exported, with all items in status WAREHOUSE.</li>\n <li>SHIPPED - exported shipping order has been updated, with 1-n items in\n status SHIPPED and 0-n CANCELLED.</li>\n <li>CANCELLED - exported shipping order has been updated, with all items in\n status CANCELLED.</li>\n </ul>\n <br>\n The following status transitions are supported. Every status transition is\n documented by the addition of an order note such as 'Shipping order 123456\n status changed to WAREHOUSE.':\n <table>\n <tbody><tr>\n <th>From</th>\n <th>To</th>\n <th>When</th>\n <th>Use</th>\n </tr>\n <tr>\n <td>CONFIRMED</td>\n <td>WAREHOUSE</td>\n <td>Shipping order exported</td>\n <td>Call <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_setStatusWarehouse_DetailAnchor\">setStatusWarehouse()</a> - note this is the only way to set the\n items to status WAREHOUSE</td>\n </tr>\n <tr>\n <td>WAREHOUSE</td>\n <td>SHIPPED</td>\n <td>One or more items have been SHIPPED</td>\n <td>Call <a href=\"class_dw_order_ShippingOrderItem.html#dw_order_ShippingOrderItem_setStatus_String_DetailAnchor\">ShippingOrderItem.setStatus(String)</a> using\n <a href=\"class_dw_order_ShippingOrderItem.html#dw_order_ShippingOrderItem_STATUS_SHIPPED_DetailAnchor\">ShippingOrderItem.STATUS_SHIPPED</a></td>\n </tr>\n <tr>\n <td>WAREHOUSE</td>\n <td>CANCELLED</td>\n <td>All items have been CANCELLED</td>\n <td>Call <a href=\"class_dw_order_ShippingOrderItem.html#dw_order_ShippingOrderItem_setStatus_String_DetailAnchor\">ShippingOrderItem.setStatus(String)</a> using\n <a href=\"class_dw_order_ShippingOrderItem.html#dw_order_ShippingOrderItem_STATUS_CANCELLED_DetailAnchor\">ShippingOrderItem.STATUS_CANCELLED</a></td>\n </tr>\n </tbody></table>\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\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_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_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_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_CANCELLED": {
              "name": "STATUS_CANCELLED",
              "value": "\"CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Shipping Order Status CANCELLED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CONFIRMED": {
              "name": "STATUS_CONFIRMED",
              "value": "\"CONFIRMED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Shipping Order Status CONFIRMED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_SHIPPED": {
              "name": "STATUS_SHIPPED",
              "value": "\"SHIPPED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Shipping Order Status SHIPPED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_WAREHOUSE": {
              "name": "STATUS_WAREHOUSE",
              "value": "\"WAREHOUSE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Shipping Order Status WAREHOUSE",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "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 shipping order items belonging to the\n shipping order.\n \n This FilteringCollection could be sorted / filtered\n 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"
            },
            "shipDate": {
              "name": "shipDate",
              "class": {
                "name": "Date"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the shipping date.\n \n Returns null if this shipping order is not yet shipped.",
              "deprecated": false,
              "type": "property"
            },
            "shippingAddress": {
              "name": "shippingAddress",
              "class": {
                "name": "OrderAddress"
              },
              "static": false,
              "readonly": false,
              "description": "The shipping address (optional, can be null).\n\n \n Note: the shipping address is not copied into the\n ShippingOrder but is a link to a\n OrderAddress held in the Order.",
              "deprecated": false,
              "type": "property"
            },
            "shippingMethod": {
              "name": "shippingMethod",
              "class": {
                "name": "ShippingMethod"
              },
              "static": false,
              "readonly": true,
              "description": "The shipping method of the shipping order.\n \n Can be null.",
              "deprecated": false,
              "type": "property"
            },
            "shippingOrderNumber": {
              "name": "shippingOrderNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the shipping order number.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the status of this shipping order. The status is read-only and\n calculated from the item status. See class documentation for more\n details.\n The possible values are STATUS_CONFIRMED,\n STATUS_WAREHOUSE, STATUS_SHIPPED,\n STATUS_CANCELLED.",
              "deprecated": false,
              "type": "property"
            },
            "trackingInfos": {
              "name": "trackingInfos",
              "class": {
                "name": "Collection"
              },
              "static": false,
              "readonly": true,
              "description": "Gets all tracking informations for this shipping order.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addTrackingInfo": {
              "name": "addTrackingInfo",
              "args": [
                {
                  "name": "trackingInfoID",
                  "description": "the tracking info id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "TrackingInfo",
                "description": "the new tracking info"
              },
              "description": "Adds a tracking info to this shipping order with the given ID.",
              "deprecated": false
            },
            "createInvoice": {
              "name": "createInvoice",
              "args": [],
              "class": {
                "name": "Invoice",
                "description": "new invoice"
              },
              "description": "Creates a new Invoice based on this\n ShippingOrder.\n \n The shipping-order-number will be used as the\n invoice-number. The Invoice can then be accessed using\n getInvoice() or getInvoiceNumber() can be used.\n The method must not be called more than once for a ShippingOrder,\n nor may 2 Invoices exist with the same invoice-number.\n \n The new Invoice is a debit-invoice with a status\n Invoice.STATUS_NOT_PAID, and will be passed to the\n capture payment-hook in a separate database transaction for processing.",
              "deprecated": false
            },
            "createInvoice0": {
              "name": "createInvoice",
              "args": [
                {
                  "name": "invoiceNumber",
                  "description": "the invoice-number to use",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Invoice",
                "description": "new invoice"
              },
              "description": "Creates a new Invoice based on this ShippingOrder.\n \n The invoice-number must be specified as an argument.The Invoice can then be accessed using\n getInvoice() or getInvoiceNumber() can be used.\n The method must not be called more than once for a ShippingOrder,\n nor may 2 Invoices exist with the same invoice-number.\n \n The new Invoice is a debit-invoice with a status Invoice.STATUS_NOT_PAID, and\n will be passed to the capture payment-hook in a separate database\n transaction for processing.",
              "deprecated": false
            },
            "createShippingOrderItem": {
              "name": "createShippingOrderItem",
              "args": [
                {
                  "name": "orderItem",
                  "description": "the order item for which the shipping order item is to be created",
                  "class": {
                    "name": "OrderItem"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "the quantity for which the shipping order item will be created",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the created shipping order item"
              },
              "description": "Create a ShippingOrderItem in the shipping order with\n the number shippingOrderNumber.\n \n The quantity of the new item can be optionally specified. A quantity of\n null indicates the new item should be based on the entire order item and\n is recommended for ShippingLineItems. If a quantity is\n specified for a ProductLineItem which is less than\n ProductLineItem.getQuantity() the\n ProductLineItem will be split, creating a new\n ProductLineItem. The new\n ShippingOrderItem will be associated with the new\n ProductLineItem, which will receive the specified\n quantity.\n See also createShippingOrderItem(OrderItem, Quantity, Boolean).",
              "deprecated": false
            },
            "createShippingOrderItem0": {
              "name": "createShippingOrderItem",
              "args": [
                {
                  "name": "orderItem",
                  "description": "the order item for which the shipping order item is to be created",
                  "class": {
                    "name": "OrderItem"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "the quantity for which the shipping order item will be created, not null",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                },
                {
                  "name": "splitIfPartial",
                  "description": "the flag whether ProductLineItem should be split when requested quantity is less than ProductLineItem's quantity",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the created shipping order item"
              },
              "description": "Create a ShippingOrderItem in the shipping order with\n the number shippingOrderNumber.\n \n The quantity of the new item can be optionally specified. A quantity of\n null indicates the new item should be based on the entire order item and\n is recommended for ShippingLineItems.\n If the specified quantity is less than ProductLineItem.getQuantity() the\n ProductLineItem will be split or not depending on splitIfPartial parameter.\n When split is true, the method is equivalent to\n createShippingOrderItem(OrderItem, Quantity).",
              "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 previously created invoice number."
              },
              "description": "Returns null or the invoice-number.",
              "deprecated": false
            },
            "getItems": {
              "name": "getItems",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the filtering collection of the shipping items."
              },
              "description": "A filtering collection of the shipping order items belonging to the\n shipping order.\n \n This FilteringCollection could be sorted / filtered\n 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
            },
            "getShipDate": {
              "name": "getShipDate",
              "args": [],
              "class": {
                "name": "Date",
                "description": "the shipping date or null"
              },
              "description": "Gets the shipping date.\n \n Returns null if this shipping order is not yet shipped.",
              "deprecated": false
            },
            "getShippingAddress": {
              "name": "getShippingAddress",
              "args": [],
              "class": {
                "name": "OrderAddress",
                "description": "the shipping address or null"
              },
              "description": "Returns the shipping address (optional, can be null).\n\n \n Note: the shipping address is not copied into the\n ShippingOrder but is a link to a\n OrderAddress held in the Order.",
              "deprecated": false
            },
            "getShippingMethod": {
              "name": "getShippingMethod",
              "args": [],
              "class": {
                "name": "ShippingMethod",
                "description": "the shipping method or null"
              },
              "description": "Returns the shipping method of the shipping order.\n \n Can be null.",
              "deprecated": false
            },
            "getShippingOrderNumber": {
              "name": "getShippingOrderNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping order number"
              },
              "description": "Gets the shipping order number.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the status of this shipping order. The status is read-only and\n calculated from the item status. See class documentation for more\n details.\n The possible values are STATUS_CONFIRMED,\n STATUS_WAREHOUSE, STATUS_SHIPPED,\n STATUS_CANCELLED.",
              "deprecated": false
            },
            "getTrackingInfo": {
              "name": "getTrackingInfo",
              "args": [
                {
                  "name": "trackingInfoID",
                  "description": "the tracking info id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "TrackingInfo",
                "description": "the tracking info or null"
              },
              "description": "Gets a tracking info for this shipping order.",
              "deprecated": false
            },
            "getTrackingInfos": {
              "name": "getTrackingInfos",
              "args": [],
              "class": {
                "name": "Collection",
                "description": "all tracking informations for this shipping order"
              },
              "description": "Gets all tracking informations for this shipping order.",
              "deprecated": false
            },
            "setShipDate": {
              "name": "setShipDate",
              "args": [
                {
                  "name": "date",
                  "description": "the ship date",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the shipping date.",
              "deprecated": false
            },
            "setShippingAddress": {
              "name": "setShippingAddress",
              "args": [
                {
                  "name": "address",
                  "description": "the shipping address",
                  "class": {
                    "name": "OrderAddress"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a shipping address for the shipping order.",
              "deprecated": false
            },
            "setShippingMethodID": {
              "name": "setShippingMethodID",
              "args": [
                {
                  "name": "shippingMethodID",
                  "description": "the id of the shipping method",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set the id of shipping method.",
              "deprecated": false
            },
            "setStatusWarehouse": {
              "name": "setStatusWarehouse",
              "args": [],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a CONFIRMED shipping order (all items in status CONFIRMED) to status\n WAREHOUSE (all items in status WAREHOUSE).\n Note - this method is the only way to transition a shipping order from\n CONFIRMED to WAREHOUSE.",
              "deprecated": false
            }
          }
        },
        "ShippingOrderItem": {
          "fullClassName": "dw.order.ShippingOrderItem",
          "package": "dw.order",
          "description": "One or more ShippingOrderItems are contained in a\n <a href=\"class_dw_order_ShippingOrder.html\">ShippingOrder</a>, created using\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_createShippingOrderItem_OrderItem_Quantity_DetailAnchor\">ShippingOrder.createShippingOrderItem(OrderItem, Quantity)</a>\n and can be retrieved by\n <a href=\"class_dw_order_ShippingOrder.html#dw_order_ShippingOrder_getItems_DetailAnchor\">ShippingOrder.getItems()</a>. A\n ShippingOrderItem references a single\n <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> which in turn references a\n <a href=\"class_dw_order_LineItem.html\">LineItem</a> associated with an <a href=\"class_dw_order_Order.html\">Order</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.AbstractItem"
            }
          ],
          "constants": {
            "STATUS_CANCELLED": {
              "name": "STATUS_CANCELLED",
              "value": "\"CANCELLED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status CANCELLED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_CONFIRMED": {
              "name": "STATUS_CONFIRMED",
              "value": "\"CONFIRMED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status CONFIRMED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_SHIPPED": {
              "name": "STATUS_SHIPPED",
              "value": "\"SHIPPED\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status SHIPPED",
              "deprecated": false,
              "type": "constant"
            },
            "STATUS_WAREHOUSE": {
              "name": "STATUS_WAREHOUSE",
              "value": "\"WAREHOUSE\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for Order Item Status WAREHOUSE",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "basePrice": {
              "name": "basePrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of a single unit before discount application.",
              "deprecated": false,
              "type": "property"
            },
            "parentItem": {
              "name": "parentItem",
              "class": {
                "name": "ShippingOrderItem"
              },
              "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 the shipping order item.\n \n The Quantity is equal to the related line item quantity.",
              "deprecated": false,
              "type": "property"
            },
            "shippingOrderNumber": {
              "name": "shippingOrderNumber",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The mandatory shipping order number of the related\n ShippingOrder.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "EnumValue"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the order item status.\n \n The possible values are STATUS_CONFIRMED,\n STATUS_WAREHOUSE, STATUS_SHIPPED,\n STATUS_CANCELLED.",
              "deprecated": false,
              "type": "property"
            },
            "trackingRefs": {
              "name": "trackingRefs",
              "class": {
                "name": "FilteringCollection"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the tracking refs (tracking infos) the shipping order item is\n assigned to.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addTrackingRef": {
              "name": "addTrackingRef",
              "args": [
                {
                  "name": "trackingInfoID",
                  "description": "the id of the tracking info",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "quantity",
                  "description": "the quantity the which is assigned to the tracking info for this shipping order item. Optional (null is allowed).",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "TrackingRef",
                "description": "the new tracking reference"
              },
              "description": "A shipping order item can be assigned\n to one or many  tracking infos with\n different quantities. For example an item with quantity 3 may have been\n shipped in 2 packages, each represented by its own\n tracking info - 2\n TrackingRefs would exist with quantities 1 and 2.\n \n This method creates and adds a new tracking\n reference to this shipping order item for a given\n tracking info and quantity. The new\n instance is returned.",
              "deprecated": false
            },
            "applyPriceRate": {
              "name": "applyPriceRate",
              "args": [
                {
                  "name": "factor",
                  "description": "factor used to calculate rate",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                },
                {
                  "name": "divisor",
                  "description": "divisor used to calculate rate",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                },
                {
                  "name": "roundUp",
                  "description": "whether to round up or down on 0.5",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the\n nearest cent if necessary.\n Examples:\n TaxBasis beforefactordivisorroundupCalculationTaxBasis after\n $10.0012true10*1/2=$5.00\n $10.00910true10*9/10=$9.00\n $10.0013true10*1/3=3.3333=$3.33\n  $2.4712true2.47*1/2=1.235=$1.24\n  $2.4712false2.47*1/2=1.235=$1.23\n \n Which prices are updated?:\n The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting\n depending on whether the order is based on net price.\n Example (order based on net price)\n New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00\n Example (order based on gross price)\n New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00",
              "deprecated": false
            },
            "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
            },
            "getParentItem": {
              "name": "getParentItem",
              "args": [],
              "class": {
                "name": "ShippingOrderItem",
                "description": "null or the parent item."
              },
              "description": "Returns null or the parent item.",
              "deprecated": false
            },
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity"
              },
              "description": "The quantity of the shipping order item.\n \n The Quantity is equal to the related line item quantity.",
              "deprecated": false
            },
            "getShippingOrderNumber": {
              "name": "getShippingOrderNumber",
              "args": [],
              "class": {
                "name": "String",
                "description": "the shipping order number."
              },
              "description": "The mandatory shipping order number of the related\n ShippingOrder.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "EnumValue",
                "description": "the status"
              },
              "description": "Gets the order item status.\n \n The possible values are STATUS_CONFIRMED,\n STATUS_WAREHOUSE, STATUS_SHIPPED,\n STATUS_CANCELLED.",
              "deprecated": false
            },
            "getTrackingRefs": {
              "name": "getTrackingRefs",
              "args": [],
              "class": {
                "name": "FilteringCollection",
                "description": "the tracking refs ( tracking infos - TrackingRef ) the shipping order item is assigned to."
              },
              "description": "Gets the tracking refs (tracking infos) the shipping order item is\n assigned to.",
              "deprecated": false
            },
            "setParentItem": {
              "name": "setParentItem",
              "args": [
                {
                  "name": "parentItem",
                  "description": "The parent item, null is allowed",
                  "class": {
                    "name": "ShippingOrderItem"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a parent item. The parent item must belong to the same\n ShippingOrder. 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
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "the status",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the status. See ShippingOrder for details of\n shipping order status transitions. Do not use this method to set a\n shipping order to status WAREHOUSE, instead use\n ShippingOrder.setStatusWarehouse()\n \n This also triggers the setting of the status of the\n LineItem when appropriate. Setting this status can also have an impact on\n the order status, accessed using Order.getStatus() and the\n shipping order status, accessed using ShippingOrder.getStatus().",
              "deprecated": false
            },
            "split": {
              "name": "split",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity for the newly created item",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the newly created item or this item"
              },
              "description": "Split the shipping order item.\n \n This will also lead to a split of the related LineItem.\n Split means that for the passed quantity a new item is created with this\n quantity as an exact copy of this item. The remaining amount will stay in\n this item.\n \n If quantity is equal to getQuantity() no split is done and this\n item is returned itself.\n \n This method is equivalent to split(Quantity, Boolean) called\n with splitOrderItem equals to true.",
              "deprecated": false
            },
            "split0": {
              "name": "split",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity for the newly created item",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                },
                {
                  "name": "splitOrderItem",
                  "description": "true the related LineItem will be splitted too false the related LineItem will not be splitted",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the newly created item or this item"
              },
              "description": "Split the shipping order item.\n \n This will also lead to a split of the related LineItem\n when splitOrderItem is true.\n Split means that for the passed quantity a new item is created with this\n quantity as an exact copy of this item. The remaining amount will stay in\n this item.\n \n If quantity is equal to getQuantity() no split is done and this\n item is returned itself.",
              "deprecated": false
            }
          }
        },
        "SumItem": {
          "fullClassName": "dw.order.SumItem",
          "package": "dw.order",
          "description": "Container used to represent an subtotal or grandtotal item which contains various prices and a tax breakdown\n held in a collection of tax-items.\n <p>Usage example:\n <code>\n <br>var invoice : Invoice = ...;\n <br>var productNet = invoice.productSubTotal.netPrice;\n <br>var serviceNet = invoice.serviceSubTotal.netPrice;\n <br>var grandNet   = invoice.grandTotal.netPrice;\n <br>var grandTax   = invoice.grandTotal.tax;\n <br>var grandGross = invoice.grandTotal.grossPrice;\n <br>\n <br> # tax breakdown\n <br>for each(taxItem : TaxItem in invoice.grandTotal.taxItems) {\n <br>  var tax : Money         = taxItem.amount;\n <br>  var taxGroup : TaxGroup = taxItem.taxGroup;\n <br>  var rate : Double       = taxGroup.rate;\n <br>  var caption :String     = taxGroup.caption;\n <br>  var taxType :String     = taxGroup.taxType;\n <br>}\n </code></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "grossPrice": {
              "name": "grossPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Gross price of SumItem.",
              "deprecated": false,
              "type": "property"
            },
            "netPrice": {
              "name": "netPrice",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Net price of SumItem.",
              "deprecated": false,
              "type": "property"
            },
            "tax": {
              "name": "tax",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Total tax for SumItem.",
              "deprecated": false,
              "type": "property"
            },
            "taxBasis": {
              "name": "taxBasis",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Price of entire SumItem 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 for the SumItem.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getGrossPrice": {
              "name": "getGrossPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Gross price of SumItem."
              },
              "description": "Gross price of SumItem.",
              "deprecated": false
            },
            "getNetPrice": {
              "name": "getNetPrice",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Net price of SumItem."
              },
              "description": "Net price of SumItem.",
              "deprecated": false
            },
            "getTax": {
              "name": "getTax",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Total tax for SumItem."
              },
              "description": "Total tax for SumItem.",
              "deprecated": false
            },
            "getTaxBasis": {
              "name": "getTaxBasis",
              "args": [],
              "class": {
                "name": "Money",
                "description": "Price of entire item on which tax calculation is based"
              },
              "description": "Price of entire SumItem 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 for the SumItem"
              },
              "description": "Tax items representing a tax breakdown for the SumItem.",
              "deprecated": false
            }
          }
        },
        "TaxGroup": {
          "fullClassName": "dw.order.TaxGroup",
          "package": "dw.order",
          "description": "Contains the formal definition of a tax including a type (it's just the key),\n a <a href=\"class_dw_order_TaxGroup.html#dw_order_TaxGroup_getRate_DetailAnchor\"> percentage value</a> if provided, a <a href=\"class_dw_order_TaxGroup.html#dw_order_TaxGroup_getCaption_DetailAnchor\"> caption</a> and a <a href=\"class_dw_order_TaxGroup.html#dw_order_TaxGroup_getDescription_DetailAnchor\"> description</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "caption": {
              "name": "caption",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the caption.",
              "deprecated": false,
              "type": "property"
            },
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the description.",
              "deprecated": false,
              "type": "property"
            },
            "rate": {
              "name": "rate",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the percentage amount of the rate.",
              "deprecated": false,
              "type": "property"
            },
            "taxType": {
              "name": "taxType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the tax type.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "create": {
              "name": "create",
              "args": [
                {
                  "name": "taxType",
                  "description": "the tax type",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "caption",
                  "description": "the caption",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "description",
                  "description": "the description",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "taxRate",
                  "description": "the tax rate as floating point.  1.0 means 100 %.",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "TaxGroup",
                "description": "the tax group"
              },
              "description": "Creates a TaxGroup. \n This TaxGroup can be used for example in ReturnItem.addTaxItem(Decimal, TaxGroup).",
              "deprecated": false
            },
            "getCaption": {
              "name": "getCaption",
              "args": [],
              "class": {
                "name": "String",
                "description": "the caption"
              },
              "description": "Gets the caption.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the description"
              },
              "description": "Gets the description.",
              "deprecated": false
            },
            "getRate": {
              "name": "getRate",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the tax rate percentage value"
              },
              "description": "Gets the percentage amount of the rate.",
              "deprecated": false
            },
            "getTaxType": {
              "name": "getTaxType",
              "args": [],
              "class": {
                "name": "String",
                "description": "the tax type"
              },
              "description": "Gets the tax type.",
              "deprecated": false
            }
          }
        },
        "TaxItem": {
          "fullClassName": "dw.order.TaxItem",
          "package": "dw.order",
          "description": "An item containing tax information allowing a tax breakdown between a number of <a href=\"class_dw_order_TaxGroup.html\">TaxGroup</a>s.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "amount": {
              "name": "amount",
              "class": {
                "name": "Money"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the amount.",
              "deprecated": false,
              "type": "property"
            },
            "taxGroup": {
              "name": "taxGroup",
              "class": {
                "name": "TaxGroup"
              },
              "static": false,
              "readonly": true,
              "description": "The  tax group.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAmount": {
              "name": "getAmount",
              "args": [],
              "class": {
                "name": "Money",
                "description": "the amount"
              },
              "description": "Gets the amount.",
              "deprecated": false
            },
            "getTaxGroup": {
              "name": "getTaxGroup",
              "args": [],
              "class": {
                "name": "TaxGroup",
                "description": "the tax rate"
              },
              "description": "Returns the  tax group.",
              "deprecated": false
            }
          }
        },
        "TaxMgr": {
          "fullClassName": "dw.order.TaxMgr",
          "package": "dw.order",
          "description": "Provides methods to access the tax table.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "TAX_POLICY_GROSS": {
              "name": "TAX_POLICY_GROSS",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the gross taxation policy.",
              "deprecated": false,
              "type": "constant"
            },
            "TAX_POLICY_NET": {
              "name": "TAX_POLICY_NET",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant representing the net taxation policy.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "customRateTaxClassID": {
              "name": "customRateTaxClassID",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The ID of the tax class that represents items with a custom tax rate.\n The standard order calculation process assumes that such line items\n are initialized with a tax rate and a being ignored during the tax rate\n lookup sequence of the calculation process. \n\n Note that this tax class does not appear in the Business Manager\n tax module.",
              "deprecated": false,
              "type": "property"
            },
            "defaultTaxClassID": {
              "name": "defaultTaxClassID",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The ID of the default tax class defined for the site.\n This class might be used in case a product or service does not define\n a tax class. \n If no default tax class is defined, the method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "defaultTaxJurisdictionID": {
              "name": "defaultTaxJurisdictionID",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The ID of the default tax jurisdiction defined for the site.\n This jurisdiction might be used in case no jurisdiction is defined for\n a specific address. \n If no default tax jurisdiction is defined, this method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "taxationPolicy": {
              "name": "taxationPolicy",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The taxation policy (net/gross) configured for the current site.",
              "deprecated": false,
              "type": "property"
            },
            "taxExemptTaxClassID": {
              "name": "taxExemptTaxClassID",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The ID of the tax class that represents tax exempt items.\n The tax manager will return a tax rate of 0.0 for this tax class. \n\n Note that this tax class does not appear in the Business Manager\n tax module.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCustomRateTaxClassID": {
              "name": "getCustomRateTaxClassID",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the ID of the tax class that represents items with a custom tax rate.\n The standard order calculation process assumes that such line items\n are initialized with a tax rate and a being ignored during the tax rate\n lookup sequence of the calculation process. \n\n Note that this tax class does not appear in the Business Manager\n tax module.",
              "deprecated": false
            },
            "getDefaultTaxClassID": {
              "name": "getDefaultTaxClassID",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "the ID of the default tax class defined for the site or null."
              },
              "description": "Returns the ID of the default tax class defined for the site.\n This class might be used in case a product or service does not define\n a tax class. \n If no default tax class is defined, the method returns null.",
              "deprecated": false
            },
            "getDefaultTaxJurisdictionID": {
              "name": "getDefaultTaxJurisdictionID",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "the ID of the default tax jurisdiction defined for the site or null."
              },
              "description": "Returns the ID of the default tax jurisdiction defined for the site.\n This jurisdiction might be used in case no jurisdiction is defined for\n a specific address. \n If no default tax jurisdiction is defined, this method returns null.",
              "deprecated": false
            },
            "getTaxationPolicy": {
              "name": "getTaxationPolicy",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "Taxation policy configured for current site"
              },
              "description": "Returns the taxation policy (net/gross) configured for the current site.",
              "deprecated": false
            },
            "getTaxExemptTaxClassID": {
              "name": "getTaxExemptTaxClassID",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": ""
              },
              "description": "Returns the ID of the tax class that represents tax exempt items.\n The tax manager will return a tax rate of 0.0 for this tax class. \n\n Note that this tax class does not appear in the Business Manager\n tax module.",
              "deprecated": false
            },
            "getTaxJurisdictionID": {
              "name": "getTaxJurisdictionID",
              "args": [
                {
                  "name": "location",
                  "description": "The shipping location",
                  "class": {
                    "name": "ShippingLocation"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the ID of the tax jurisdiction for the specified address or null."
              },
              "description": "Returns the ID of the tax jurisdiction for the specified\n address.\n If no tax jurisdiction defined for the site matches the specified\n address, this method returns null.",
              "deprecated": false
            },
            "getTaxRate": {
              "name": "getTaxRate",
              "args": [
                {
                  "name": "taxClassID",
                  "description": "ID of the tax class",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "taxJurisdictionID",
                  "description": "ID of tax jusrisdiction",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the tax rate defined for the specified combination of tax class and tax jurisdiction."
              },
              "description": "Returns the tax rate defined for the specified combination of tax class\n and tax jurisdiction. \n Method returns null if no tax rate is defined. \n Method returns 0.0 of 'nontaxable' tax rate is specified (see\n method 'getNontaxableTaxClassID'.",
              "deprecated": false
            }
          }
        },
        "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
            }
          }
        },
        "TrackingRef": {
          "fullClassName": "dw.order.TrackingRef",
          "package": "dw.order",
          "description": "Provides basic information about the <a href=\"class_dw_order_TrackingInfo.html\">TrackingInfo</a> a\n <a href=\"class_dw_order_ShippingOrderItem.html\">ShippingOrderItem</a> is contained.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "quantity": {
              "name": "quantity",
              "class": {
                "name": "Quantity"
              },
              "static": false,
              "readonly": false,
              "description": "Gets the quantity, the shipping order item is assigned to the tracking\n info.",
              "deprecated": false,
              "type": "property"
            },
            "shippingOrderItem": {
              "name": "shippingOrderItem",
              "class": {
                "name": "ShippingOrderItem"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the shipping order item which is assigned to the tracking info.",
              "deprecated": false,
              "type": "property"
            },
            "trackingInfo": {
              "name": "trackingInfo",
              "class": {
                "name": "TrackingInfo"
              },
              "static": false,
              "readonly": true,
              "description": "Gets the tracking info, the shipping order item is assigned to.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getQuantity": {
              "name": "getQuantity",
              "args": [],
              "class": {
                "name": "Quantity",
                "description": "the quantity the shipping order item is assigned to the tracking info."
              },
              "description": "Gets the quantity, the shipping order item is assigned to the tracking\n info.",
              "deprecated": false
            },
            "getShippingOrderItem": {
              "name": "getShippingOrderItem",
              "args": [],
              "class": {
                "name": "ShippingOrderItem",
                "description": "the shipping order item"
              },
              "description": "Gets the shipping order item which is assigned to the tracking info.",
              "deprecated": false
            },
            "getTrackingInfo": {
              "name": "getTrackingInfo",
              "args": [],
              "class": {
                "name": "TrackingInfo",
                "description": "the tracking info"
              },
              "description": "Gets the tracking info, the shipping order item is assigned to.",
              "deprecated": false
            },
            "setQuantity": {
              "name": "setQuantity",
              "args": [
                {
                  "name": "quantity",
                  "description": "the quantity, the shipping order item is assigned to the tracking info.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the quantity, the shipping order item is assigned to the tracking\n info.",
              "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
              }
            }
          },
          "OrderHooks": {
            "fullClassName": "dw.order.hooks.OrderHooks",
            "package": "dw.order.hooks",
            "description": "This interface represents all script hooks that can be registered to customize the order logic. It contains the\n extension points (hook names), and the functions that are called by each extension point. A function must be defined\n inside a JavaScript source and must be exported. The script with the exported hook function must be located inside a\n site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n <p>\n \"hooks\": \"./hooks.json\"\n </p>\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.order.createOrderNo\", \"script\": \"./orders.ds\"},\n ]\n </pre>\n <p></p>\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": {
              "extensionPointCreateOrderNo": {
                "name": "extensionPointCreateOrderNo",
                "value": "\"dw.order.createOrderNo\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.createOrderNo.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "createOrderNo": {
                "name": "createOrderNo",
                "args": [],
                "class": {
                  "name": "String",
                  "description": "the order number"
                },
                "description": "This hook is responsible for creating a new order number.\n \n By default order numbers are generated by using OrderMgr.createOrderSequenceNo(). Use this hook\n to customize the order number generation. E.g. a prefix or suffix could be added.\n \n         exports.createOrderNo = function(){\n            var orderSeqNo = OrderMgr.createOrderSequenceNo();\n            var prefix = Site.getCurrent().getSiteId();\n            return prefix + \"_\"+orderSeqNo;\n        };\n        \n \n \n If the method returns null or an blank string order number generation will fall\n back to OrderMgr.createOrderSequenceNo().\n \n The maximum length of the order number is 50 characters.",
                "deprecated": false
              }
            }
          },
          "PaymentHooks": {
            "fullClassName": "dw.order.hooks.PaymentHooks",
            "package": "dw.order.hooks",
            "description": "This interface represents all script hooks that can be registered to\n customize the order center payment functionality. It contains the extension\n 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\n exported. The script with the exported hook function must be located inside a\n site cartridge. Inside the site cartridge a 'package.json' file with a\n 'hooks' entry must exist.\n <p>\n \"hooks\": \"./hooks.json\"\n </p>\n The hooks entry links to a json file, relative to the 'package.json' file.\n This file lists all registered hooks inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.order.payment.authorize\", \"script\": \"./authorize.js\"},\n      {\"name\": \"dw.order.payment.validateAuthorization\", \"script\": \"./validateAuthorization.js\"},\n ]\n </pre>\n\n <p></p>\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\n exported hook function.</li>\n </ul>",
            "hierarchy": [],
            "constants": {
              "extensionPointAuthorize": {
                "name": "extensionPointAuthorize",
                "value": "\"dw.order.payment.authorize\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.authorize.\n  This hook is optional.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointAuthorizeCreditCard": {
                "name": "extensionPointAuthorizeCreditCard",
                "value": "\"dw.order.payment.authorizeCreditCard\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.authorizeCreditCard.\n  This hook is optional.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointCapture": {
                "name": "extensionPointCapture",
                "value": "\"dw.order.payment.capture\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.capture.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointReauthorize": {
                "name": "extensionPointReauthorize",
                "value": "\"dw.order.payment.reauthorize\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.reauthorize.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointRefund": {
                "name": "extensionPointRefund",
                "value": "\"dw.order.payment.refund\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.refund.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointReleaseAuthorization": {
                "name": "extensionPointReleaseAuthorization",
                "value": "\"dw.order.payment.releaseAuthorization\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.releaseAuthorization.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointValidateAuthorization": {
                "name": "extensionPointValidateAuthorization",
                "value": "\"dw.order.payment.validateAuthorization\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.payment.validateAuthorization.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "authorize": {
                "name": "authorize",
                "args": [
                  {
                    "name": "order",
                    "description": "the order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "paymentDetails",
                    "description": "specified payment details",
                    "class": {
                      "name": "OrderPaymentInstrument"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK successful authorization. Status.ERROR authorization failed."
                },
                "description": "The function is called by extension point extensionPointAuthorize. Custom payment authorization - modify the\n order as needed.\n\n \n Prerequisite: An order has been created using the data api or via the storefront.\n Return Status.OK: Corresponding payment transaction is marked as authorized (usually a custom property is used for this).\n Return Status.ERROR: Order is held, authorization needs to be repeated.",
                "deprecated": false
              },
              "authorizeCreditCard": {
                "name": "authorizeCreditCard",
                "args": [
                  {
                    "name": "order",
                    "description": "the order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  },
                  {
                    "name": "paymentDetails",
                    "description": "specified payment details",
                    "class": {
                      "name": "OrderPaymentInstrument"
                    },
                    "multiple": false
                  },
                  {
                    "name": "cvn",
                    "description": "the credit card verification number",
                    "class": {
                      "name": "String"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK successful authorization. Status.ERROR authorization failed."
                },
                "description": "The function is called by extension point\n extensionPointAuthorizeCreditCard. Custom payment authorization\n of a credit card - modify the order as needed.\n\n\n \n Prerequisite: An order has been created using the data api or via the\n storefront.\n Return Status.OK: Corresponding payment transaction is marked as\n authorized (usually a custom property is used for this).\n Return Status.ERROR: Order is held, authorization needs to be\n repeated.",
                "deprecated": false
              },
              "capture": {
                "name": "capture",
                "args": [
                  {
                    "name": "invoice",
                    "description": "the invoice",
                    "class": {
                      "name": "Invoice"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK for successful capture of entire invoice amount. Status.ERROR capture failed"
                },
                "description": "The function is called by extension point extensionPointCapture. Custom payment capture - modify the order as needed.\n\n Prerequisite:\n [ either ] As a result of shipping (or part-shipping) a shipping -order the warehouse updates the status of the shipping-order\n resulting in the creation of an unpaid debit invoice (the creation of the invoice is usually handled in\n ShippingOrderHooks.changeStatus(ShippingOrder, ShippingOrderWO)).\n [ or ] A unpaid debit invoice has been created using the data api. \n Context: An unpaid debit invoice is passed to the payment system for capture. The capture attempt can either succeed (complete\n invoice amount captured) or fail. As a result the invoice status is updated by ordercenter for further processing. See Invoice.\n Hook responsibility: The hook should attempt to capture the amount located in invoice.grandTotal.grossPrice. When successful,\n the capture hook should also update the invoice by calling\n Invoice.addCaptureTransaction(OrderPaymentInstrument, Money)\n which serves to record the capturedAmount and associate the invoice with the payment-transaction.\n Return Status.OK: Indicates capture succeeded: Order Center sets the Invoice status to Invoice.STATUS_PAID.\n Return Status.ERROR: Indicates capture failed: Order Center sets the Invoice status to Invoice.STATUS_FAILED for\n further processing.\n Post processing:  When the capture hook returns with success, order center not only sets the relevant invoice status, but also\n sets the relevant capturedAmount values on the invoice item. Returning success means the entire invoice total has been captured, so each item\n within the invoice can also be marked as completely captured. Note the script implementing the hook can take responsibility for this if desired\n order center will not overwrite existing values, but normally the standard implementation fits. As a result each invoice item and the related\n order item can return a capturedAmount, useful for calculating possible refunds.",
                "deprecated": false
              },
              "reauthorize": {
                "name": "reauthorize",
                "args": [
                  {
                    "name": "order",
                    "description": "the order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK successful authorization. Status.ERROR authorization failed"
                },
                "description": "The function is called by extension point extensionPointReauthorize. Custom payment authorization - modify the\n order as needed.\n\n \n Prerequisite:\n [ either ] Based on a selected Order, a ShippingOrder (which represents the whole or part of the order which can be shipped)\n is to be created ready for export to the warehouse system.\n [ or ] A ShippingOrder is to be directly created using the data api.\n Context: The related order is passed to the payment hook to check its authorization has not become invalid. Two hooks are called:\n a. validateAuthorization(Order) is used to check the orders authorization is still valid\n b. reauthorize(Order) is called if step a. returns Error\n \n Return Status.OK: Corresponding payment transaction is marked as authorized (usually a custom property is used for this).\n If the order had been previously authorized, the custom property values may be overwritten during reauthorization.\n Return Status.ERROR: Order is held, authorization needs to be repeated.",
                "deprecated": false
              },
              "refund": {
                "name": "refund",
                "args": [
                  {
                    "name": "invoice",
                    "description": "the invoice",
                    "class": {
                      "name": "Invoice"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK for successful refund of entire invoice amount. Status.ERROR refund failed"
                },
                "description": "The function is called by extension point extensionPointRefund. Custom payment refund - modify the order as needed.\n\n Prerequisite:\n [ either ] Goods returned by the customer result in the creation of one or more return documents, resulting in the creation of an\n unpaid customer credit invoice (the creation of the invoice is usually handled in ReturnHooks.changeStatus(Return, ReturnWO)).\n [ or ] An unpaid customer credit invoice is created using the data api (perhaps as a result of the creation of a customer appeasement).\n Context: An unpaid credit invoice is passed to the payment system for refund. The refund attempt can either succeed (complete\n invoice amount refunded) or fail. As a result the invoice status is updated by ordercenter for further processing. See Invoice.\n Hook responsibility: The hook should attempt to refund the amount located in invoice.grandTotal.grossPrice. When successful,\n the refund hook should also update the invoice by calling\n Invoice.addRefundTransaction(OrderPaymentInstrument, Money)\n which serves to record the refundedAmount and associate the invoice with the payment-transaction.\n Return Status.OK: Indicates refund succeeded: Order Center sets the Invoice status to Invoice.STATUS_PAID.\n Return Status.ERROR: Indicates refund failed: Order Center sets the Invoice status to Invoice.STATUS_FAILED for\n further processing.\n Post processing:  When the refund hook returns with success, order center not only sets the relevant invoice status, but also\n sets the relevant refundAmount values on the invoice item. Returning success means the entire invoice total has been refunded, so each item\n within the invoice can also be marked as completely refunded. Note the script implementing the hook can take responsibility for this if desired\n order center will not overwrite existing values, but normally the standard implementation fits. As a result each invoice item and the related\n order item can return a refundedAmount, useful for calculating further possible refunds.",
                "deprecated": false
              },
              "releaseAuthorization": {
                "name": "releaseAuthorization",
                "args": [
                  {
                    "name": "order",
                    "description": "the order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK for successful release authorization. Status.ERROR failed release authorization"
                },
                "description": "The function is called by extension point extensionPointReleaseAuthorization.\n Custom payment release authorization - modify the order as needed.\n\n Prerequisite: an authorized order is updated resulting in a need to release the remaining authorization. This happens when:\n - order is cancelled\n - order is complete after remaining order items are cancelled.\n Return Status.OK - successful release authorization \n Return Status.ERROR - failed release authorization",
                "deprecated": false
              },
              "validateAuthorization": {
                "name": "validateAuthorization",
                "args": [
                  {
                    "name": "order",
                    "description": "the order",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK order has a valid payment authorization. Status.ERROR order has no valid payment authorization, reauthorize(Order) should be called"
                },
                "description": "The function is called by extension point extensionPointValidateAuthorization. Custom payment authorization - modify the\n order as needed.\n\n Context: This hook is called to validate whether a payment authorization exists for the order. It should usually check:\n - Whether the authorize or reauthorize hook was previously successfully executed for the order, e.g. by checking whether custom property has been previously set.\n - Whether an existing authorization has expired e.g. by comparing a timestamp set on authorization with the current time.\n Return Status.OK: indicates the order has a valid payment authorization.\n Return Status.ERROR: indicates reauthorize(Order) should be called.\n See reauthorize(Order) for more details.",
                "deprecated": false
              }
            }
          },
          "ReturnHooks": {
            "fullClassName": "dw.order.hooks.ReturnHooks",
            "package": "dw.order.hooks",
            "description": "This interface represents all script hooks that can be registered to\n customizing the order center return resource. It contains the extension\n 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\n exported. The script with the exported hook function must be located inside a\n site cartridge. Inside the site cartridge a 'package.json' file with a\n 'hooks' entry must exist.\n <p>\n \"hooks\": \"./hooks.json\"\n </p>\n The hooks entry links to a json file, relative to the 'package.json' file.\n This file lists all registered hooks inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n    {\"name\": \"dw.order.return.createReturn\",           \"script\": \"./returns.ds\"},\n    {\"name\": \"dw.order.return.addReturnItem\",          \"script\": \"./returns.ds\"},\n    {\"name\": \"dw.order.return.changeStatus\",           \"script\": \"./returns.ds\"},\n ]\n </pre>\n\n <p></p>\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\n exported hook function.</li>\n </ul>\n\n <h2>Overview Return Functionality</h2> <h3>Business objects</h3> <h4>\n <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a></h4> All returns exist in the context of a\n <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>, each <a href=\"class_dw_order_Order.html\">Order</a> can have any number\n of <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>s. <br>\n A <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>s, each of\n which is associated with an <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> (an extension to\n either a <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a> or a\n <a href=\"class_dw_order_ShippingLineItem.html\">ShippingLineItem</a>). <br>\n Each <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a> defines an\n <a href=\"class_dw_order_ReturnCaseItem.html#dw_order_ReturnCaseItem_getAuthorizedQuantity_DetailAnchor\">ReturnCaseItem.getAuthorizedQuantity()</a> representing the\n maximum quantity expected to be returned. A <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>\n may be associated with 0..n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s -\n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s are added to the <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>\n when <a href=\"class_dw_order_Return.html\">Return</a>s are created.\n <p>\n <i>Either</i> - a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> may be used as an RMA, in which\n case they are created when a customer first shows a wish to return item(s).\n The customer then includes the RMA number with the returned item(s). The\n <a href=\"class_dw_order_Return.html\">Return</a> created as a result is then associated with the\n existing <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>. <br>\n <i>Or</i> - a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> is automatically created as part of\n the return creation, i.e. the customer returns some item(s) leading to a\n creation of both a <a href=\"class_dw_order_Return.html\">Return</a> and an associated\n <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>.\n </p>\n <p>\n The scripting api allows access to the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>s, whether\n the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> is an RMA or not, and the\n <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> status. Both the <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>s\n and any <a href=\"class_dw_order_Return.html\">Return</a>s associated with the\n <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> can be accessed.\n </p><p>\n A <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has one of these status values:\n </p><ul>\n <li>New - the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has been created and can be edited\n previous to its authorization</li>\n <li>CONFIRMED - the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> is CONFIRMED, can no longer\n be edited, no <a href=\"class_dw_order_Return.html\">Return</a>s have been associated with it. Only an\n New- <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> can be CONFIRMED</li>\n <li>PARTIAL_RETURNED - the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has been associated\n with at least one <a href=\"class_dw_order_Return.html\">Return</a>, but is not yet complete. Only an\n CONFIRMED- <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> can be set to PARTIAL_RETURNED</li>\n <li>RETURNED - the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has been associated with\n <a href=\"class_dw_order_Return.html\">Return</a>s which match the expected authorized quantity. Only\n an CONFIRMED- or PARTIAL_RETURNED- return-case can be set to RETURNED</li>\n <li>Cancelled - the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> has been cancelled (only a\n New- or CONFIRMED- <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> can be cancelled)</li>\n </ul>\n\n <h4><a href=\"class_dw_order_Return.html\">Return</a></h4>\n A <a href=\"class_dw_order_Return.html\">Return</a> represents a physical customer return, and contains\n 1..n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s. A <a href=\"class_dw_order_Return.html\">Return</a> is associated\n with one <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>, and each <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a> is\n associated with one <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a> and (via the\n <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>) a single <a href=\"class_dw_order_OrderItem.html\">OrderItem</a> usually\n representing an <a href=\"class_dw_order_Order.html\">Order</a> <a href=\"class_dw_order_ProductLineItem.html\">ProductLineItem</a>. <br>\n A <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a> records the quantity returned. <br>\n A <a href=\"class_dw_order_Return.html\">Return</a> can have one of these status values:\n <ul>\n <li>NEW - the <a href=\"class_dw_order_Return.html\">Return</a> is new, i.e. needs to undergo a check\n before it can be marked as COMPLETED</li>\n <li>COMPLETED - the return is complete, this is a precondition for refunding\n the customer for a return.</li>\n </ul>\n <h4>Credit Invoice</h4>\n As a result of making a <a href=\"class_dw_order_Return.html\">Return</a>, the customer may be\n refunded. The refund amount is held in a credit <a href=\"class_dw_order_Invoice.html\">Invoice</a>\n which may be associated <i>either</i> with one <a href=\"class_dw_order_Return.html\">Return</a>\n <i>or</i> with one <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>. The <a href=\"class_dw_order_Invoice.html\">Invoice</a>\n is passed to the <i>refund</i> payment hook allowing custom code to handle\n the payment refund.\n\n <h3>Process overview</h3>\n <h4>Create <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a></h4>\n The creation of <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>s is supported using the data-api.\n The api supports, within the context of an <a href=\"class_dw_order_Order.html\">Order</a>, the\n specification of an (optional) RMA-number and addition of\n <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a>s for a given order-item and quantity.\n <h4>Authorize <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a></h4>\n Following its creation, a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> needs to be CONFIRMED -\n an CONFIRMED <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> cannot be modified.\n <h4>Cancel <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a></h4>\n Following its creation or authorization, a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> may be\n cancelled.\n <h4>Create <a href=\"class_dw_order_Return.html\">Return</a></h4>\n <a href=\"class_dw_order_Return.html\">Return</a>s may be imported or created via the data-api. These\n apis specify an (optional) RMA allowing a <a href=\"class_dw_order_Return.html\">Return</a> to be\n associated with a <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a>, and\n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s with a quantity and a key allowing them to be\n associated with an order-item. The process is delegated to custom scripts\n which control the creation of the <a href=\"class_dw_order_Return.html\">Return</a> and the addition of\n the <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s:\n\n <h5>Hook <a href=\"class_dw_order_hooks_ReturnHooks.html#dw_order_hooks_ReturnHooks_extensionPointCreateReturn_DetailAnchor\">extensionPointCreateReturn</a></h5>\n The creation of the new <a href=\"class_dw_order_Return.html\">Return</a> is delegated to the custom\n script when this hook is called, passing the order, and details of the\n <a href=\"class_dw_order_Return.html\">Return</a> to be created to the script. Typically the script\n accesses the <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> from the order and creates the\n return with the provided return-number. It may also update the\n <a href=\"class_dw_order_Order.html\">Order</a>, <a href=\"class_dw_order_ReturnCase.html\">ReturnCase</a> or\n <a href=\"class_dw_order_Return.html\">Return</a> using custom values passed in the\n <a href=\"class_dw_order_Return.html\">Return</a> details. <br>\n <code>\n   <br>exports.createReturn = function (order:Order, returnDetails) {\n   <br>  var returnNumber=returnDetails.returnNumber;\n   <br>  var returnCase = order.getReturnCase(returnDetails.returnCaseNumber);\n   <br>  var newReturn = returnCase.createReturn(returnNumber);\n   <br> return newReturn;\n   <br>}</code>\n\n <h5>Hook <a href=\"class_dw_order_hooks_ReturnHooks.html#dw_order_hooks_ReturnHooks_extensionPointAddReturnItem_DetailAnchor\">extensionPointAddReturnItem</a></h5>\n This call delegates the creation of individual <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a>s\n to a custom script, passing the <a href=\"class_dw_order_Order.html\">Order</a>, returnNumber,\n returnCaseItemId and return-item-details. Typically the script will access\n the <a href=\"class_dw_order_ReturnCaseItem.html\">ReturnCaseItem</a> from the order and create a new\n <a href=\"class_dw_order_ReturnItem.html\">ReturnItem</a> for it. <br>\n <code>exports.addReturnItem = function (retrn:Return, returnItemDetails) {\n   <br> var returnCaseItem = order.getReturnCaseItem(returnCaseItemId);\n   <br> var item = returnCaseItem.createReturnItem(returnNr);\n   <br></code>\n\n <h5>Hook <a href=\"class_dw_order_hooks_ReturnHooks.html#dw_order_hooks_ReturnHooks_extensionPointChangeStatus_DetailAnchor\">extensionPointChangeStatus</a></h5>\n This call delegates the update of the return-status to a custom script,\n passing the <a href=\"class_dw_order_Order.html\">Order</a>, returnNumber and new status. The custom\n script is responsible for setting the status and taking any other actions\n necessary, including the possibility of creating a credit invoice: <br>\n <code>changeStatus = function (retrn:Return, status) {\n   <br> retrn.status=status;\n   <br></code>\n\n <h5>Hook <a href=\"class_dw_order_hooks_ReturnHooks.html#dw_order_hooks_ReturnHooks_extensionPointAfterStatusChange_DetailAnchor\">extensionPointAfterStatusChange</a></h5>\n This call delegates the update of the return-status to a custom script,\n passing the <a href=\"class_dw_order_Order.html\">Order</a>, returnNumber and new status. The custom\n script is responsible for setting the status and taking any other actions\n necessary, including the possibility of creating a credit invoice: <br>\n <code>changeStatus = function (retrn:Return, status) {\n   <br> retrn.status=status;\n   <br></code>\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": [],
            "constants": {
              "extensionPointAddReturnItem": {
                "name": "extensionPointAddReturnItem",
                "value": "\"dw.order.return.addReturnItem\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.return.addReturnItem.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointAfterStatusChange": {
                "name": "extensionPointAfterStatusChange",
                "value": "\"dw.order.return.afterStatusChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.return.afterStatusChange.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointChangeStatus": {
                "name": "extensionPointChangeStatus",
                "value": "\"dw.order.return.changeStatus\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.return.changeStatus.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointCreateReturn": {
                "name": "extensionPointCreateReturn",
                "value": "\"dw.order.return.createReturn\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.return.createReturn.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointNotifyStatusChange": {
                "name": "extensionPointNotifyStatusChange",
                "value": "\"dw.order.return.notifyStatusChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.return.notifyStatusChange.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "addReturnItem": {
                "name": "addReturnItem",
                "args": [
                  {
                    "name": "retrn",
                    "description": "the return for which an return item should be created",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  },
                  {
                    "name": "inputData",
                    "description": "the return item",
                    "class": {
                      "name": "ReturnItem"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK return item is successfully added Status.ERROR return item addition failed."
                },
                "description": "The hook provides customization in the process of assigning the returned\n amount, quantity etc. Here it is possible to refund differently based on\n the return reason code for example. Also one could correct the inventory\n based on the return information. Utilize\n ReturnCaseItem.createReturnItem(String) to create a new\n ReturnItem.",
                "deprecated": false
              },
              "afterStatusChange": {
                "name": "afterStatusChange",
                "args": [
                  {
                    "name": "retrn",
                    "description": "the return",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK status successful Status.ERROR on failure"
                },
                "description": "Called after method changeStatus(Return, ReturnWO) returns\n Status.OK. The call is made in a separate database transaction allowing\n the script implementation to make an independent remote call if desired.",
                "deprecated": false
              },
              "changeStatus": {
                "name": "changeStatus",
                "args": [
                  {
                    "name": "retrn",
                    "description": "the return which status should change",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  },
                  {
                    "name": "inputData",
                    "description": "the data in which the new status is included",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK status successfully changed Status.ERROR status not changed."
                },
                "description": "Responsible to change the status of a Return: the custom\n script is responsible for setting the new status using\n Return.setStatus(String).\n\n \n The invoice handling should be implemented here using\n Return.createInvoice(String) or\n ReturnCase.createInvoice(String). For example create an\n Invoice for a Return moving to status\n Return.STATUS_COMPLETED.",
                "deprecated": false
              },
              "createReturn": {
                "name": "createReturn",
                "args": [
                  {
                    "name": "inputData",
                    "description": "the return",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Return",
                  "description": "the created return"
                },
                "description": "This hook is responsible for creating a new Return,\n based on a ReturnCase. 2 basic workflows are supported:\n \n \n On-the-fly return: create the parent ReturnCase using\n Order.createReturnCase(String, Boolean).\n \n Return-merchandise-authorization (RMA) workflow: resolve an existing\n ReturnCase using\n Order.getReturnCase(String).\n \n In both cases use  this\n method to create the Return based on the inputData.\n \n Additional functionality like creating history entry, handling the return\n fees or the shipping cost credit can be implemented in the hook after the\n Return is created.",
                "deprecated": false
              },
              "notifyStatusChange": {
                "name": "notifyStatusChange",
                "args": [
                  {
                    "name": "retrn",
                    "description": "the return",
                    "class": {
                      "name": "Return"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK status successful Status.ERROR on failure"
                },
                "description": "Called after method changeStatus(Return, ReturnWO) returns\n Status.OK (and after method afterStatusChange(Return))\n to inform of a successful status change. The call is made outside any\n database transaction. This is the best hook in which to send customer\n notifications as the status change has already been successfully written\n to the database",
                "deprecated": false
              }
            }
          },
          "ShippingOrderHooks": {
            "fullClassName": "dw.order.hooks.ShippingOrderHooks",
            "package": "dw.order.hooks",
            "description": "This interface represents all script hooks that can be registered around\n shipping order lifecycle. It contains the extension points (hook names), and\n 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\n exported hook function must be located inside a site cartridge. Inside the\n site cartridge a 'package.json' file with a 'hooks' entry must exist.\n <p>\n \"hooks\": \"./hooks.json\"\n </p>\n The hooks entry links to a json file, relative to the 'package.json' file.\n This file lists all registered hooks inside the hooks property:\n <p>\n\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.order.shippingorder.updateShippingOrderItem\", \"script\": \"./shippingOrderUpdate.ds\"},\n ]\n </pre>\n\n <p></p>\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\n exported hook function.</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": [],
            "constants": {
              "extensionPointAfterStatusChange": {
                "name": "extensionPointAfterStatusChange",
                "value": "\"dw.order.shippingorder.afterStatusChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.afterStatusChange.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointChangeStatus": {
                "name": "extensionPointChangeStatus",
                "value": "\"dw.order.shippingorder.changeStatus\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.changeStatus.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointCreateShippingOrders": {
                "name": "extensionPointCreateShippingOrders",
                "value": "\"dw.order.shippingorder.createShippingOrders\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.createShippingOrders.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointNotifyStatusChange": {
                "name": "extensionPointNotifyStatusChange",
                "value": "\"dw.order.shippingorder.notifyStatusChange\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.notifyStatusChange.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointPrepareCreateShippingOrders": {
                "name": "extensionPointPrepareCreateShippingOrders",
                "value": "\"dw.order.shippingorder.prepareCreateShippingOrders\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name\n dw.order.shippingorder.prepareCreateShippingOrders.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointResolveShippingOrder": {
                "name": "extensionPointResolveShippingOrder",
                "value": "\"dw.order.shippingorder.resolveShippingOrder\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.resolveShippingOrder .",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingOrderCancelled": {
                "name": "extensionPointShippingOrderCancelled",
                "value": "\"dw.order.shippingorder.setShippingOrderCancelled\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.setShippingOrderCancelled.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingOrderShipped": {
                "name": "extensionPointShippingOrderShipped",
                "value": "\"dw.order.shippingorder.setShippingOrderShipped\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.setShippingOrderShipped.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointShippingOrderWarehouse": {
                "name": "extensionPointShippingOrderWarehouse",
                "value": "\"dw.order.shippingorder.setShippingOrderWarehouse\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.setShippingOrderWarehouse.",
                "deprecated": false,
                "type": "constant"
              },
              "extensionPointUpdateShippingOrderItem": {
                "name": "extensionPointUpdateShippingOrderItem",
                "value": "\"dw.order.shippingorder.updateShippingOrderItem\"",
                "class": {
                  "name": "String"
                },
                "description": "The extension point name dw.order.shippingorder.updateShippingOrderItem.",
                "deprecated": false,
                "type": "constant"
              }
            },
            "properties": {},
            "constructors": {},
            "methods": {
              "afterStatusChange": {
                "name": "afterStatusChange",
                "args": [
                  {
                    "name": "shippingOrder",
                    "description": "the shipping order to be updated",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "the resulting status"
                },
                "description": "After Status change hook.\n \n The function is called by extension point\n extensionPointAfterStatusChange.\n\n The implementation of this hook is optional. If defined the hook is\n called after extensionPointChangeStatus or respectively after\n extensionPointShippingOrderShipped,\n extensionPointShippingOrderCancelled or\n extensionPointShippingOrderWarehouse\n\n Runs inside of a transaction.",
                "deprecated": false
              },
              "changeStatus": {
                "name": "changeStatus",
                "args": [
                  {
                    "name": "shippingOrder",
                    "description": "the shipping order to be updated",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  },
                  {
                    "name": "updateData",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "the resulting status"
                },
                "description": "Change the status of a shipping order.\n \n The function is called by extension point\n extensionPointChangeStatus.\n\n Runs inside a transaction together with the hooks\n extensionPointResolveShippingOrder\n extensionPointUpdateShippingOrderItem.\n \n Runs after the iteration over the input's items collection as the last\n step in this transaction. The implementation of this hook is mandatory.",
                "deprecated": false
              },
              "createShippingOrders": {
                "name": "createShippingOrders",
                "args": [
                  {
                    "name": "order",
                    "description": "the order to create shipping orders for",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "the resulting status"
                },
                "description": "Called during shipping order creation for an order.\n \n The function is called by extension point\n extensionPointCreateShippingOrders. It is responsible for\n creating shipping orders and its items for the order. Preparations for\n shipping order creation can be done before in hook\n extensionPointPrepareCreateShippingOrders.\n\n Runs inside of a transaction. The implementation of this hook is\n mandatory.",
                "deprecated": false
              },
              "notifyStatusChange": {
                "name": "notifyStatusChange",
                "args": [
                  {
                    "name": "shippingOrder",
                    "description": "the shipping order to be updated",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "the resulting status"
                },
                "description": "Notify Status change hook.\n \n The function is called by extension point\n extensionPointNotifyStatusChange.\n\n The implementation of this hook is optional. If defined the hook is\n called after extensionPointAfterStatusChange as the last step\n in the shipping order update process.\n\n Runs outside of a transaction.",
                "deprecated": false
              },
              "prepareCreateShippingOrders": {
                "name": "prepareCreateShippingOrders",
                "args": [
                  {
                    "name": "order",
                    "description": "the order to create shipping orders for",
                    "class": {
                      "name": "Order"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "Status.OK successful preparation - continue with shipping order creation for this order. Status.ERROR failed preparation - skip shipping order creation for this order."
                },
                "description": "Called before shipping order creation for an order takes place. Typically\n the hook is used to check the payment authorization status of the order.\n \n The function is called by extension point\n extensionPointPrepareCreateShippingOrders.\n\n Runs inside its own transaction. The value of the return status is used\n to control whether hook createShippingOrders(Order) is called\n for the order or not. The implementation of this hook is mandatory.",
                "deprecated": false
              },
              "resolveShippingOrder": {
                "name": "resolveShippingOrder",
                "args": [
                  {
                    "name": "updateData",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "ShippingOrder",
                  "description": "the shipping order to update"
                },
                "description": "Resolve the shipping order. Will be called as first step of the update.\n \n The function is called by extension point\n extensionPointResolveShippingOrder.\n\n Runs inside a transaction together with the hooks\n\n extensionPointUpdateShippingOrderItem\n extensionPointChangeStatus. The implementation of this hook is\n mandatory.",
                "deprecated": false
              },
              "setShippingOrderCancelled": {
                "name": "setShippingOrderCancelled",
                "args": [
                  {
                    "name": "updateData",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Order",
                  "description": "the changed order or {code}null{code}"
                },
                "description": "Change the status of a shipping order to cancelled.\n \n The function is called by extension point\n extensionPointShippingOrderCancelled.\n\n This is an optional hook that can be implemented to have full control\n over status change to destination status Cancelled. The following hooks\n will be skipped if an implementation for this hook is registered:\n extensionPointResolveShippingOrder,\n extensionPointUpdateShippingOrderItem,\n extensionPointChangeStatus.\n\n Runs inside of a transaction.",
                "deprecated": false
              },
              "setShippingOrderShipped": {
                "name": "setShippingOrderShipped",
                "args": [
                  {
                    "name": "updateData",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Order",
                  "description": "the changed order or {code}null{code}"
                },
                "description": "Change the status of a shipping order to shipped.\n \n The function is called by extension point\n extensionPointShippingOrderShipped.\n\n This is an optional hook that can be implemented to have full control\n over status change to destination status Shipped. The following hooks\n will be skipped if an implementation for this hook is registered:\n extensionPointResolveShippingOrder\n extensionPointUpdateShippingOrderItem,\n extensionPointChangeStatus.\n\n Runs inside of a transaction.",
                "deprecated": false
              },
              "setShippingOrderWarehouse": {
                "name": "setShippingOrderWarehouse",
                "args": [
                  {
                    "name": "updateData",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Order",
                  "description": "the changed order or {code}null{code}"
                },
                "description": "Change the status of a shipping order to warehouse.\n \n The function is called by extension point\n extensionPointShippingOrderWarehouse.\n\n This is an optional hook that can be implemented to have full control\n over status change to destination status Warehouse. The following hooks\n will be skipped if an implementation for this hook is registered:\n extensionPointResolveShippingOrder,\n extensionPointUpdateShippingOrderItem,\n extensionPointChangeStatus.\n\n Runs inside of a transaction.",
                "deprecated": false
              },
              "updateShippingOrderItem": {
                "name": "updateShippingOrderItem",
                "args": [
                  {
                    "name": "shippingOrder",
                    "description": "the shipping order",
                    "class": {
                      "name": "ShippingOrder"
                    },
                    "multiple": false
                  },
                  {
                    "name": "updateItem",
                    "description": "the input data",
                    "class": {
                      "name": "ShippingOrderItem"
                    },
                    "multiple": false
                  }
                ],
                "class": {
                  "name": "Status",
                  "description": "the resulting status"
                },
                "description": "Updates the status of a shipping order item.\n \n The function is called by extension point\n extensionPointUpdateShippingOrderItem.\n\n Runs inside a transaction together with the hooks\n\n extensionPointResolveShippingOrder\n extensionPointChangeStatus. The implementation of this hook is\n mandatory.",
                "deprecated": false
              }
            }
          }
        }
      },
      "rpc": {
        "SOAPUtil": {
          "fullClassName": "dw.rpc.SOAPUtil",
          "package": "dw.rpc",
          "description": "Utility class for working with SOAP web services.  This class provides\n methods for setting SOAP headers and a set of constants representing the\n supported header names.<br>\n If you want to use ws-security features, such as signing and encryption,\n with your RPC-style SOAP web service, use this class to construct a HashMap with\n security constants and values.<br>\n <b>Note:</b> this method handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.\n The following example configures the ws-security actions taken for the request and response to a web service.\n  <br><pre><code>\n importPackage( dw.system );\n importPackage( dw.util );\n importPackage( dw.rpc );\n\n\n function execute( args : PipelineDictionary ) : Number\n {\n     var WSU_NS : String = \"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\";\n\n     try\n     {\n\n     // define a map with all the secrets\n     var secretsMap   : Map = new HashMap();\n     secretsMap.put(\"myclientkey\", \"ckpass\");\n     secretsMap.put(\"myservicekey\", \"ckpass\");\n     secretsMap.put(\"username\", \"password\");\n\n     var requestCfg   : Map = new HashMap();\n\n     // define the ws actions to be performed\n     requestCfg.put(SOAPUtil.WS_ACTION, SOAPUtil.WS_USERNAME_TOKEN + \" \" +\n                                        SOAPUtil.WS_TIMESTAMP + \" \" +\n                                        SOAPUtil.WS_SIGNATURE + \" \" +\n                                        SOAPUtil.WS_ENCRYPT);\n     requestCfg.put(SOAPUtil.WS_USER, \"username\");\n     requestCfg.put(SOAPUtil.WS_PASSWORD_TYPE, SOAPUtil.WS_PW_DIGEST );\n     requestCfg.put(SOAPUtil.WS_SIG_DIGEST_ALGO, \"http://www.w3.org/2001/04/xmlenc#sha256\" );\n\n     // define signature properties\n     // the keystore file has the basename of the WSDL file and the\n     // file extension based on the keystore type (e.g. HelloWorld.jks).\n     // The keystore file has to be placed beside the WSDL file.\n     requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_TYPE, \"jks\");\n     requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_PW, \"cspass\");\n     requestCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_ALIAS, \"myclientkey\");\n\n     requestCfg.put(SOAPUtil.WS_SIGNATURE_USER, \"myclientkey\");\n\n     // define enrcryption properties\n     requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_TYPE, \"jks\");\n     requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_PW, \"cspass\");\n     requestCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_ALIAS, \"myservicekey\");\n\n     requestCfg.put(SOAPUtil.WS_ENCRYPTION_USER, \"myservicekey\");\n     requestCfg.put(SOAPUtil.WS_SIGNATURE_PARTS, \"{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body\");\n     requestCfg.put(SOAPUtil.WS_ENCRYPTION_PARTS,\"{Element}{\" + WSU_NS + \"}\n      Timestamp;\"+\"{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body\");\n\n     // set the secrets for the callback\n     requestCfg.put(SOAPUtil.WS_SECRETS_MAP, secretsMap);\n\n     var responseCfg : Map = new HashMap();\n\n     // define the ws actions to be performed for the response\n     responseCfg.put(SOAPUtil.WS_ACTION, SOAPUtil.WS_TIMESTAMP + \" \" +\n                                         SOAPUtil.WS_SIGNATURE + \" \" +\n                                         SOAPUtil.WS_ENCRYPT);\n\n     // define signature properties\n     responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_TYPE, \"jks\");\n     responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_PW, \"cspass\");\n     responseCfg.put(SOAPUtil.WS_SIG_PROP_KEYSTORE_ALIAS, \"myservicekey\");\n\n     responseCfg.put(SOAPUtil.WS_SIGNATURE_USER, \"myservicekey\");\n\n     // define decryption properties\n     responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_TYPE, \"jks\");\n     responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_PW, \"cspass\");\n     responseCfg.put(SOAPUtil.WS_ENC_PROP_KEYSTORE_ALIAS, \"myclientkey\");\n\n     responseCfg.put(SOAPUtil.WS_ENCRYPTION_USER, \"myclientkey\");\n\n     // set the secrets for the callback\n     responseCfg.put(SOAPUtil.WS_SECRETS_MAP, secretsMap);\n\n     // get the service and stub\n     var helloWorldService : WebReference = webreferences.HelloWorld;\n     var stub : Stub = helloWorldService.defaultService;\n     // set the security\n     SOAPUtil.setWSSecurityConfig(stub, requestCfg, responseCfg);\n         //var h : Hello = new helloWorldService.Hello();\n         var h = new helloWorldService.com.support.ws.security.test.Hello2();\n\n         h.setName('Send Text from client Axis ...');\n\n         // call the web service\n         var response  = stub.hello2(h);\n         //var response = stub.hello(h);\n         var result = response.getHello2Return();\n\n\n     args.OutStr = result;\n     Logger.error(\"Hello World We Are SIGNED old version Send Text from client ...\", result);\n\n     return PIPELET_NEXT;\n\n     }\n     catch (e)\n     {\n         Logger.error(\"Error in helloWorldRpc.ds is: \" + e);\n         return PIPELET_ERROR;\n     }\n\n }\n </code> </pre><br>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "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, WS_SIGNATURE, WS_USERNAME_TOKEN or\n a space separated String with multiple values.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_ENC_PROP_KEYSTORE_ALIAS": {
              "name": "WS_ENC_PROP_KEYSTORE_ALIAS",
              "value": "\"__EncryptionPropKeystoreAlias\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security encryption: the encryption/decryption keystore alias name",
              "deprecated": true,
              "type": "constant"
            },
            "WS_ENC_PROP_KEYSTORE_PW": {
              "name": "WS_ENC_PROP_KEYSTORE_PW",
              "value": "\"__EncryptionPropKeystorePassword\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security encryption: the encryption/decryption keystore password",
              "deprecated": true,
              "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 must have the basename of the WSDL file and the\n file extension based on the keystore type. For example: MyService.jks.\n The keystore file must be placed in the same cartridge directory\n as the WSDL file.",
              "deprecated": true,
              "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, which keys\n to use, and other parameters.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_ENCRYPTION_PARTS": {
              "name": "WS_ENCRYPTION_PARTS",
              "value": "\"encryptionParts\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security encryption: defines which parts of the request are encrypted.",
              "deprecated": true,
              "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": true,
              "type": "constant"
            },
            "WS_NO_SECURITY": {
              "name": "WS_NO_SECURITY",
              "value": "\"NoSecurity\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: no security",
              "deprecated": true,
              "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": true,
              "type": "constant"
            },
            "WS_PW_DIGEST": {
              "name": "WS_PW_DIGEST",
              "value": "\"PasswordDigest\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security password of type digest: use a password digest to send the password information.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_PW_TEXT": {
              "name": "WS_PW_TEXT",
              "value": "\"PasswordText\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security password of type text: send the password information in clear text.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_SECRETS_MAP": {
              "name": "WS_SECRETS_MAP",
              "value": "\"__SecretsMap\"",
              "class": {
                "name": "String"
              },
              "description": "A secrets map with the username/password entries is needed to create the password\n callback object.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_SIG_DIGEST_ALGO": {
              "name": "WS_SIG_DIGEST_ALGO",
              "value": "\"signatureDigestAlgorithm\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security signature: sets the signature digest algorithm to use.",
              "deprecated": true,
              "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": true,
              "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": true,
              "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 ). The default is jks.\n Note: The keystore file must have the basename of the WSDL file and the\n file extension of the keystore type. For example: MyService.jks.\n The keystore file must be placed in the same cartridge directory\n as the WSDL file.",
              "deprecated": true,
              "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, which keys\n to use, and other parameters.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_SIGNATURE_PARTS": {
              "name": "WS_SIGNATURE_PARTS",
              "value": "\"signatureParts\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security signature: defines which parts of the request are signed.",
              "deprecated": true,
              "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": true,
              "type": "constant"
            },
            "WS_TIMESTAMP": {
              "name": "WS_TIMESTAMP",
              "value": "\"Timestamp\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: add a timestamp to the security header.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_USER": {
              "name": "WS_USER",
              "value": "\"user\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security user name.",
              "deprecated": true,
              "type": "constant"
            },
            "WS_USERNAME_TOKEN": {
              "name": "WS_USERNAME_TOKEN",
              "value": "\"UsernameToken\"",
              "class": {
                "name": "String"
              },
              "description": "WS-Security action: add a UsernameToken identification.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {
            "SOAPUtil": {
              "name": "SOAPUtil",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "getHTTPRequestHeader": {
              "name": "getHTTPRequestHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService().",
                  "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": true
            },
            "getHTTPResponseHeader": {
              "name": "getHTTPResponseHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService().",
                  "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 response header property value using the specified key or null."
              },
              "description": "Returns an HTTP response header property value using the specified key. Null is returned\n if the key does not represent an HTTP response header property.",
              "deprecated": true
            },
            "setHeader": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a string with arbitrary XML content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a new SOAPHeaderElement in the SOAP request with the namespace of\n the XML content.",
              "deprecated": true
            },
            "setHeader0": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a string with arbitrary XML content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "sets the SOAP header attribute 'mustUnderstand'",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets a new SOAPHeaderElement in the SOAP request  with the namespace of\n the XML content.",
              "deprecated": true
            },
            "setHeader01": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a string with arbitrary XML content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.",
              "deprecated": true
            },
            "setHeader012": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a string with arbitrary XML content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "sets the SOAP header attribute mustUnderstand",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.",
              "deprecated": true
            },
            "setHeader0123": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a string with arbitrary XML content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "sets the SOAP header attribute mustUnderstand",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "actor",
                  "description": "the SOAP actor, which should be set for this header element. null removes any actor.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.",
              "deprecated": true
            },
            "setHeader01234": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a E4X XML object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.",
              "deprecated": true
            },
            "setHeader012345": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a E4X XML object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "sets the SOAP header attribute mustUnderstand",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.",
              "deprecated": true
            },
            "setHeader0123456": {
              "name": "setHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "namespace",
                  "description": "the namespace of the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the element name for the header element",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "xml",
                  "description": "a E4X XML object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "mustUnderstand",
                  "description": "sets the SOAP header attribute 'mustUnderstand'",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "actor",
                  "description": "the SOAP actor, which should be set for this header element. null removes any actor.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Creates a new SOAPHeaderElement with the name and namespace and places\n the given XML into it.\n \n var usernameToken : XML =\n   <wsse:UsernameToken xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\">\n       <wsse:Username>{merchantID}</wsse:Username>\n       <wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">\n           {merchantPassword}\n       </wsse:Password>\n   </wsse:UsernameToken>\n SOAPUtil.setHeader( service, \"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\",\n  \"Security\", usernameToken, true, null",
              "deprecated": true
            },
            "setHTTPRequestHeader": {
              "name": "setHTTPRequestHeader",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService().",
                  "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": true
            },
            "setWSSecurityConfig": {
              "name": "setWSSecurityConfig",
              "args": [
                {
                  "name": "svc",
                  "description": "a service stub returned from getService()",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "requestConfigMap",
                  "description": "the WS-Security request config",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "responseConfigMap",
                  "description": "the WS-Security response config",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the WS-Security configuration for the request and response based on the\n constants defined.",
              "deprecated": true
            }
          }
        },
        "Stub": {
          "fullClassName": "dw.rpc.Stub",
          "package": "dw.rpc",
          "description": "This is the base class for all service stubs accessible\n through a WebReference object. The Stub provides access to the WSDL operations.\n <p>\n Demandware recommends a low timeout to ensure responsiveness\n of the site and to avoid thread exhaustion. Use the Services module\n in Business Manager to set timeout values, not the methods for this class.\n The Services module provides better analytics and timeout management.\n </p><p>\n The default timeout, if not set, is 15 minutes when the web service 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.\n <br></p><pre><code>\n  // get WebReference\n     var webref : WebReference = webreferences.myWSDLname;\n  // get service stub\n     var stub : Stub = webref.defaultService;\n </code> </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CONNECTION_TIMEOUT": {
              "name": "CONNECTION_TIMEOUT",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "This property allows the user to set the web service connection timeout value in milliseconds. By default,\n the web service connection timeout is 5000 milliseconds (5 seconds). The minimum allowed value is 100 milliseconds\n and the maximum allowed value is 15000 milliseconds (15 seconds). Demandware recommends setting timeout values\n in Business Manager Services module as it provides better analytics and timeout management.",
              "deprecated": true,
              "type": "constant"
            },
            "ENDPOINT_ADDRESS_PROPERTY": {
              "name": "ENDPOINT_ADDRESS_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Standard property: target service endpoint address. The\n URI scheme for the endpoint address specification must\n correspond to the protocol/transport binding for this\n stub class.",
              "deprecated": true,
              "type": "constant"
            },
            "PASSWORD_PROPERTY": {
              "name": "PASSWORD_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Standard property: password for authentication.",
              "deprecated": true,
              "type": "constant"
            },
            "SESSION_MAINTAIN_PROPERTY": {
              "name": "SESSION_MAINTAIN_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Standard property: this boolean property is used by a service\n client to indicate whether or not it wants to participate in\n a session with a service endpoint. If this property is set to\n true, the service client indicates that it wants the session\n to be maintained. If set to false, the session is not maintained.\n The default value for this property is false.",
              "deprecated": true,
              "type": "constant"
            },
            "USERNAME_PROPERTY": {
              "name": "USERNAME_PROPERTY",
              "value": null,
              "class": {
                "name": "String"
              },
              "description": "Standard property: user name for authentication.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {
            "password": {
              "name": "password",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The password.",
              "deprecated": true,
              "type": "property"
            },
            "timeout": {
              "name": "timeout",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The current read timeout value in milliseconds for this Stub.",
              "deprecated": true,
              "type": "property"
            },
            "username": {
              "name": "username",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The user name.\n \n Note: this method handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {
            "Stub": {
              "name": "Stub",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "",
              "deprecated": false
            }
          },
          "methods": {
            "_getProperty": {
              "name": "_getProperty",
              "args": [
                {
                  "name": "name",
                  "description": "Name of the property whose value is to be retrieved",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "Value of the configuration property"
              },
              "description": "Gets the value of a specific configuration property.",
              "deprecated": true
            },
            "_setProperty": {
              "name": "_setProperty",
              "args": [
                {
                  "name": "name",
                  "description": "Name of the configuration property",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "Value of the property",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the name and value of a configuration property\n for this Stub instance. If the Stub instance contains\n a value for the same property, the old value is replaced.\n Note: the _setProperty method may not\n perform a validity check on a configured property value. An\n example is the standard property for the target service\n endpoint address, which is not checked for validity in the\n _setProperty method.\n In this case, stub configuration errors are detected at\n the remote method invocation.",
              "deprecated": true
            },
            "getPassword": {
              "name": "getPassword",
              "args": [],
              "class": {
                "name": "String",
                "description": "the password.  Note: this method handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2, 4, and 12."
              },
              "description": "Returns the password.",
              "deprecated": true
            },
            "getTimeout": {
              "name": "getTimeout",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the current timeout value for this Stub."
              },
              "description": "Returns the current read timeout value in milliseconds for this Stub.",
              "deprecated": true
            },
            "getUsername": {
              "name": "getUsername",
              "args": [],
              "class": {
                "name": "String",
                "description": "the user name."
              },
              "description": "Returns the user name.\n \n Note: this method handles sensitive security-related data.\n Pay special attention to PCI DSS v3. requirements 2, 4, and 12.",
              "deprecated": true
            },
            "setHeader": {
              "name": "setHeader",
              "args": [
                {
                  "name": "namespace",
                  "description": "the namespace to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "name",
                  "description": "the name of the header item.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value for the header item.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets an additional SOAP header value for the next\n operation.",
              "deprecated": true
            },
            "setPassword": {
              "name": "setPassword",
              "args": [
                {
                  "name": "password",
                  "description": "the password to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the password.",
              "deprecated": true
            },
            "setTimeout": {
              "name": "setTimeout",
              "args": [
                {
                  "name": "timeout",
                  "description": "the timeout for the next call through this stub.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the timeout in milliseconds for the next call through this Stub.\n\n This timeout value controls \"read timeout\" (how\n long, after connecting, it will wait without any data being read).\n To control \"connection timeout\" you use the _setProperty(String, Object)\n method where the name parameter is CONNECTION_TIMEOUT.",
              "deprecated": true
            },
            "setUsername": {
              "name": "setUsername",
              "args": [
                {
                  "name": "username",
                  "description": "the user name to set.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the user name.",
              "deprecated": true
            }
          }
        },
        "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
            }
          }
        }
      },
      "sitemap": {
        "SitemapFile": {
          "fullClassName": "dw.sitemap.SitemapFile",
          "package": "dw.sitemap",
          "description": "Instances of this class represent sitemap files located in the appservers shared file system. Methods are used to get\n details of a sitemap file, such as the hostname it is associated with.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "fileName": {
              "name": "fileName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the file e.g. sitemap_index.xml",
              "deprecated": false,
              "type": "property"
            },
            "fileSize": {
              "name": "fileSize",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The size of the file in bytes.",
              "deprecated": false,
              "type": "property"
            },
            "fileURL": {
              "name": "fileURL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The URL used to access this file in a storefront request.",
              "deprecated": false,
              "type": "property"
            },
            "hostName": {
              "name": "hostName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The host name this file is associated with.",
              "deprecated": false,
              "type": "property"
            },
            "valid": {
              "name": "valid",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Checks if this instance of sitemap file is valid. Examples for invalid files are:\n \n file size > 10mb\n \n Additional violations might be added later.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getFileName": {
              "name": "getFileName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The file's name, never null."
              },
              "description": "Returns the name of the file e.g. sitemap_index.xml",
              "deprecated": false
            },
            "getFileSize": {
              "name": "getFileSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "The fileSize in bytes."
              },
              "description": "Returns the size of the file in bytes.",
              "deprecated": false
            },
            "getFileURL": {
              "name": "getFileURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "The fileURL, never null."
              },
              "description": "Returns the URL used to access this file in a storefront request.",
              "deprecated": false
            },
            "getHostName": {
              "name": "getHostName",
              "args": [],
              "class": {
                "name": "String",
                "description": "The hostname, never null."
              },
              "description": "Returns the host name this file is associated with.",
              "deprecated": false
            },
            "isValid": {
              "name": "isValid",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the {@code SitemapFile} is valid, false otherwise."
              },
              "description": "Checks if this instance of sitemap file is valid. Examples for invalid files are:\n \n file size > 10mb\n \n Additional violations might be added later.",
              "deprecated": false
            }
          }
        },
        "SitemapMgr": {
          "fullClassName": "dw.sitemap.SitemapMgr",
          "package": "dw.sitemap",
          "description": "<a href=\"class_dw_sitemap_SitemapMgr.html\">SitemapMgr</a> is used to access and modify custom sitemap files.\n <p>\n To access custom sitemap files, use methods <a href=\"class_dw_sitemap_SitemapMgr.html#dw_sitemap_SitemapMgr_getCustomSitemapFiles_DetailAnchor\">getCustomSitemapFiles()</a>.\n </p><p>\n To delete custom sitemap files, use methods <a href=\"class_dw_sitemap_SitemapMgr.html#dw_sitemap_SitemapMgr_deleteCustomSitemapFile_SitemapFile_DetailAnchor\">deleteCustomSitemapFile(SitemapFile)</a>,\n <a href=\"class_dw_sitemap_SitemapMgr.html#dw_sitemap_SitemapMgr_deleteCustomSitemapFiles_String_DetailAnchor\">deleteCustomSitemapFiles(String)</a> and <a href=\"class_dw_sitemap_SitemapMgr.html#dw_sitemap_SitemapMgr_deleteCustomSitemapFiles_DetailAnchor\">deleteCustomSitemapFiles()</a>.\n </p><p>\n To add custom sitemap files, use methods <a href=\"class_dw_sitemap_SitemapMgr.html#dw_sitemap_SitemapMgr_addCustomSitemapFile_String_File_DetailAnchor\">addCustomSitemapFile(String, File)</a>. The file will be copied from\n WebDAV (<a href=\"class_dw_io_File.html\">File</a> represent a file in WebDAV) to the appservers shared file system.\n </p><p>\n Please note that all provided methods are operating in appservers shared file system. These modifications are visible\n via \"Custom Sitemaps\" tab under <i>Merchant Tools</i> =&gt; <i>SEO</i> =&gt; <i>Sitemaps - Custom Sitemaps</i> in\n Business Manager. To publish all changes, the system job \"Create Sitemap Schedule\" must be executed afterwards.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "customSitemapFiles": {
              "name": "customSitemapFiles",
              "class": {
                "name": "Map"
              },
              "static": true,
              "readonly": true,
              "description": "Reads all existing custom sitemap files from files system of the appservers custom sitemap directory into memory\n and returns them in a Map containing mappings like\n \n Hostname 1 => [SitemapFile hostname1_sitemapfile1, SitemapFile hostname1_sitemapfile2]\n Hostname 2 => [SitemapFile hostname2_sitemapfile1]",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addCustomSitemapFile": {
              "name": "addCustomSitemapFile",
              "args": [
                {
                  "name": "hostName",
                  "description": "The hostName to copy the File to. The hostName must be configured in sites alias file.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "file",
                  "description": "The File to copy.",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds the given File to the appservers custom sitemap directory. All content of the appservers\n custom sitemap directory is considered by the system job \"Create Sitemap Schedule\".\n \n The files are added to the directory which is accessible via \"Custom Sitemaps\" tab under Merchant Tools =>\n SEO => Sitemaps - Custom Sitemaps in Business Manager. To publish that change, the system job\n \"Create Sitemap Schedule\" must be executed afterwards.",
              "deprecated": false
            },
            "deleteCustomSitemapFile": {
              "name": "deleteCustomSitemapFile",
              "args": [
                {
                  "name": "sitemapFile",
                  "description": "- The sitemapFile to delete.",
                  "class": {
                    "name": "SitemapFile"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Deletes the given custom sitemap file from the appservers shared file system.\n \n The file is deleted from the directory which is accessible via \"Custom Sitemaps\" tab under Merchant Tools\n => SEO => Sitemaps - Custom Sitemaps in Business Manager. To publish that change, the system job\n \"Create Sitemap Schedule\" must be executed afterwards.",
              "deprecated": false
            },
            "deleteCustomSitemapFiles": {
              "name": "deleteCustomSitemapFiles",
              "args": [
                {
                  "name": "hostName",
                  "description": "The hostName to delete the custom sitemap files for.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Deletes all custom sitemap files for the given hostname from the appservers shared file system.\n \n The files are deleted from the directory which is accessible via \"Custom Sitemaps\" tab under Merchant\n Tools => SEO => Sitemaps - Custom Sitemaps in Business Manager. To publish that change,\n the system job \"Create Sitemap Schedule\" must be executed afterwards.",
              "deprecated": false
            },
            "deleteCustomSitemapFiles0": {
              "name": "deleteCustomSitemapFiles",
              "args": [],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Deletes all custom sitemap files for all hostnames from the appservers shared file system.\n \n The files are deleted from the directory which is accessible via \"Custom Sitemaps\" tab under Merchant\n Tools => SEO => Sitemaps - Custom Sitemaps in Business Manager. To publish that change,\n the system job \"Create Sitemap Schedule\" must be executed afterwards.",
              "deprecated": false
            },
            "getCustomSitemapFiles": {
              "name": "getCustomSitemapFiles",
              "args": [],
              "static": true,
              "class": {
                "name": "Map",
                "description": "The created map containing the list of SitemapFiles."
              },
              "description": "Reads all existing custom sitemap files from files system of the appservers custom sitemap directory into memory\n and returns them in a Map containing mappings like\n \n Hostname 1 => [SitemapFile hostname1_sitemapfile1, SitemapFile hostname1_sitemapfile2]\n Hostname 2 => [SitemapFile hostname2_sitemapfile1]",
              "deprecated": false
            }
          }
        }
      },
      "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": {}
        },
        "ProductSuggestions": {
          "fullClassName": "dw.suggest.ProductSuggestions",
          "package": "dw.suggest",
          "description": "The product suggestion container provides access to\n products found using the suggested terms.\n The method <a href=\"class_dw_suggest_ProductSuggestions.html#dw_suggest_ProductSuggestions_getSuggestedProducts_DetailAnchor\">getSuggestedProducts()</a> can be used to\n get the list of found products.\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": {
            "suggestedProducts": {
              "name": "suggestedProducts",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns a list of products which were found\n using the suggested terms as search criteria.\n The product lookup is being executed in the current catalog and locale.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSuggestedProducts": {
              "name": "getSuggestedProducts",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a iterator containing a SuggestedProduct instance for each found product, the iterator might be empty"
              },
              "description": "This method returns a list of products which were found\n using the suggested terms as search criteria.\n The product lookup is being executed in the current catalog and locale.",
              "deprecated": false
            }
          }
        },
        "SearchPhraseSuggestions": {
          "fullClassName": "dw.suggest.SearchPhraseSuggestions",
          "package": "dw.suggest",
          "description": "The search phrase suggestions contain a list of suggested search phrases\n (see <a href=\"class_dw_suggest_SuggestedPhrase.html\">SuggestedPhrase</a>)\n as well as, for each of the search phrase terms, a list with corrected and\n completed alternative terms.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "suggestedPhrases": {
              "name": "suggestedPhrases",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "A list of SuggestedPhrase objects that relates to the\n user input search phrase.",
              "deprecated": false,
              "type": "property"
            },
            "suggestedTerms": {
              "name": "suggestedTerms",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "A list of SuggestedTerms objects. Each of the returned\n instances represents a set of terms suggested for a particular single term\n of the user input search phrase.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSuggestedPhrases": {
              "name": "getSuggestedPhrases",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of SuggestedPhrases"
              },
              "description": "Returns a list of SuggestedPhrase objects that relates to the\n user input search phrase.",
              "deprecated": false
            },
            "getSuggestedTerms": {
              "name": "getSuggestedTerms",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of SuggestedTerms for each term of the user input search phrase"
              },
              "description": "Returns a list of SuggestedTerms objects. Each of the returned\n instances represents a set of terms suggested for a particular single term\n of the user input search phrase.",
              "deprecated": false
            },
            "hasSuggestedPhrases": {
              "name": "hasSuggestedPhrases",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true only if there are phrases available"
              },
              "description": "Returns whether this suggestions container has any suggested phrases.\n \n Note that this method only looks for suggested phrases. It does not account\n for suggested terms.",
              "deprecated": false
            },
            "hasSuggestedTerms": {
              "name": "hasSuggestedTerms",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true only if there are terms available"
              },
              "description": "Returns whether this suggestions container has any suggested terms.\n \n Note that this method checks suggested terms only,\n but not suggested phrases.",
              "deprecated": false
            }
          }
        },
        "SuggestModel": {
          "fullClassName": "dw.suggest.SuggestModel",
          "package": "dw.suggest",
          "description": "The Suggest model provides methods and functions\n to access search suggestions.\n <p>\n The search suggestion feature basically covers two functional areas.\n First is just to suggest words, based on the users input,\n utilizing spell correction or prediction (also known as auto completion).\n The second functional area is also often referred to as search-as-you-type,\n where, based on the users input, specific items are\n already looked up, before the user actually has completed typing a word\n or even fired up the search.\n </p><p>\n This model combines both functional areas and provides access to both - the\n suggested words and the items found while using the predicted words.\n </p><p>\n This model supports various types of items that are being suggested, like\n products, categories, brands, content pages as well merchant provided search phrases.\n For each type, there is a <a href=\"class_dw_suggest_Suggestions.html\">Suggestions</a> implementation\n available and accessible through this model: <a href=\"class_dw_suggest_ProductSuggestions.html\">ProductSuggestions</a>,\n <a href=\"class_dw_suggest_CategorySuggestions.html\">CategorySuggestions</a>, <a href=\"class_dw_suggest_BrandSuggestions.html\">BrandSuggestions</a>, <a href=\"class_dw_suggest_ContentSuggestions.html\">ContentSuggestions</a>,\n and <a href=\"class_dw_suggest_CustomSuggestions.html\">CustomSuggestions</a>.\n </p><p>\n For each type of suggestions, the actual suggested items (like\n products) can by obtained, and, on the other hand, a list of terms\n is provided which were used to lookup the found items.\n The terms can be used to present a advanced user experience in the\n storefront, e.g. show auto completed words, spell corrections and so on.\n The SuggestModel script API will always create suggestions with Autocorrections\n regardless of the value of \"Search Autocorrections\" search preference.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "MAX_SUGGESTIONS": {
              "name": "MAX_SUGGESTIONS",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "The maximum number of suggestions that can be obtain from this model: 10",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "brandSuggestions": {
              "name": "brandSuggestions",
              "class": {
                "name": "BrandSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "A BrandSuggestions container for the current search phrase.\n The BrandSuggestions container provides access to the found brands (if any) and\n the terms suggested by the system with respect to the known product brands in the catalog.",
              "deprecated": false,
              "type": "property"
            },
            "categorySuggestions": {
              "name": "categorySuggestions",
              "class": {
                "name": "CategorySuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "A CategorySuggestions container for the current search phrase.\n The CategorySuggestions container provides access to the found categories (if any) and\n the terms suggested by the system with respect to the known categories in the catalog.",
              "deprecated": false,
              "type": "property"
            },
            "contentSuggestions": {
              "name": "contentSuggestions",
              "class": {
                "name": "ContentSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "A ContentSuggestions container for the current search phrase.\n The ContentSuggestions container provides access to the found content pages (if any) and\n the terms suggested by the system with respect to the known content in the library.",
              "deprecated": false,
              "type": "property"
            },
            "customSuggestions": {
              "name": "customSuggestions",
              "class": {
                "name": "CustomSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "A CustomSuggestions container for the current search phrase.\n The CustomSuggestions container provides access to matching\n custom phrases (if any) and the terms suggested\n by the system with respect to the merchant provided custom phrases.",
              "deprecated": false,
              "type": "property"
            },
            "filteredByFolder": {
              "name": "filteredByFolder",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The method returns true, if the search suggestions are filtered by the folder. If this returns true it is not\n possible for search suggestions to contain Page Designer content as it belongs to no folder.",
              "deprecated": false,
              "type": "property"
            },
            "popularSearchPhrases": {
              "name": "popularSearchPhrases",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "Use this method to obtain a list of search phrases\n that currently are very popular among all users across the Site.\n\n The search phrases are specific to the region (based on user's IP address),\n language (locale) and the user's browser type (agent).",
              "deprecated": false,
              "type": "property"
            },
            "productSuggestions": {
              "name": "productSuggestions",
              "class": {
                "name": "ProductSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "A ProductSuggestions container for the current search phrase.\n The ProductSuggestions container provides access to the found products (if any) and\n the terms suggested by the system with respect to the known products in the catalog.",
              "deprecated": false,
              "type": "property"
            },
            "recentSearchPhrases": {
              "name": "recentSearchPhrases",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "Use this method to obtain a list of personalized search phrases\n that the current user entered recently.\n\n The user is being identified by the CQuotient tracking cookie.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "SuggestModel": {
              "name": "SuggestModel",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new SuggestModel.",
              "deprecated": false
            }
          },
          "methods": {
            "addRefinementValues": {
              "name": "addRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement value to set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a refinement for product suggestions.\n The method can be called to add an additional query\n parameter specified as name-value pair. The values string may encode\n multiple values delimited by the pipe symbol ('|').",
              "deprecated": false
            },
            "getBrandSuggestions": {
              "name": "getBrandSuggestions",
              "args": [],
              "class": {
                "name": "BrandSuggestions",
                "description": "a brand suggestions container for the current search phrase, returns null for insufficient search input"
              },
              "description": "Returns a BrandSuggestions container for the current search phrase.\n The BrandSuggestions container provides access to the found brands (if any) and\n the terms suggested by the system with respect to the known product brands in the catalog.",
              "deprecated": false
            },
            "getCategorySuggestions": {
              "name": "getCategorySuggestions",
              "args": [],
              "class": {
                "name": "CategorySuggestions",
                "description": "a category suggestions container for the current search phrase, returns null for insufficient search input"
              },
              "description": "Returns a CategorySuggestions container for the current search phrase.\n The CategorySuggestions container provides access to the found categories (if any) and\n the terms suggested by the system with respect to the known categories in the catalog.",
              "deprecated": false
            },
            "getContentSuggestions": {
              "name": "getContentSuggestions",
              "args": [],
              "class": {
                "name": "ContentSuggestions",
                "description": "a content suggestions container for the current search phrase, returns null for insufficient search input"
              },
              "description": "Returns a ContentSuggestions container for the current search phrase.\n The ContentSuggestions container provides access to the found content pages (if any) and\n the terms suggested by the system with respect to the known content in the library.",
              "deprecated": false
            },
            "getCustomSuggestions": {
              "name": "getCustomSuggestions",
              "args": [],
              "class": {
                "name": "CustomSuggestions",
                "description": "a custom suggestions container for the current search phrase, returns null for insufficient search input"
              },
              "description": "Returns a CustomSuggestions container for the current search phrase.\n The CustomSuggestions container provides access to matching\n custom phrases (if any) and the terms suggested\n by the system with respect to the merchant provided custom phrases.",
              "deprecated": false
            },
            "getPopularSearchPhrases": {
              "name": "getPopularSearchPhrases",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of personalized popular search phrases"
              },
              "description": "Use this method to obtain a list of search phrases\n that currently are very popular among all users across the Site.\n\n The search phrases are specific to the region (based on user's IP address),\n language (locale) and the user's browser type (agent).",
              "deprecated": false
            },
            "getProductSuggestions": {
              "name": "getProductSuggestions",
              "args": [],
              "class": {
                "name": "ProductSuggestions",
                "description": "a product suggestions container for the current search phrase, returns null for insufficient search input"
              },
              "description": "Returns a ProductSuggestions container for the current search phrase.\n The ProductSuggestions container provides access to the found products (if any) and\n the terms suggested by the system with respect to the known products in the catalog.",
              "deprecated": false
            },
            "getRecentSearchPhrases": {
              "name": "getRecentSearchPhrases",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of recent search phrases of the current user"
              },
              "description": "Use this method to obtain a list of personalized search phrases\n that the current user entered recently.\n\n The user is being identified by the CQuotient tracking cookie.",
              "deprecated": false
            },
            "isFilteredByFolder": {
              "name": "isFilteredByFolder",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "True if search suggestions are filtered by the folder of the content asset."
              },
              "description": "The method returns true, if the search suggestions are filtered by the folder. If this returns true it is not\n possible for search suggestions to contain Page Designer content as it belongs to no folder.",
              "deprecated": false
            },
            "removeRefinementValues": {
              "name": "removeRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement value to remove or null to remove all values",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Removes a refinement. The method can be called to remove previously added\n refinement values. The values string may encode multiple values delimited\n by the pipe symbol ('|').",
              "deprecated": false
            },
            "setCategoryID": {
              "name": "setCategoryID",
              "args": [
                {
                  "name": "categoryID",
                  "description": "the category to filter suggestions for",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Apply a category ID to filter product, brand and category suggestions.\n \n Suggested products, brands and categories, as well as corrected and completed\n terms are specific to the given category or one of it's sub categories.\n \n For example, in the specified category \"television\", the search term \"pla\"\n will be auto completed to \"plasma\" (instead of e.g. \"player\") and\n only televisions will be included in the list of suggested products.",
              "deprecated": false
            },
            "setFilteredByFolder": {
              "name": "setFilteredByFolder",
              "args": [
                {
                  "name": "filteredByFolder",
                  "description": "filter the search suggestions by folder",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Set a flag to indicate if the search suggestions filter for elements that do not belong to a folder.\n Must be set to false to return content assets that do not belong to any folder.",
              "deprecated": false
            },
            "setMaxSuggestions": {
              "name": "setMaxSuggestions",
              "args": [
                {
                  "name": "maxSuggestions",
                  "description": "the number of suggested items to be returned by this model instance",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Use this method to setup the maximum number of returned suggested\n items. For example, set this to 3 in order to only retrieve the\n 3 most relevant suggested products.\n \n The maximum number of suggestions that can be queried are defined as MAX_SUGGESTIONS.",
              "deprecated": false
            },
            "setRefinementValues": {
              "name": "setRefinementValues",
              "args": [
                {
                  "name": "attributeID",
                  "description": "The ID of the refinement attribute.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "values",
                  "description": "the refinement values to set (delimited by '|') or null to remove all values",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets product suggestion refinement values for an attribute.\n The method can be called to set\n an additional query parameter specified as name-value pair. The value\n string may encode multiple values delimited by the pipe symbol ('|').\n Existing refinement values for the attribute will be removed.",
              "deprecated": false
            },
            "setSearchPhrase": {
              "name": "setSearchPhrase",
              "args": [
                {
                  "name": "searchPhrase",
                  "description": "the user input search phrase",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the user input search phrase. This search phrase is being processed\n by applying auto completion, spell correction and enhancement with alternative\n similar search terms.\n \n The resulting search phrase is used to lookup the actual items,\n like products or categories (search-as-you-type).\n \n In order to access the processed terms, one can use the\n SearchPhraseSuggestions.getSuggestedTerms() method of each of the respective\n results returned by the methods in this model.",
              "deprecated": false
            }
          }
        },
        "SuggestedCategory": {
          "fullClassName": "dw.suggest.SuggestedCategory",
          "package": "dw.suggest",
          "description": "This class represents a suggested catalog category.\n Use <a href=\"class_dw_suggest_SuggestedCategory.html#dw_suggest_SuggestedCategory_getCategory_DetailAnchor\">getCategory()</a> method to get access to the actual <a href=\"class_dw_catalog_Category.html\">Category</a> object.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "category": {
              "name": "category",
              "class": {
                "name": "Category"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the actual Category object corresponding to this suggested category.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCategory": {
              "name": "getCategory",
              "args": [],
              "class": {
                "name": "Category",
                "description": "the category object corresponding to this suggested category"
              },
              "description": "This method returns the actual Category object corresponding to this suggested category.",
              "deprecated": false
            }
          }
        },
        "SuggestedContent": {
          "fullClassName": "dw.suggest.SuggestedContent",
          "package": "dw.suggest",
          "description": "This class represents a suggested content page.\n Use <a href=\"class_dw_suggest_SuggestedContent.html#dw_suggest_SuggestedContent_getContent_DetailAnchor\">getContent()</a> method to get access to the actual <a href=\"class_dw_content_Content.html\">Content</a> object.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "content": {
              "name": "content",
              "class": {
                "name": "Content"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the actual Content object corresponding to this suggested content.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getContent": {
              "name": "getContent",
              "args": [],
              "class": {
                "name": "Content",
                "description": "the content object corresponding to this suggested content"
              },
              "description": "This method returns the actual Content object corresponding to this suggested content.",
              "deprecated": false
            }
          }
        },
        "SuggestedPhrase": {
          "fullClassName": "dw.suggest.SuggestedPhrase",
          "package": "dw.suggest",
          "description": "This class represents a suggested phrase.\n Use <a href=\"class_dw_suggest_SuggestedPhrase.html#dw_suggest_SuggestedPhrase_getPhrase_DetailAnchor\">getPhrase()</a> method to get access to the phrase.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "exactMatch": {
              "name": "exactMatch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns a flag signaling whether this phrase is a exact match.",
              "deprecated": false,
              "type": "property"
            },
            "phrase": {
              "name": "phrase",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the actual phrase as a string value.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getPhrase": {
              "name": "getPhrase",
              "args": [],
              "class": {
                "name": "String",
                "description": "the phrase"
              },
              "description": "This method returns the actual phrase as a string value.",
              "deprecated": false
            },
            "isExactMatch": {
              "name": "isExactMatch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this phrase is a exact match, false otherwise"
              },
              "description": "This method returns a flag signaling whether this phrase is a exact match.",
              "deprecated": false
            }
          }
        },
        "SuggestedProduct": {
          "fullClassName": "dw.suggest.SuggestedProduct",
          "package": "dw.suggest",
          "description": "This class represents a suggested product.\n Use <a href=\"class_dw_suggest_SuggestedProduct.html#dw_suggest_SuggestedProduct_getProductSearchHit_DetailAnchor\">getProductSearchHit()</a> method to get access to the actual <a href=\"class_dw_catalog_ProductSearchHit.html\">ProductSearchHit</a> object.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "productSearchHit": {
              "name": "productSearchHit",
              "class": {
                "name": "ProductSearchHit"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the actual ProductSearchHit object\n corresponding to this suggested product.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getProductSearchHit": {
              "name": "getProductSearchHit",
              "args": [],
              "class": {
                "name": "ProductSearchHit",
                "description": "the product search hit corresponding to this suggested product"
              },
              "description": "This method returns the actual ProductSearchHit object\n corresponding to this suggested product.",
              "deprecated": false
            }
          }
        },
        "SuggestedTerm": {
          "fullClassName": "dw.suggest.SuggestedTerm",
          "package": "dw.suggest",
          "description": "A single suggested term.\n\n Each user input term of the search phrase\n is being processed separately by the suggestion engine. For each\n original term, a list of terms will be suggested, either completed terms,\n corrected terms or even the exact term if it is known to the engine.\n <p>\n Each suggested term is represented by a instance of this class. The list of suggested terms\n belonging to a single original term is represented by a instance of <a href=\"class_dw_suggest_SuggestedTerms.html\">SuggestedTerms</a> class.\n </p><p>\n The suggested term value can either be the completed version of the original term,\n the corrected version of the original term or exactly the original term.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "additional": {
              "name": "additional",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase.",
              "deprecated": false,
              "type": "property"
            },
            "completed": {
              "name": "completed",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether this suggested term is a auto completed version of the original term.\n In other words, this method returns true if the original term is a prefix of this suggested term.",
              "deprecated": false,
              "type": "property"
            },
            "corrected": {
              "name": "corrected",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether this suggested term is a corrected version of the original term.",
              "deprecated": false,
              "type": "property"
            },
            "exactMatch": {
              "name": "exactMatch",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether this suggested term is exactly matching the original term.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Returns this suggested term as String value.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "String",
                "description": "the string representation of this suggested term"
              },
              "description": "Returns this suggested term as String value.",
              "deprecated": false
            },
            "isAdditional": {
              "name": "isAdditional",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this suggested term is a additional term, false otherwise"
              },
              "description": "Returns whether this suggested term is a additional term that has no corresponding term in the original search phrase.",
              "deprecated": false
            },
            "isCompleted": {
              "name": "isCompleted",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this suggested term is evaluated by auto completion, false otherwise"
              },
              "description": "Returns whether this suggested term is a auto completed version of the original term.\n In other words, this method returns true if the original term is a prefix of this suggested term.",
              "deprecated": false
            },
            "isCorrected": {
              "name": "isCorrected",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this suggested term is a corrected version of the original term, false otherwise"
              },
              "description": "Returns whether this suggested term is a corrected version of the original term.",
              "deprecated": false
            },
            "isExactMatch": {
              "name": "isExactMatch",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this suggested term exactly matches the original term, false otherwise"
              },
              "description": "Returns whether this suggested term is exactly matching the original term.",
              "deprecated": false
            }
          }
        },
        "SuggestedTerms": {
          "fullClassName": "dw.suggest.SuggestedTerms",
          "package": "dw.suggest",
          "description": "This container represents a list of suggested terms, all belonging to a\n particular single original term of the users input search phrase.\n\n Each user input term of the search phrase\n is being processed separately by the suggestion engine. For each\n original term, a list of terms will be suggested, either completed terms,\n corrected terms or even the exact term if they are known to the engine as they are.\n\n A instance of this class refers to the original unmodified term, as well as\n to a list of <a href=\"class_dw_suggest_SuggestedTerm.html\">SuggestedTerm</a>s objects representing a single suggested term.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if this set of suggested terms is empty.",
              "deprecated": false,
              "type": "property"
            },
            "firstTerm": {
              "name": "firstTerm",
              "class": {
                "name": "SuggestedTerm"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns the suggested term which is considered best matching\n with the original term. See getTerms() for a note on ordering of\n suggested terms.",
              "deprecated": false,
              "type": "property"
            },
            "originalTerm": {
              "name": "originalTerm",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The original term of the user input, for which this instance\n provides a list of suggested terms. Suggested terms can either be corrected,\n or completed or exact matching.",
              "deprecated": false,
              "type": "property"
            },
            "terms": {
              "name": "terms",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "The list of SuggestedTerms suggested for the original term.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getFirstTerm": {
              "name": "getFirstTerm",
              "args": [],
              "class": {
                "name": "SuggestedTerm",
                "description": "the best matching term"
              },
              "description": "This method returns the suggested term which is considered best matching\n with the original term. See getTerms() for a note on ordering of\n suggested terms.",
              "deprecated": false
            },
            "getOriginalTerm": {
              "name": "getOriginalTerm",
              "args": [],
              "class": {
                "name": "String",
                "description": "the original unmodified term of the user input search phrase"
              },
              "description": "Returns the original term of the user input, for which this instance\n provides a list of suggested terms. Suggested terms can either be corrected,\n or completed or exact matching.",
              "deprecated": false
            },
            "getTerms": {
              "name": "getTerms",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a iterator of suggested terms, might be empty"
              },
              "description": "Returns the list of SuggestedTerms suggested for the original term.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if no suggested term is contained in this set, false otherwise"
              },
              "description": "Returns true if this set of suggested terms is empty.",
              "deprecated": false
            }
          }
        },
        "Suggestions": {
          "fullClassName": "dw.suggest.Suggestions",
          "package": "dw.suggest",
          "description": "This is the base class for suggestions containers.\n For each type of items, a sub class provides methods to\n access the actual items.\n <p>\n See the sub classes for more specific information.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "searchPhraseSuggestions": {
              "name": "searchPhraseSuggestions",
              "class": {
                "name": "SearchPhraseSuggestions"
              },
              "static": false,
              "readonly": true,
              "description": "The suggested search phrases that are associated to this suggestions.\n \n In contrast to the suggested items, the suggested phrases contains the corrected and\n completed versions of the original search phrase.",
              "deprecated": false,
              "type": "property"
            },
            "suggestedPhrases": {
              "name": "suggestedPhrases",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "A list of SuggestedPhrase objects that relates to the\n user input search phrase.",
              "deprecated": true,
              "type": "property"
            },
            "suggestedTerms": {
              "name": "suggestedTerms",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "A list of SuggestedTerms objects. Each of the returned\n instances represents a set of terms suggested for a particular single term\n of the user input search phrase.",
              "deprecated": true,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSearchPhraseSuggestions": {
              "name": "getSearchPhraseSuggestions",
              "args": [],
              "class": {
                "name": "SearchPhraseSuggestions",
                "description": "the suggested search phrases for this suggestions"
              },
              "description": "Returns the suggested search phrases that are associated to this suggestions.\n \n In contrast to the suggested items, the suggested phrases contains the corrected and\n completed versions of the original search phrase.",
              "deprecated": false
            },
            "getSuggestedPhrases": {
              "name": "getSuggestedPhrases",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of SuggestedPhrases"
              },
              "description": "Returns a list of SuggestedPhrase objects that relates to the\n user input search phrase.",
              "deprecated": true
            },
            "getSuggestedTerms": {
              "name": "getSuggestedTerms",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "a list of SuggestedTerms for each term of the user input search phrase"
              },
              "description": "Returns a list of SuggestedTerms objects. Each of the returned\n instances represents a set of terms suggested for a particular single term\n of the user input search phrase.",
              "deprecated": true
            },
            "hasSuggestedPhrases": {
              "name": "hasSuggestedPhrases",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true only if there are phrases available"
              },
              "description": "Returns whether this suggestions container has any suggested phrases.\n \n Note that this method only looks for suggested phrases. It does not account\n for suggested terms or suggested objects. In other words,\n even if there are suggested terms or objects, this method\n will return false if this suggestions container has no phrases.",
              "deprecated": true
            },
            "hasSuggestedTerms": {
              "name": "hasSuggestedTerms",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true only if there are terms available"
              },
              "description": "Returns whether this suggestions container has any suggested terms.\n \n Note that this method checks suggested terms only,\n but not suggested phrases or suggested objects.",
              "deprecated": true
            },
            "hasSuggestions": {
              "name": "hasSuggestions",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true only if there are items found using the suggested terms"
              },
              "description": "Returns whether this suggestions container has any suggested items, i.e. products.\n \n Note that this method only looks for concrete suggested items. It does not account\n for suggested terms. In other words, even if there are suggested terms, this method\n will return false if no matching items, like products or categories, were found\n for the suggested terms.\n \n To find out whether there are suggested terms and how they match with respect to\n the original search phrase, one can use getSuggestedTerms() to obtain\n a list of SuggestedTerms.",
              "deprecated": false
            }
          }
        }
      },
      "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
            }
          }
        },
        "Result": {
          "fullClassName": "dw.svc.Result",
          "package": "dw.svc",
          "description": "Represents the result of a service call.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ERROR": {
              "name": "ERROR",
              "value": "\"ERROR\"",
              "class": {
                "name": "String"
              },
              "description": "Status indicating a general service error.",
              "deprecated": false,
              "type": "constant"
            },
            "OK": {
              "name": "OK",
              "value": "\"OK\"",
              "class": {
                "name": "String"
              },
              "description": "Status indicating a successful service call.",
              "deprecated": false,
              "type": "constant"
            },
            "SERVICE_UNAVAILABLE": {
              "name": "SERVICE_UNAVAILABLE",
              "value": "\"SERVICE_UNAVAILABLE\"",
              "class": {
                "name": "String"
              },
              "description": "Status indicating the service is unavailable. This includes timeouts, rate limits, and remote server issues.",
              "deprecated": false,
              "type": "constant"
            },
            "UNAVAILABLE_CIRCUIT_BROKEN": {
              "name": "UNAVAILABLE_CIRCUIT_BROKEN",
              "value": "\"CIRCUIT_BROKEN\"",
              "class": {
                "name": "String"
              },
              "description": "Unavailable reason: No call was made because the circuit breaker prevented it.",
              "deprecated": false,
              "type": "constant"
            },
            "UNAVAILABLE_CONFIG_PROBLEM": {
              "name": "UNAVAILABLE_CONFIG_PROBLEM",
              "value": "\"CONFIG_PROBLEM\"",
              "class": {
                "name": "String"
              },
              "description": "Unavailable reason: No call was made because the service was not configured correctly.",
              "deprecated": false,
              "type": "constant"
            },
            "UNAVAILABLE_DISABLED": {
              "name": "UNAVAILABLE_DISABLED",
              "value": "\"DISABLED\"",
              "class": {
                "name": "String"
              },
              "description": "Unavailable reason: No call was made because the service is disabled.",
              "deprecated": false,
              "type": "constant"
            },
            "UNAVAILABLE_RATE_LIMITED": {
              "name": "UNAVAILABLE_RATE_LIMITED",
              "value": "\"RATE_LIMITED\"",
              "class": {
                "name": "String"
              },
              "description": "Unavailable reason: No call was made because the rate limit was hit.",
              "deprecated": false,
              "type": "constant"
            },
            "UNAVAILABLE_TIMEOUT": {
              "name": "UNAVAILABLE_TIMEOUT",
              "value": "\"TIMEOUT\"",
              "class": {
                "name": "String"
              },
              "description": "Unavailable reason: A real call was made but a timeout occurred.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "error": {
              "name": "error",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "An error-specific code if applicable. For example, this is the HTTP response code for an\n HTTPService.",
              "deprecated": false,
              "type": "property"
            },
            "errorMessage": {
              "name": "errorMessage",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An error message on a non-OK status.",
              "deprecated": false,
              "type": "property"
            },
            "mockResult": {
              "name": "mockResult",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The status of whether the response is the result of a \"mock\" service call.",
              "deprecated": false,
              "type": "property"
            },
            "msg": {
              "name": "msg",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "An extra error message on failure (if any).",
              "deprecated": false,
              "type": "property"
            },
            "object": {
              "name": "object",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The actual object returned by the service when the status is OK.",
              "deprecated": false,
              "type": "property"
            },
            "ok": {
              "name": "ok",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "The status of whether the service call was successful.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The status. This is \"OK\" on success. Failure codes include \"ERROR\" and \"SERVICE_UNAVAILABLE\".\n \n If the status is \"SERVICE_UNAVAILABLE\", then the unavailableReason is guaranteed to be non-null.",
              "deprecated": false,
              "type": "property"
            },
            "unavailableReason": {
              "name": "unavailableReason",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The reason the status is SERVICE_UNAVAILABLE.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Result": {
              "name": "Result",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructs a new result instance.",
              "deprecated": false
            }
          },
          "methods": {
            "getError": {
              "name": "getError",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Error-specific code (if applicable)."
              },
              "description": "Returns an error-specific code if applicable. For example, this is the HTTP response code for an\n HTTPService.",
              "deprecated": false
            },
            "getErrorMessage": {
              "name": "getErrorMessage",
              "args": [],
              "class": {
                "name": "String",
                "description": "Error message."
              },
              "description": "Returns an error message on a non-OK status.",
              "deprecated": false
            },
            "getMsg": {
              "name": "getMsg",
              "args": [],
              "class": {
                "name": "String",
                "description": "Error message, or null."
              },
              "description": "Returns an extra error message on failure (if any).",
              "deprecated": false
            },
            "getObject": {
              "name": "getObject",
              "args": [],
              "class": {
                "name": "Object",
                "description": "Object returned by the service."
              },
              "description": "Returns the actual object returned by the service when the status is OK.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "String",
                "description": "Status code."
              },
              "description": "Returns the status. This is \"OK\" on success. Failure codes include \"ERROR\" and \"SERVICE_UNAVAILABLE\".\n \n If the status is \"SERVICE_UNAVAILABLE\", then the unavailableReason is guaranteed to be non-null.",
              "deprecated": false
            },
            "getUnavailableReason": {
              "name": "getUnavailableReason",
              "args": [],
              "class": {
                "name": "String",
                "description": "Unavailable reason code, or null if the status is not SERVICE_UNAVAILABLE."
              },
              "description": "Returns the reason the status is SERVICE_UNAVAILABLE.",
              "deprecated": false
            },
            "isMockResult": {
              "name": "isMockResult",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if this was a mock service call, false otherwise."
              },
              "description": "Returns the status of whether the response is the result of a \"mock\" service call.",
              "deprecated": false
            },
            "isOk": {
              "name": "isOk",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true on success, false otherwise."
              },
              "description": "Returns the status of whether the service call was successful.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of the result."
              },
              "description": "Returns a string representation of the result.",
              "deprecated": false
            }
          }
        },
        "SOAPService": {
          "fullClassName": "dw.svc.SOAPService",
          "package": "dw.svc",
          "description": "Represents a SOAP WebService.",
          "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"
            },
            "serviceClient": {
              "name": "serviceClient",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": false,
              "description": "The serviceClient object.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAuthentication": {
              "name": "getAuthentication",
              "args": [],
              "class": {
                "name": "String",
                "description": "Authentication type."
              },
              "description": "Returns the authentication type.",
              "deprecated": false
            },
            "getServiceClient": {
              "name": "getServiceClient",
              "args": [],
              "class": {
                "name": "Object",
                "description": "serviceClient object."
              },
              "description": "Returns the serviceClient object.",
              "deprecated": false
            },
            "setAuthentication": {
              "name": "setAuthentication",
              "args": [
                {
                  "name": "authentication",
                  "description": "Type of authentication.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SOAPService",
                "description": "this SOAP WebService."
              },
              "description": "Sets the type of authentication. Valid values include \"BASIC\" and \"NONE\".\n \n The default value is BASIC.",
              "deprecated": false
            },
            "setServiceClient": {
              "name": "setServiceClient",
              "args": [
                {
                  "name": "o",
                  "description": "serviceClient object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SOAPService",
                "description": "this SOAP WebService."
              },
              "description": "Sets the serviceClient object. This must be set in the prepareCall method, prior to execute being called.",
              "deprecated": false
            }
          }
        },
        "SOAPServiceDefinition": {
          "fullClassName": "dw.svc.SOAPServiceDefinition",
          "package": "dw.svc",
          "description": "Represents a SOAP WebService definition.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.svc.ServiceDefinition"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "Service": {
          "fullClassName": "dw.svc.Service",
          "package": "dw.svc",
          "description": "Base class of Services.\n <p>\n A service represents a call-specific configuration. Any configuration set here is local to the currently executing\n call.\n </p><p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "configuration": {
              "name": "configuration",
              "class": {
                "name": "ServiceConfig"
              },
              "static": false,
              "readonly": true,
              "description": "The Service Configuration.",
              "deprecated": false,
              "type": "property"
            },
            "credentialID": {
              "name": "credentialID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The ID of the currently associated Credential.",
              "deprecated": false,
              "type": "property"
            },
            "mock": {
              "name": "mock",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether this service is executing in mock mode.",
              "deprecated": false,
              "type": "property"
            },
            "requestData": {
              "name": "requestData",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The property that stores the object returned by createRequest.",
              "deprecated": false,
              "type": "property"
            },
            "response": {
              "name": "response",
              "class": {
                "name": "Object"
              },
              "static": false,
              "readonly": true,
              "description": "The property that stores the object returned by the service.\n \n This property is only useful after the service call(Object...) completes, and is the same as the object\n inside the Result.",
              "deprecated": false,
              "type": "property"
            },
            "throwOnError": {
              "name": "throwOnError",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether this service will throw an error when encountering a problem.",
              "deprecated": false,
              "type": "property"
            },
            "URL": {
              "name": "URL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The current URL, excluding any custom query parameters.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "call": {
              "name": "call",
              "args": [
                {
                  "name": "args",
                  "description": "Arguments to pass. If there is a single argument and that argument is an array, then each item in the array will become a separate argument. For example, the following results in three separate arguments to the service:  svc.call( [1,2,3] )  and is functionally equivalent to  svc.call( 1, 2, 3 )  This can be avoided by explicitly forming a List, enclosing the array in another array, or by sending a second argument. The following will all send the array as a List in the first argument.  svc.call( ArrayList([1,2,3]) )   svc.call( [[1,2,3]] )   svc.call( [1,2,3], \"\" )  Another option is to change the definition of the associated ServiceCallback.createRequest(Service, Object...) to accept an object instead, and pass the array as a field of that object:  svc.call( { 'data': [1,2,3] } )",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "Result",
                "description": "Result of the service."
              },
              "description": "Invokes the service.",
              "deprecated": false
            },
            "getConfiguration": {
              "name": "getConfiguration",
              "args": [],
              "class": {
                "name": "ServiceConfig",
                "description": "Service Configuration."
              },
              "description": "Returns the Service Configuration.",
              "deprecated": false
            },
            "getCredentialID": {
              "name": "getCredentialID",
              "args": [],
              "class": {
                "name": "String",
                "description": "Credential Name."
              },
              "description": "Returns the ID of the currently associated Credential.",
              "deprecated": false
            },
            "getRequestData": {
              "name": "getRequestData",
              "args": [],
              "class": {
                "name": "Object",
                "description": "Object returned by createRequest."
              },
              "description": "Returns the property that stores the object returned by createRequest.",
              "deprecated": false
            },
            "getResponse": {
              "name": "getResponse",
              "args": [],
              "class": {
                "name": "Object",
                "description": "Object returned by the service."
              },
              "description": "Returns the property that stores the object returned by the service.\n \n This property is only useful after the service call(Object...) completes, and is the same as the object\n inside the Result.",
              "deprecated": false
            },
            "getURL": {
              "name": "getURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "URL."
              },
              "description": "Returns the current URL, excluding any custom query parameters.",
              "deprecated": false
            },
            "isMock": {
              "name": "isMock",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true for mock mode, false otherwise."
              },
              "description": "Returns the status of whether this service is executing in mock mode.",
              "deprecated": false
            },
            "isThrowOnError": {
              "name": "isThrowOnError",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true to throw an error, false otherwise."
              },
              "description": "Returns the status of whether this service will throw an error when encountering a problem.",
              "deprecated": false
            },
            "setCredentialID": {
              "name": "setCredentialID",
              "args": [
                {
                  "name": "id",
                  "description": "Credential ID. It must exist.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Service",
                "description": "this Service."
              },
              "description": "Override the Credential by the credential object with the given ID.\n \n If the URL is also overridden, that URL will continue to override the URL in this credential.",
              "deprecated": false
            },
            "setMock": {
              "name": "setMock",
              "args": [],
              "class": {
                "name": "Service",
                "description": "this Service."
              },
              "description": "Forces the mock mode to be enabled.",
              "deprecated": false
            },
            "setThrowOnError": {
              "name": "setThrowOnError",
              "args": [],
              "class": {
                "name": "Service",
                "description": "this Service."
              },
              "description": "Forces a Service to throw an error when there is a problem instead of returning a Result with non-OK status.",
              "deprecated": false
            },
            "setURL": {
              "name": "setURL",
              "args": [
                {
                  "name": "url",
                  "description": "Force the URL to the given value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Service",
                "description": "this Service."
              },
              "description": "Override the URL to the given value. Any query parameters (if applicable) will be appended to this URL.",
              "deprecated": false
            }
          }
        },
        "ServiceCallback": {
          "fullClassName": "dw.svc.ServiceCallback",
          "package": "dw.svc",
          "description": "Defines callbacks for use with the <a href=\"class_dw_svc_LocalServiceRegistry.html\">LocalServiceRegistry</a>.\n <p>\n Note this class itself is not used directly, and is present only for documentation of the available callback methods.\n </p><p>\n These methods are called in sequence when a service is called:\n </p><ol>\n <li><a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_initServiceClient_Service_DetailAnchor\">initServiceClient(Service)</a> -- Creates the underlying client that will be used to make the call. This is\n intended for SOAP Services. Other client types will be created automatically.\n </li><li><a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_createRequest_Service_Object_DetailAnchor\">createRequest(Service, Object...)</a> -- Given arguments to the <a href=\"class_dw_svc_Service.html#dw_svc_Service_call_Object_DetailAnchor\">Service.call(Object...)</a>, configure\n the actual service request. This may include setting request headers, defining the message body, etc.\n </li><li><a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_execute_Service_Object_DetailAnchor\">execute(Service, Object)</a> -- Perform the actual request. At this point the client has been configured\n with the relevant credentials, so the call should be made. This is required for SOAP services.\n </li><li><a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_parseResponse_Service_Object_DetailAnchor\">parseResponse(Service, Object)</a> -- Convert the result of the call into an object to be returned from the\n <a href=\"class_dw_svc_Service.html#dw_svc_Service_call_Object_DetailAnchor\">Service.call(Object...)</a> method.\n </li></ol>\n If the service is mocked (see <a href=\"class_dw_svc_Service.html#dw_svc_Service_isMock_DetailAnchor\">Service.isMock()</a>), then <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_mockFull_Service_Object_DetailAnchor\">mockFull(Service, Object...)</a> takes the place\n of this entire sequence. If that is not implemented, then <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_mockCall_Service_Object_DetailAnchor\">mockCall(Service, Object)</a> takes the place of just\n the <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_execute_Service_Object_DetailAnchor\">execute(Service, Object)</a> method.\n <p>\n The URL, request, and response objects may be logged. To avoid logging sensitive data,\n <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_filterLogMessage_String_DetailAnchor\">filterLogMessage(String)</a> and/or <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_getRequestLogMessage_Object_DetailAnchor\">getRequestLogMessage(Object)</a> and\n <a href=\"class_dw_svc_ServiceCallback.html#dw_svc_ServiceCallback_getResponseLogMessage_Object_DetailAnchor\">getResponseLogMessage(Object)</a> must be implemented. If they are not implemented then this logging will not be\n done on Production environments.\n </p><p>\n There are some special considerations for the combination of service type and callback:\n <table>\n <tbody><tr><th>\n </th></tr><tr>\n <td>Service Type</td>\n <td>initServiceClient</td>\n <td>createRequest</td>\n <td>execute</td>\n <td>parseResponse</td>\n </tr>\n \n <tr>\n <td>HTTP</td>\n <td>Not normally implemented. Must return a <a href=\"class_dw_net_HTTPClient.html\">HTTPClient</a></td>\n <td>Required unless execute is provided. The return value is expected to be either a String or array of\n <a href=\"class_dw_net_HTTPRequestPart.html\">HTTPRequestPart</a>, which will be used as the request body</td>\n <td>Not called unless a boolean \"executeOverride:true\" is set on the callback. This is a temporary limitation, a\n future release will always call this callback if it is present</td>\n <td>Required unless execute is provided.</td>\n </tr>\n <tr>\n <td>HTTPForm</td>\n <td>Not normally implemented. Must return a <a href=\"class_dw_net_HTTPClient.html\">HTTPClient</a></td>\n <td>Not normally implemented. Default behavior constructs an \"application/x-www-form-urlencoded\" request based on a\n Map given as an argument.</td>\n <td>Not normally implemented. The same limitations as HTTP regarding the \"executeOverride\" flag apply here.</td>\n <td>Optional. Default behavior is to return the response body as a String.</td>\n </tr>\n <tr>\n <td>SOAP</td>\n <td>Optional. This must return the Webservice stub or port</td>\n <td>Required. If initServiceClient was not provided, then this function must call\n <a href=\"class_dw_svc_SOAPService.html#dw_svc_SOAPService_setServiceClient_Object_DetailAnchor\">SOAPService.setServiceClient(Object)</a> with the stub or port</td>\n <td>Required. A typical implementation will call the webservice via a method on the service client</td>\n <td>Optional. Default behavior returns the output of execute</td>\n </tr>\n <tr>\n <td>FTP</td>\n <td>Not normally implemented. Must return a <a href=\"class_dw_net_FTPClient.html\">FTPClient</a> or <a href=\"class_dw_net_SFTPClient.html\">SFTPClient</a></td>\n <td>Required unless execute is defined. If present, it should call\n <a href=\"class_dw_svc_FTPService.html#dw_svc_FTPService_setOperation_String_Object_DetailAnchor\">FTPService.setOperation(String, Object...)</a></td>\n <td>Optional. An implementation may call any required methods on the given client. The default implementation calls\n the Operation that was set up and returns the result.</td>\n <td>Optional. Default behavior returns the output of execute</td>\n </tr>\n <tr>\n <td>GENERIC</td>\n <td>Optional.</td>\n <td>Optional.</td>\n <td>Required. The GENERIC type allows any code to be wrapped in the service framework layer, and it's up to this\n execute method to define what that logic is.</td>\n <td>Optional.</td>\n </tr>\n </tbody></table></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "URL": {
              "name": "URL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Allows overriding the URL provided by the service configuration.\n \n It is usually better to call Service.setURL(String) within createRequest(Service, Object...)\n because that allows you to modify the existing URL based on call parameters.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "createRequest": {
              "name": "createRequest",
              "args": [
                {
                  "name": "service",
                  "description": "Service being executed.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "Parameters given to the call method.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "Object",
                "description": "Request object to give to the execute method."
              },
              "description": "Creates a request object to be used when calling the service.\n \n The type of the object expected is dependent on the service. For example, the HTTPService expects the\n HTTP request body to be returned.\n \n This is required unless the execute method is implemented.\n \n It is not recommended to have a service accept a single array or list as a parameter, since doing so requires\n some extra work when actually calling the service. See Service.call(Object...) for more details.",
              "deprecated": false
            },
            "execute": {
              "name": "execute",
              "args": [
                {
                  "name": "service",
                  "description": "Service being executed.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                },
                {
                  "name": "request",
                  "description": "Request object returned by createRequest(Service, Object...).",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "Response from the underlying call, to be sent to parseResponse(Service, Object)."
              },
              "description": "Provides service-specific execution logic.\n \n This can be overridden to execute a chain of FTP commands in the FTPService, or perform the actual remote\n call on a webservice stub in the SOAPService.",
              "deprecated": false
            },
            "filterLogMessage": {
              "name": "filterLogMessage",
              "args": [
                {
                  "name": "msg",
                  "description": "Original log message.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Message to be logged."
              },
              "description": "Allows filtering communication URL, request, and response log messages.\n \n If not implemented, then no filtering will be performed and the message will be logged as-is.",
              "deprecated": false
            },
            "getRequestLogMessage": {
              "name": "getRequestLogMessage",
              "args": [
                {
                  "name": "request",
                  "description": "Request object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Log message, or null to create and use the default message."
              },
              "description": "Creates a communication log message for the given request.\n \n If not implemented then the default logic will be used to convert the request into a log message.",
              "deprecated": false
            },
            "getResponseLogMessage": {
              "name": "getResponseLogMessage",
              "args": [
                {
                  "name": "response",
                  "description": "Response object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "Log message, or null to create and use the default message."
              },
              "description": "Creates a response log message for the given request.\n \n If not implemented then the default logic will be used to convert the response into a log message.",
              "deprecated": false
            },
            "getURL": {
              "name": "getURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "URL to use. The default behavior is to use the URL from the service configuration."
              },
              "description": "Allows overriding the URL provided by the service configuration.\n \n It is usually better to call Service.setURL(String) within createRequest(Service, Object...)\n because that allows you to modify the existing URL based on call parameters.",
              "deprecated": false
            },
            "initServiceClient": {
              "name": "initServiceClient",
              "args": [
                {
                  "name": "service",
                  "description": "the Service object.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "Client object"
              },
              "description": "Creates a protocol-specific client object.\n \n This does not normally need to be implemented, except in the case of SOAP services.\n \n Example declaration:\n  initServiceClient: function( svc:SOAPService ) {\n }",
              "deprecated": false
            },
            "mockCall": {
              "name": "mockCall",
              "args": [
                {
                  "name": "service",
                  "description": "Service being executed.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                },
                {
                  "name": "requestObj",
                  "description": "Request object returned by createRequest(Service, Object...).",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "Mock response, to be sent to parseResponse(Service, Object)."
              },
              "description": "Override this method to mock the remote portion of the service call.\n \n Other callbacks like createRequest and parseResponse are still called.",
              "deprecated": false
            },
            "mockFull": {
              "name": "mockFull",
              "args": [
                {
                  "name": "service",
                  "description": "Service being executed.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "Arguments from the Service call method.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "name": "Object",
                "description": "Object to return in the service call's Result."
              },
              "description": "Override this method to mock the entire service call, including the createRequest, execute, and parseResponse phases.",
              "deprecated": false
            },
            "parseResponse": {
              "name": "parseResponse",
              "args": [
                {
                  "name": "service",
                  "description": "Service being executed.",
                  "class": {
                    "name": "Service"
                  },
                  "multiple": false
                },
                {
                  "name": "response",
                  "description": "Service-specific response object. For example, the HTTPService service provides the underlying HTTPClient object that made the HTTP call.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "Object to return in the service call's Result."
              },
              "description": "Creates a response object from a successful service call.\n \n This response object will be the output object of the call method's Result.",
              "deprecated": false
            }
          }
        },
        "ServiceConfig": {
          "fullClassName": "dw.svc.ServiceConfig",
          "package": "dw.svc",
          "description": "Configuration object for Services.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "credential": {
              "name": "credential",
              "class": {
                "name": "ServiceCredential"
              },
              "static": false,
              "readonly": true,
              "description": "The related service credentials.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique Service ID.",
              "deprecated": false,
              "type": "property"
            },
            "profile": {
              "name": "profile",
              "class": {
                "name": "ServiceProfile"
              },
              "static": false,
              "readonly": true,
              "description": "The related service profile.",
              "deprecated": false,
              "type": "property"
            },
            "serviceType": {
              "name": "serviceType",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The type of the service, such as HTTP or SOAP.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCredential": {
              "name": "getCredential",
              "args": [],
              "class": {
                "name": "ServiceCredential",
                "description": "Related service credentials."
              },
              "description": "Returns the related service credentials.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "unique Service ID."
              },
              "description": "Returns the unique Service ID.",
              "deprecated": false
            },
            "getProfile": {
              "name": "getProfile",
              "args": [],
              "class": {
                "name": "ServiceProfile",
                "description": "Related service profile."
              },
              "description": "Returns the related service profile.",
              "deprecated": false
            },
            "getServiceType": {
              "name": "getServiceType",
              "args": [],
              "class": {
                "name": "String",
                "description": "Type of the service, such as HTTP or SOAP."
              },
              "description": "Returns the type of the service, such as HTTP or SOAP.",
              "deprecated": false
            }
          }
        },
        "ServiceCredential": {
          "fullClassName": "dw.svc.ServiceCredential",
          "package": "dw.svc",
          "description": "Configuration object for Service Credentials.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            },
            {
              "name": "dw.customer.EncryptedObject"
            }
          ],
          "constants": {
            "ENCRYPTION_ALGORITHM_RSA": {
              "name": "ENCRYPTION_ALGORITHM_RSA",
              "value": "\"RSA\"",
              "class": {
                "name": "String"
              },
              "description": "Constant for specification of the public key encryption algorithm RSA.",
              "deprecated": true,
              "type": "constant"
            }
          },
          "properties": {
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique Credential ID.",
              "deprecated": false,
              "type": "property"
            },
            "password": {
              "name": "password",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Password in plain text.",
              "deprecated": false,
              "type": "property"
            },
            "URL": {
              "name": "URL",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return the URL.",
              "deprecated": false,
              "type": "property"
            },
            "user": {
              "name": "user",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The User ID.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getEncryptedPassword": {
              "name": "getEncryptedPassword",
              "args": [
                {
                  "name": "algorithm",
                  "description": "The algorithm to be used for the encryption of this password. Currently only \"RSA\" is supported.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "publicKey",
                  "description": "A reference to a trusted certificate entry containing the public key in the keystore.",
                  "class": {
                    "name": "CertificateRef"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "String",
                "description": "the base64-encoded representation of the password."
              },
              "description": "Encrypts the password from this object with the given algorithm\n and the public key taken from a certificate in the keystore.\n Returned is the base64-encoded representation of the result. \n See also Cipher.encrypt(String, CertificateRef, String, String, Number) on how to generate RSA key pairs.",
              "deprecated": true
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "unique Credential ID."
              },
              "description": "Returns the unique Credential ID.",
              "deprecated": false
            },
            "getPassword": {
              "name": "getPassword",
              "args": [],
              "class": {
                "name": "String",
                "description": "Password."
              },
              "description": "Returns the Password in plain text.",
              "deprecated": false
            },
            "getURL": {
              "name": "getURL",
              "args": [],
              "class": {
                "name": "String",
                "description": "URL."
              },
              "description": "Return the URL.",
              "deprecated": false
            },
            "getUser": {
              "name": "getUser",
              "args": [],
              "class": {
                "name": "String",
                "description": "User ID."
              },
              "description": "Returns the User ID.",
              "deprecated": false
            }
          }
        },
        "ServiceDefinition": {
          "fullClassName": "dw.svc.ServiceDefinition",
          "package": "dw.svc",
          "description": "Base class of Service Definitions.\n <p>\n A service definition represents configuration that is shared across all <a href=\"class_dw_svc_Service.html\">Service</a> instances.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "configuration": {
              "name": "configuration",
              "class": {
                "name": "ServiceConfig"
              },
              "static": false,
              "readonly": true,
              "description": "The Service Configuration stored in the database.",
              "deprecated": false,
              "type": "property"
            },
            "mock": {
              "name": "mock",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether mock mode is enabled for all instances of this definition.",
              "deprecated": false,
              "type": "property"
            },
            "serviceName": {
              "name": "serviceName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of this service.",
              "deprecated": false,
              "type": "property"
            },
            "throwOnError": {
              "name": "throwOnError",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "The status of whether the shared throwOnError flag is set.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "configure": {
              "name": "configure",
              "args": [
                {
                  "name": "config",
                  "description": "Callback object.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "ServiceDefinition",
                "description": "this"
              },
              "description": "Register a callback to handle custom portions of the service.\n \n This callback may declare multiple methods:\n\n  {\n   initServiceClient: function() {\n       // Create and return the internal service client object.\n       // This is usually optional, except in the case of SOAP services.\n   },\n\n   // svc is the call-specific Service instance. For example, it may be an HTTPService or FTPService.\n   // params are the arguments passed to the call method (if any).\n   createRequest: function(svc:Service, params) {\n        // Perform any required call-time configuration.\n        // Optionally return a Service-specific object\n   },\n\n   // svc is the call-specific Service instance.\n   // arg is the output of createRequest.\n   execute: function(svc:Service, arg:Object) {\n        // Execute the service call and return a result\n        // This method is not used by default for HTTP-related services unless executeOverride is set.\n   },\n\n   // Use the execute function if it is present. This is only required to use the functionality with HTTP services.\n   executeOverride: true,\n\n   // svc is the call-specific Service instance.\n   // response is the output of execute.\n   parseResponse: function(svc:Service, response: Object) {\n        // Process the response object as needed.\n        // The return value of this method will be the return value of the outer call method.\n   },\n\n   // svc is the call-specific Service instance.\n   // arg is the output of createRequest.\n   mockCall: function(svc:Service, arg:Object) {\n        // This method takes the place of the 'execute' phase when mocking is enabled.\n        // Note initServiceClient, createRequest, and parseResponse still invoked.\n   },\n\n   // svc is the call-specific Service instance.\n   // params are the arguments passed to the call method (if any).\n   mockFull: function(svc:Service, params) {\n        // This method takes the place of the entire service call when mocking is enabled.\n        // No other callbacks are invoked. The output of this method becomes the output of call.\n   }\n\n }",
              "deprecated": false
            },
            "getConfiguration": {
              "name": "getConfiguration",
              "args": [],
              "class": {
                "name": "ServiceConfig",
                "description": "Service Configuration."
              },
              "description": "Returns the Service Configuration stored in the database.",
              "deprecated": false
            },
            "getServiceName": {
              "name": "getServiceName",
              "args": [],
              "class": {
                "name": "String",
                "description": "Service name."
              },
              "description": "Returns the name of this service.",
              "deprecated": false
            },
            "isMock": {
              "name": "isMock",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true for mock mode, false otherwise."
              },
              "description": "Returns the status of whether mock mode is enabled for all instances of this definition.",
              "deprecated": false
            },
            "isThrowOnError": {
              "name": "isThrowOnError",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "throwOnError flag."
              },
              "description": "Returns the status of whether the shared throwOnError flag is set.",
              "deprecated": false
            },
            "setMock": {
              "name": "setMock",
              "args": [],
              "class": {
                "name": "ServiceDefinition",
                "description": "this Service Definition."
              },
              "description": "Sets the mock mode for all Service instances that use this definition.",
              "deprecated": false
            },
            "setThrowOnError": {
              "name": "setThrowOnError",
              "args": [],
              "class": {
                "name": "ServiceDefinition",
                "description": "this Service Definition."
              },
              "description": "Sets the throwOnError flag to true for all Service instances that use this definition.",
              "deprecated": false
            }
          }
        },
        "ServiceProfile": {
          "fullClassName": "dw.svc.ServiceProfile",
          "package": "dw.svc",
          "description": "Configuration object for Service Profiles.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "cbCalls": {
              "name": "cbCalls",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum number of errors in an interval allowed by the circuit breaker.",
              "deprecated": false,
              "type": "property"
            },
            "cbMillis": {
              "name": "cbMillis",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The interval of the circuit breaker in milliseconds.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique Service ID.",
              "deprecated": false,
              "type": "property"
            },
            "rateLimitCalls": {
              "name": "rateLimitCalls",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum number of calls in an interval allowed by the rate limiter.",
              "deprecated": false,
              "type": "property"
            },
            "rateLimitMillis": {
              "name": "rateLimitMillis",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The interval of the rate limiter in milliseconds.",
              "deprecated": false,
              "type": "property"
            },
            "timeoutMillis": {
              "name": "timeoutMillis",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The service call timeout in milliseconds.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCbCalls": {
              "name": "getCbCalls",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Maximum number of errors in an interval allowed by the circuit breaker."
              },
              "description": "Returns the maximum number of errors in an interval allowed by the circuit breaker.",
              "deprecated": false
            },
            "getCbMillis": {
              "name": "getCbMillis",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Circuit breaker interval in milliseconds."
              },
              "description": "Returns the interval of the circuit breaker in milliseconds.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "unique Service ID"
              },
              "description": "Returns the unique Service ID.",
              "deprecated": false
            },
            "getRateLimitCalls": {
              "name": "getRateLimitCalls",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Maximum number of calls in an interval allowed by the rate limiter."
              },
              "description": "Returns the maximum number of calls in an interval allowed by the rate limiter.",
              "deprecated": false
            },
            "getRateLimitMillis": {
              "name": "getRateLimitMillis",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Interval of the rate limiter in milliseconds."
              },
              "description": "Returns the interval of the rate limiter in milliseconds.",
              "deprecated": false
            },
            "getTimeoutMillis": {
              "name": "getTimeoutMillis",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Service call timeout in milliseconds."
              },
              "description": "Returns the service call timeout in milliseconds.",
              "deprecated": false
            }
          }
        },
        "ServiceRegistry": {
          "fullClassName": "dw.svc.ServiceRegistry",
          "package": "dw.svc",
          "description": "The ServiceRegistry is responsible for managing Service definitions and their 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>The service callback is configured once during cartridge initialization:\n\n <pre> ServiceRegistry.configure(\"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>A new service instance is created and called in order to perform the operation:\n\n <pre> var result : Result = ServiceRegistry.get(\"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 See <a href=\"class_dw_svc_ServiceCallback.html\">ServiceCallback</a> for all the callback options, and individual <a href=\"class_dw_svc_ServiceDefinition.html\">ServiceDefinition</a>\n classes for customization specific to a service type.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "configure": {
              "name": "configure",
              "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": "ServiceDefinition",
                "description": "Associated ServiceDefinition, which can be used for further protocol-specific configuration."
              },
              "description": "Configure the given serviceId with a callback.\n \n If the service is already configured, the given callback will replace any existing one.",
              "deprecated": false
            },
            "get": {
              "name": "get",
              "args": [
                {
                  "name": "serviceID",
                  "description": "Unique Service ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Service",
                "description": "Service instance."
              },
              "description": "Constructs a new instance of the given service.",
              "deprecated": false
            },
            "getDefinition": {
              "name": "getDefinition",
              "args": [
                {
                  "name": "serviceID",
                  "description": "Unique Service Id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "ServiceDefinition",
                "description": "ServiceDefinition"
              },
              "description": "Gets a Service Definition.\n \n This Service Definition is shared across all Service instances returned by get(String).",
              "deprecated": false
            },
            "isConfigured": {
              "name": "isConfigured",
              "args": [
                {
                  "name": "serviceID",
                  "description": "Unique Service ID.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "boolean",
                "description": "true if configure has already been called, false otherwise."
              },
              "description": "Returns the status of whether the given service has been configured 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
            }
          }
        },
        "OrganizationPreferences": {
          "fullClassName": "dw.system.OrganizationPreferences",
          "package": "dw.system",
          "description": "OrganizationPreferences is a container for custom global (i.e.\n organization-level) attributes. The object corresponds with system object\n definition \"OrganizationPreferences\". It has no system attributes and exists\n only as a place for merchants to define custom attributes which need to be\n available to all of their sites.\n <p>\n An instance is obtained by calling <a href=\"class_dw_system_System.html#dw_system_System_getPreferences_DetailAnchor\">System.getPreferences()</a>.\n Once an instance of the container is obtained, it is possible to read/write\n organization preference values by using the usual syntax for\n <a href=\"class_dw_object_ExtensibleObject.html\">ExtensibleObject</a> instances. For example:\n </p><pre> var orgPrefs : OrganizationPreferences = dw.system.System.getPreferences();\n var myOrgPrefValue : String = orgPrefs.getCustom()[\"myOrgPref\"];\n </pre>\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 Commerce Cloud Digital defines many organization-level preferences, relating to\n locale, timezone, geolocations, etc, which can be managed within the\n \"Global Preferences\" module of the Business Manager, but these preferences\n are not accessible through this object.</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {}
        },
        "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": {}
        },
        "Request": {
          "fullClassName": "dw.system.Request",
          "package": "dw.system",
          "description": "Represents a request in Commerce Cloud Digital. Each pipeline dictionary contains a CurrentRequest object, which is of\n type dw.system.Request. Most requests are HTTP requests, so you can use this object to get information about the HTTP\n request, such as the HTTP headers. You can also get a list of cookies, if any, associated with the request. If the\n request is issued from a job, the request is not an HTTP request, so HTTP-related methods return null.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "clientId": {
              "name": "clientId",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The client id of the current OCAPI request. If this is not an OCAPI request 'null' is returned. For\n client ids owned by Commerce Cloud Digital an alias is returned.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "All of the custom attributes associated with the request. The attributes are stored for the life time of\n the request.",
              "deprecated": false,
              "type": "property"
            },
            "geolocation": {
              "name": "geolocation",
              "class": {
                "name": "Geolocation"
              },
              "static": false,
              "readonly": false,
              "description": "The physical location for the current request, if available. The\n location is calculated based on the IP address of the request. Note, if\n the geolocation tracking feature is not enabled, this method always\n returns null.",
              "deprecated": false,
              "type": "property"
            },
            "httpCookies": {
              "name": "httpCookies",
              "class": {
                "name": "Cookies"
              },
              "static": false,
              "readonly": true,
              "description": "The Cookies object, which can be used to read cookies sent by the client. Use the method\n Response.addHttpCookie() to add a cookie to the outgoing response.",
              "deprecated": false,
              "type": "property"
            },
            "httpHeaders": {
              "name": "httpHeaders",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "A Map containing all HTTP header values.",
              "deprecated": false,
              "type": "property"
            },
            "httpHost": {
              "name": "httpHost",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The host name or null if there is no host name.",
              "deprecated": false,
              "type": "property"
            },
            "httpLocale": {
              "name": "httpLocale",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The locale or null if there is no associated locale.",
              "deprecated": false,
              "type": "property"
            },
            "httpMethod": {
              "name": "httpMethod",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the HTTP method with which this request was made, for example, GET, POST, or PUT.",
              "deprecated": false,
              "type": "property"
            },
            "httpParameterMap": {
              "name": "httpParameterMap",
              "class": {
                "name": "HttpParameterMap"
              },
              "static": false,
              "readonly": true,
              "description": "The parameter map that contains the HTTP parameters for the current request.",
              "deprecated": false,
              "type": "property"
            },
            "httpParameters": {
              "name": "httpParameters",
              "class": {
                "name": "Map"
              },
              "static": false,
              "readonly": true,
              "description": "A Map containing the raw HTTP parameters sent to the server. The Map contains name/value pairs. Each name\n is a String and each value is a String array.",
              "deprecated": false,
              "type": "property"
            },
            "httpPath": {
              "name": "httpPath",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The path.",
              "deprecated": false,
              "type": "property"
            },
            "httpProtocol": {
              "name": "httpProtocol",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The HTTP protocol used for this request. Possible values are \"http\" or \"https\". If the current activity\n is not related to an HTTP request, for example, when the request is part of a job, this method returns null.",
              "deprecated": false,
              "type": "property"
            },
            "httpQueryString": {
              "name": "httpQueryString",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The query string or null if there is no query string.",
              "deprecated": false,
              "type": "property"
            },
            "httpReferer": {
              "name": "httpReferer",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The referer or null if there is no referer.",
              "deprecated": false,
              "type": "property"
            },
            "httpRemoteAddress": {
              "name": "httpRemoteAddress",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The remote address or null if no remote address is found.",
              "deprecated": false,
              "type": "property"
            },
            "httpRequest": {
              "name": "httpRequest",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if this request is an HTTP request. The method returns true, if the current processing is related to a\n HTTP request. For example during a job execution this flag is false.",
              "deprecated": false,
              "type": "property"
            },
            "httpSecure": {
              "name": "httpSecure",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether the HTTP communication is secure, which basically means that the communication happens via https.\n If the current activity is not related to an HTTP request the method returns false.",
              "deprecated": false,
              "type": "property"
            },
            "httpURL": {
              "name": "httpURL",
              "class": {
                "name": "URL"
              },
              "static": false,
              "readonly": true,
              "description": "The complete URL of the request which was received at the server.\n This URL does not include SEO optimizations.",
              "deprecated": false,
              "type": "property"
            },
            "httpUserAgent": {
              "name": "httpUserAgent",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The HTTP user agent or null if there is no user agent.",
              "deprecated": false,
              "type": "property"
            },
            "includeRequest": {
              "name": "includeRequest",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns true if the request represents a request for a remote include, false if it is a top-level request.",
              "deprecated": false,
              "type": "property"
            },
            "locale": {
              "name": "locale",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The locale of the current request. This locale is set by the system based on the information in the URL.\n It may be different from the locale returned by getHttpLocale(), which is the preferred locale sent by the user agent.",
              "deprecated": false,
              "type": "property"
            },
            "ocapiVersion": {
              "name": "ocapiVersion",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The OCAPI version of the current request. If this is not\n an OCAPI request, 'null' is returned.",
              "deprecated": false,
              "type": "property"
            },
            "pageMetaData": {
              "name": "pageMetaData",
              "class": {
                "name": "PageMetaData"
              },
              "static": false,
              "readonly": true,
              "description": "The page meta data that are associated with the current request.",
              "deprecated": false,
              "type": "property"
            },
            "requestID": {
              "name": "requestID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique identifier of the current request. The unique id is helpful for debugging purpose, e.g. relate\n debug messages to a particular request.",
              "deprecated": false,
              "type": "property"
            },
            "SCAPI": {
              "name": "SCAPI",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Returns whether the request originated in SCAPI, identified by the presence of the \"_sfdc_mercury\" header.",
              "deprecated": false,
              "type": "property"
            },
            "session": {
              "name": "session",
              "class": {
                "name": "Session"
              },
              "static": false,
              "readonly": true,
              "description": "The session associated with this request.",
              "deprecated": false,
              "type": "property"
            },
            "triggeredForm": {
              "name": "triggeredForm",
              "class": {
                "name": "Form"
              },
              "static": false,
              "readonly": true,
              "description": "The form that was submitted by the client if the request represents a form submission.",
              "deprecated": false,
              "type": "property"
            },
            "triggeredFormAction": {
              "name": "triggeredFormAction",
              "class": {
                "name": "FormAction"
              },
              "static": false,
              "readonly": true,
              "description": "The form action that was triggered by the client if the request represents a form submission.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addHttpCookie": {
              "name": "addHttpCookie",
              "args": [
                {
                  "name": "cookie",
                  "description": "a Cookie object",
                  "class": {
                    "name": "Cookie"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds the specified cookie to the outgoing response. This method can be called multiple times to set more than one\n cookie. If a cookie with the same cookie name, domain and path is set multiple times for the same response, only\n the last set cookie with this name is send to the client. This method can be used to set, update or delete\n cookies at the client. If the cookie doesn't exist at the client, it is set initially. If a cookie with the same\n name, domain and path already exists at the client, it is updated. A cookie can be deleted at the client by\n submitting a cookie with the maxAge attribute set to 0 (see Cookie.setMaxAge()\n  for more information).\n\n  Example, how a cookie can be deleted at the client:\n var cookie : Cookie = new Cookie(\"SomeName\", \"Simple Value\");\n cookie.setMaxAge(0);\n request.addHttpCookie(cookie);",
              "deprecated": true
            },
            "getClientId": {
              "name": "getClientId",
              "args": [],
              "class": {
                "name": "String",
                "description": "a client id or alias in case of an OCAPI request, otherwise null."
              },
              "description": "Returns the client id of the current OCAPI request. If this is not an OCAPI request 'null' is returned. For\n client ids owned by Commerce Cloud Digital an alias is returned.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "all of the custom attributes associated with the request."
              },
              "description": "Returns all of the custom attributes associated with the request. The attributes are stored for the life time of\n the request.",
              "deprecated": false
            },
            "getGeolocation": {
              "name": "getGeolocation",
              "args": [],
              "class": {
                "name": "Geolocation",
                "description": "The geolocation of the current request, or null if this is not available."
              },
              "description": "Returns the physical location for the current request, if available. The\n location is calculated based on the IP address of the request. Note, if\n the geolocation tracking feature is not enabled, this method always\n returns null.",
              "deprecated": false
            },
            "getHttpCookies": {
              "name": "getHttpCookies",
              "args": [],
              "class": {
                "name": "Cookies",
                "description": "Cookies object or null if this is not an HTTP request"
              },
              "description": "Returns the Cookies object, which can be used to read cookies sent by the client. Use the method\n Response.addHttpCookie() to add a cookie to the outgoing response.",
              "deprecated": false
            },
            "getHttpHeaders": {
              "name": "getHttpHeaders",
              "args": [],
              "class": {
                "name": "Map",
                "description": "a Map containing all HTTP header values."
              },
              "description": "Returns a Map containing all HTTP header values.",
              "deprecated": false
            },
            "getHttpHost": {
              "name": "getHttpHost",
              "args": [],
              "class": {
                "name": "String",
                "description": "the host name or null if there is no host name."
              },
              "description": "Returns the host name or null if there is no host name.",
              "deprecated": false
            },
            "getHttpLocale": {
              "name": "getHttpLocale",
              "args": [],
              "class": {
                "name": "String",
                "description": "the locale or null."
              },
              "description": "Returns the locale or null if there is no associated locale.",
              "deprecated": false
            },
            "getHttpMethod": {
              "name": "getHttpMethod",
              "args": [],
              "class": {
                "name": "String",
                "description": "the HTTP method"
              },
              "description": "Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.",
              "deprecated": false
            },
            "getHttpParameterMap": {
              "name": "getHttpParameterMap",
              "args": [],
              "class": {
                "name": "HttpParameterMap",
                "description": "the HTTP parameter map"
              },
              "description": "Returns the parameter map that contains the HTTP parameters for the current request.",
              "deprecated": false
            },
            "getHttpParameters": {
              "name": "getHttpParameters",
              "args": [],
              "class": {
                "name": "Map",
                "description": "a Map containing all the raw HTTP parameters send to the server."
              },
              "description": "Returns a Map containing the raw HTTP parameters sent to the server. The Map contains name/value pairs. Each name\n is a String and each value is a String array.",
              "deprecated": false
            },
            "getHttpPath": {
              "name": "getHttpPath",
              "args": [],
              "class": {
                "name": "String",
                "description": "the path or null."
              },
              "description": "Returns the path.",
              "deprecated": false
            },
            "getHttpProtocol": {
              "name": "getHttpProtocol",
              "args": [],
              "class": {
                "name": "String",
                "description": "\"http\", \"https\" or null"
              },
              "description": "Returns the HTTP protocol used for this request. Possible values are \"http\" or \"https\". If the current activity\n is not related to an HTTP request, for example, when the request is part of a job, this method returns null.",
              "deprecated": false
            },
            "getHttpQueryString": {
              "name": "getHttpQueryString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the query string or null."
              },
              "description": "Returns the query string or null if there is no query string.",
              "deprecated": false
            },
            "getHttpReferer": {
              "name": "getHttpReferer",
              "args": [],
              "class": {
                "name": "String",
                "description": "the referer or null if there is no referer."
              },
              "description": "Returns the referer or null if there is no referer.",
              "deprecated": false
            },
            "getHttpRemoteAddress": {
              "name": "getHttpRemoteAddress",
              "args": [],
              "class": {
                "name": "String",
                "description": "the remote address or null if no remote address is found."
              },
              "description": "Returns the remote address or null if no remote address is found.",
              "deprecated": false
            },
            "getHttpURL": {
              "name": "getHttpURL",
              "args": [],
              "class": {
                "name": "URL",
                "description": "the URL as URL object"
              },
              "description": "Returns the complete URL of the request which was received at the server.\n This URL does not include SEO optimizations.",
              "deprecated": false
            },
            "getHttpUserAgent": {
              "name": "getHttpUserAgent",
              "args": [],
              "class": {
                "name": "String",
                "description": "the HTTP user agent or null if there is no user agent."
              },
              "description": "Returns the HTTP user agent or null if there is no user agent.",
              "deprecated": false
            },
            "getLocale": {
              "name": "getLocale",
              "args": [],
              "class": {
                "name": "String",
                "description": "the locale of the current request, like 'en_US'"
              },
              "description": "Returns the locale of the current request. This locale is set by the system based on the information in the URL.\n It may be different from the locale returned by getHttpLocale(), which is the preferred locale sent by the user agent.",
              "deprecated": false
            },
            "getOcapiVersion": {
              "name": "getOcapiVersion",
              "args": [],
              "class": {
                "name": "String",
                "description": "OCAPI version of the current request"
              },
              "description": "Returns the OCAPI version of the current request. If this is not\n an OCAPI request, 'null' is returned.",
              "deprecated": false
            },
            "getPageMetaData": {
              "name": "getPageMetaData",
              "args": [],
              "class": {
                "name": "PageMetaData",
                "description": "the page meta data object"
              },
              "description": "Returns the page meta data that are associated with the current request.",
              "deprecated": false
            },
            "getRequestID": {
              "name": "getRequestID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the unique identifier of the current request."
              },
              "description": "Returns the unique identifier of the current request. The unique id is helpful for debugging purpose, e.g. relate\n debug messages to a particular request.",
              "deprecated": false
            },
            "getSession": {
              "name": "getSession",
              "args": [],
              "class": {
                "name": "Session",
                "description": "the session associated with this request."
              },
              "description": "Returns the session associated with this request.",
              "deprecated": false
            },
            "getTriggeredForm": {
              "name": "getTriggeredForm",
              "args": [],
              "class": {
                "name": "Form",
                "description": "the form which was triggered"
              },
              "description": "Returns the form that was submitted by the client if the request represents a form submission.",
              "deprecated": false
            },
            "getTriggeredFormAction": {
              "name": "getTriggeredFormAction",
              "args": [],
              "class": {
                "name": "FormAction",
                "description": "the action of the form that was triggered"
              },
              "description": "Returns the form action that was triggered by the client if the request represents a form submission.",
              "deprecated": false
            },
            "isHttpRequest": {
              "name": "isHttpRequest",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the current processing is related to a HTTP request, false otherwise."
              },
              "description": "Identifies if this request is an HTTP request. The method returns true, if the current processing is related to a\n HTTP request. For example during a job execution this flag is false.",
              "deprecated": false
            },
            "isHttpSecure": {
              "name": "isHttpSecure",
              "args": [],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Returns whether the HTTP communication is secure, which basically means that the communication happens via https.\n If the current activity is not related to an HTTP request the method returns false.",
              "deprecated": false
            },
            "isIncludeRequest": {
              "name": "isIncludeRequest",
              "args": [],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Returns true if the request represents a request for a remote include, false if it is a top-level request.",
              "deprecated": false
            },
            "isSCAPI": {
              "name": "isSCAPI",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true or false."
              },
              "description": "Returns whether the request originated in SCAPI, identified by the presence of the \"_sfdc_mercury\" header.",
              "deprecated": false
            },
            "setGeolocation": {
              "name": "setGeolocation",
              "args": [
                {
                  "name": "geoLocation",
                  "description": "the geolocation object to use",
                  "class": {
                    "name": "Geolocation"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the physical location for the current request and remembers the new\n value for the duration of the user session. So any subsequent calls to\n getGeolocation() will return this value",
              "deprecated": false
            },
            "setLocale": {
              "name": "setLocale",
              "args": [
                {
                  "name": "localeID",
                  "description": "the locale ID to be set, like 'en_US'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true, if the locale was successfully set, false otherwise"
              },
              "description": "Sets the given locale for the request. The locale is only set if it is valid, if it is active and if it is\n allowed for the current site.",
              "deprecated": false
            }
          }
        },
        "RequestHooks": {
          "fullClassName": "dw.system.RequestHooks",
          "package": "dw.system",
          "description": "This class represents all script hooks that can be registered to receive notifications about storefront requests.\n It contains the extension points (hook names), and the functions that are called by each extension point.\n A function must be defined inside a JavaScript source and must be exported.\n The script with the exported hook function must be located inside a site cartridge.\n Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist.\n <p>\n </p><pre> \"hooks\": \"./hooks.json\"\n </pre>\n <p></p>\n The hooks entry links to a json file, relative to the 'package.json' file.\n This file lists all registered hooks inside the hooks property:\n <p>\n </p><pre> \"hooks\": [\n      {\"name\": \"dw.system.request.onSession\", \"script\": \"./script.js\"},\n      {\"name\": \"dw.system.request.onRequest\", \"script\": \"./script.js\"},\n ]\n </pre>\n <p></p>\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": {
            "extensionPointOnRequest": {
              "name": "extensionPointOnRequest",
              "value": "\"dw.system.request.onRequest\"",
              "class": {
                "name": "String"
              },
              "description": "The extension point name dw.system.request.onRequest.",
              "deprecated": false,
              "type": "constant"
            },
            "extensionPointOnSession": {
              "name": "extensionPointOnSession",
              "value": "\"dw.system.request.onSession\"",
              "class": {
                "name": "String"
              },
              "description": "The extension point name dw.system.request.onSession.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {
            "onRequest": {
              "name": "onRequest",
              "args": [],
              "class": {
                "name": "Status",
                "description": "Status.OK for success.Status.ERROR for error."
              },
              "description": "The function is called by extension point extensionPointOnRequest.\n It is called when a storefront request was received from the client.",
              "deprecated": false
            },
            "onSession": {
              "name": "onSession",
              "args": [],
              "class": {
                "name": "Status",
                "description": "Status.OK for success.Status.ERROR for error."
              },
              "description": "The function is called by extension point extensionPointOnSession.\n It is called when a new storefront session was started.",
              "deprecated": false
            }
          }
        },
        "Response": {
          "fullClassName": "dw.system.Response",
          "package": "dw.system",
          "description": "Represents an HTTP response in Commerce Cloud Digital. An instance of this class is implicitly available within\n Digital script under the variable \"response\". The Response object can be used to set cookies and specific HTTP\n headers, for directly accessing the output stream or for sending redirects.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ACCESS_CONTROL_ALLOW_CREDENTIALS": {
              "name": "ACCESS_CONTROL_ALLOW_CREDENTIALS",
              "value": "\"Access-Control-Allow-Credentials\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Access-Control-Allow-Credentials",
              "deprecated": false,
              "type": "constant"
            },
            "ACCESS_CONTROL_ALLOW_HEADERS": {
              "name": "ACCESS_CONTROL_ALLOW_HEADERS",
              "value": "\"Access-Control-Allow-Headers\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Access-Control-Allow-Headers",
              "deprecated": false,
              "type": "constant"
            },
            "ACCESS_CONTROL_ALLOW_METHODS": {
              "name": "ACCESS_CONTROL_ALLOW_METHODS",
              "value": "\"Access-Control-Allow-Methods\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Access-Control-Allow-Methods",
              "deprecated": false,
              "type": "constant"
            },
            "ACCESS_CONTROL_ALLOW_ORIGIN": {
              "name": "ACCESS_CONTROL_ALLOW_ORIGIN",
              "value": "\"Access-Control-Allow-Origin\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Access-Control-Allow-Origin",
              "deprecated": false,
              "type": "constant"
            },
            "ACCESS_CONTROL_EXPOSE_HEADERS": {
              "name": "ACCESS_CONTROL_EXPOSE_HEADERS",
              "value": "\"Access-Control-Expose-Headers\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Access-Control-Expose-Headers",
              "deprecated": false,
              "type": "constant"
            },
            "ALLOW": {
              "name": "ALLOW",
              "value": "\"Allow\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Allow",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_DISPOSITION": {
              "name": "CONTENT_DISPOSITION",
              "value": "\"Content-Disposition\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Disposition",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_LANGUAGE": {
              "name": "CONTENT_LANGUAGE",
              "value": "\"Content-Language\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Language",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_LOCATION": {
              "name": "CONTENT_LOCATION",
              "value": "\"Content-Location\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Location",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_MD5": {
              "name": "CONTENT_MD5",
              "value": "\"Content-MD5\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-MD5",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_SECURITY_POLICY": {
              "name": "CONTENT_SECURITY_POLICY",
              "value": "\"Content-Security-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Security-Policy.\n \n Note: The Commerce Cloud platform can override this header for tools like the Storefront Toolkit.",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_SECURITY_POLICY_REPORT_ONLY": {
              "name": "CONTENT_SECURITY_POLICY_REPORT_ONLY",
              "value": "\"Content-Security-Policy-Report-Only\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Security-Policy-Report-Only.\n \n You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.",
              "deprecated": false,
              "type": "constant"
            },
            "CONTENT_TYPE": {
              "name": "CONTENT_TYPE",
              "value": "\"Content-Type\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Content-Type",
              "deprecated": false,
              "type": "constant"
            },
            "CROSS_ORIGIN_EMBEDDER_POLICY": {
              "name": "CROSS_ORIGIN_EMBEDDER_POLICY",
              "value": "\"Cross-Origin-Embedder-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Cross-Origin-Embedder-Policy",
              "deprecated": false,
              "type": "constant"
            },
            "CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY": {
              "name": "CROSS_ORIGIN_EMBEDDER_POLICY_REPORT_ONLY",
              "value": "\"Cross-Origin-Embedder-Policy-Report-Only\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Cross-Origin-Embedder-Policy-Report-Only.\n \n You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.",
              "deprecated": false,
              "type": "constant"
            },
            "CROSS_ORIGIN_OPENER_POLICY": {
              "name": "CROSS_ORIGIN_OPENER_POLICY",
              "value": "\"Cross-Origin-Opener-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Cross-Origin-Opener-Policy",
              "deprecated": false,
              "type": "constant"
            },
            "CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY": {
              "name": "CROSS_ORIGIN_OPENER_POLICY_REPORT_ONLY",
              "value": "\"Cross-Origin-Opener-Policy-Report-Only\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Cross-Origin-Opener-Policy-Report-Only.\n \n You can set this response header only for storefront requests. Report recipient can't be a B2C Commerce system.",
              "deprecated": false,
              "type": "constant"
            },
            "CROSS_ORIGIN_RESOURCE_POLICY": {
              "name": "CROSS_ORIGIN_RESOURCE_POLICY",
              "value": "\"Cross-Origin-Resource-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Cross-Origin-Resource-Policy",
              "deprecated": false,
              "type": "constant"
            },
            "LOCATION": {
              "name": "LOCATION",
              "value": "\"Location\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Location",
              "deprecated": false,
              "type": "constant"
            },
            "PERMISSIONS_POLICY": {
              "name": "PERMISSIONS_POLICY",
              "value": "\"Permissions-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Permissions-Policy",
              "deprecated": false,
              "type": "constant"
            },
            "PLATFORM_FOR_PRIVACY_PREFERENCES_PROJECT": {
              "name": "PLATFORM_FOR_PRIVACY_PREFERENCES_PROJECT",
              "value": "\"P3P\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Platform for Privacy Preferences Project",
              "deprecated": false,
              "type": "constant"
            },
            "REFERRER_POLICY": {
              "name": "REFERRER_POLICY",
              "value": "\"Referrer-Policy\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Referrer-Policy",
              "deprecated": false,
              "type": "constant"
            },
            "REFRESH": {
              "name": "REFRESH",
              "value": "\"Refresh\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Refresh",
              "deprecated": false,
              "type": "constant"
            },
            "RETRY_AFTER": {
              "name": "RETRY_AFTER",
              "value": "\"Retry-After\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Retry-After",
              "deprecated": false,
              "type": "constant"
            },
            "SERVICE_WORKER_ALLOWED": {
              "name": "SERVICE_WORKER_ALLOWED",
              "value": "\"service-worker-allowed\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for service-worker-allowed",
              "deprecated": false,
              "type": "constant"
            },
            "VARY": {
              "name": "VARY",
              "value": "\"Vary\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for Vary",
              "deprecated": false,
              "type": "constant"
            },
            "X_CONTENT_TYPE_OPTIONS": {
              "name": "X_CONTENT_TYPE_OPTIONS",
              "value": "\"X-Content-Type-Options\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for X-Content-Type-Options",
              "deprecated": false,
              "type": "constant"
            },
            "X_FRAME_OPTIONS": {
              "name": "X_FRAME_OPTIONS",
              "value": "\"X-FRAME-OPTIONS\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for X-FRAME-OPTIONS.\n \n Note: The Commerce Cloud platform can override this header for tools like the Storefront Toolkit.",
              "deprecated": false,
              "type": "constant"
            },
            "X_FRAME_OPTIONS_ALLOW_FROM": {
              "name": "X_FRAME_OPTIONS_ALLOW_FROM",
              "value": "\"ALLOW-FROM\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed value ALLOW-FROM for X-FRAME-OPTIONS",
              "deprecated": false,
              "type": "constant"
            },
            "X_FRAME_OPTIONS_DENY_VALUE": {
              "name": "X_FRAME_OPTIONS_DENY_VALUE",
              "value": "\"DENY\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed value DENY for X-FRAME-OPTIONS",
              "deprecated": false,
              "type": "constant"
            },
            "X_FRAME_OPTIONS_SAMEORIGIN_VALUE": {
              "name": "X_FRAME_OPTIONS_SAMEORIGIN_VALUE",
              "value": "\"SAMEORIGIN\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed value SAME-ORIGIN value for X-FRAME-OPTIONS",
              "deprecated": false,
              "type": "constant"
            },
            "X_ROBOTS_TAG": {
              "name": "X_ROBOTS_TAG",
              "value": "\"X-Robots-Tag\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for X-Robots-Tag",
              "deprecated": false,
              "type": "constant"
            },
            "X_XSS_PROTECTION": {
              "name": "X_XSS_PROTECTION",
              "value": "\"X-XSS-Protection\"",
              "class": {
                "name": "String"
              },
              "description": "An allowed header name constant for X-XSS-Protection",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "writer": {
              "name": "writer",
              "class": {
                "name": "PrintWriter"
              },
              "static": false,
              "readonly": true,
              "description": "A print writer which can be used to print content directly to the response.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addHttpCookie": {
              "name": "addHttpCookie",
              "args": [
                {
                  "name": "cookie",
                  "description": "a Cookie object",
                  "class": {
                    "name": "Cookie"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds the specified cookie to the outgoing response. This method can be called multiple times to set more than one\n cookie. If a cookie with the same cookie name, domain and path is set multiple times for the same response, only\n the last set cookie with this name is sent to the client. This method can be used to set, update or delete\n cookies at the client. If the cookie doesn't exist at the client, it is set initially. If a cookie with the same\n name, domain and path already exists at the client, it is updated. A cookie can be deleted at the client by\n submitting a cookie with the maxAge attribute set to 0 (see Cookie.setMaxAge()\n  for more information).\n\n  Example, how a cookie can be deleted at the client:\n var cookie : Cookie = new Cookie(\"SomeName\", \"Simple Value\");\n cookie.setMaxAge(0);\n response.addHttpCookie(cookie);\n \n\n You can't set a cookie's SameSite attribute using the API. The server sets SameSite to None if either the\n developer sets the cookie's Secure flag or the global security preference Enforce HTTPS is enabled, in which case\n the Secure flag is also set. Otherwise, the server doesn't set the SameSite attribute and the browser uses its\n own default SameSite setting. The SameSite attribute is not sent with a cookie if the server detects that the\n client doesn't correctly interpret the attribute.",
              "deprecated": false
            },
            "addHttpHeader": {
              "name": "addHttpHeader",
              "args": [
                {
                  "name": "name",
                  "description": "the name to use for the response header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a response header with the given name and value. This method allows response headers to have multiple\n values.\n \n For public headers, only the names listed in the \"Constants\" section are allowed. Custom header names must begin\n with the prefix \"X-SF-CC-\" and can contain only alphanumeric characters, dash, and underscore.",
              "deprecated": false
            },
            "containsHttpHeader": {
              "name": "containsHttpHeader",
              "args": [
                {
                  "name": "name",
                  "description": "the name to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": ""
              },
              "description": "Checks whether the response message header has a field with the specified name.",
              "deprecated": false
            },
            "getWriter": {
              "name": "getWriter",
              "args": [],
              "class": {
                "name": "PrintWriter",
                "description": ""
              },
              "description": "Returns a print writer which can be used to print content directly to the response.",
              "deprecated": false
            },
            "redirect": {
              "name": "redirect",
              "args": [
                {
                  "name": "url",
                  "description": "the URL object for the target location, must be not null",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL.",
              "deprecated": false
            },
            "redirect0": {
              "name": "redirect",
              "args": [
                {
                  "name": "url",
                  "description": "the URL object with the redirect location, must be not null",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "status",
                  "description": "the status code for this redirect, must be 301, 302 or 307",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends a redirect response with the given status to the client for the specified redirect location URL.",
              "deprecated": false
            },
            "redirect01": {
              "name": "redirect",
              "args": [
                {
                  "name": "location",
                  "description": "the target location as a string, must be not empty",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends a temporary redirect response (HTTP status 302) to the client for the specified redirect location URL. The\n target location must be a relative or an absolute URL.",
              "deprecated": false
            },
            "redirect012": {
              "name": "redirect",
              "args": [
                {
                  "name": "location",
                  "description": "the redirect location, must be not empty",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "status",
                  "description": "the status code for this redirect, must be 301, 302 or 307",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends a redirect response with the given status to the client for the specified redirect location URL.",
              "deprecated": false
            },
            "redirect0123": {
              "name": "redirect",
              "args": [
                {
                  "name": "redirect",
                  "description": "the URLRedirect object with the location and status, must be not null",
                  "class": {
                    "name": "URLRedirect"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sends a redirect response with the given status to the client for the specified redirect location URL.",
              "deprecated": false
            },
            "setBuffered": {
              "name": "setBuffered",
              "args": [
                {
                  "name": "buffered",
                  "description": "if true, buffering is used, if false the response will be streamed",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets whether the output should be buffered or streamed directly to the client. By default, buffering is enabled.\n The mode can only be changed before anything has been written to the response. Switching buffering off and using\n streaming mode is recommended for sending large responses.",
              "deprecated": false
            },
            "setContentType": {
              "name": "setContentType",
              "args": [
                {
                  "name": "contentType",
                  "description": "the MIME type of the content, like \"text/html\", \"application/json\" etc.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the content type for this response. This method may only be called before any output is written to the\n response.",
              "deprecated": false
            },
            "setExpires": {
              "name": "setExpires",
              "args": [
                {
                  "name": "expires",
                  "description": "the expiration time in milliseconds since January 1, 1970, 00:00:00 GMT",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the cache expiration time for the response. The response will only be cached if caching was not disabled\n previously. By default, responses are not cached. This method can be called multiple times during request\n processing. If caching is enabled, the lowest expiration time, resulting from the invocations of the method\n becomes the cache expiration time. This is only used for HTTP requests. Streamed responses cannot be cached. This\n method is an alternative for setting the cache time using the <iscache> tag in ISML templates.",
              "deprecated": false
            },
            "setExpires0": {
              "name": "setExpires",
              "args": [
                {
                  "name": "expires",
                  "description": "a Date object.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Convenience method for setExpires(Number) which takes a Date object.",
              "deprecated": false
            },
            "setHttpHeader": {
              "name": "setHttpHeader",
              "args": [
                {
                  "name": "name",
                  "description": "the name to use for the response header.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "the value to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a response header with the given name and value. If one or more value(s) have already been set, the new\n value overwrites the previous one. The containsHttpHeader(String) method can be used to test for the\n presence of a header before setting its value.\n \n For public headers, only the names listed in the \"Constants\" section are allowed. Custom header names must begin\n with the prefix \"X-SF-CC-\" and can contain only alphanumeric characters, dash, and underscore.",
              "deprecated": false
            },
            "setStatus": {
              "name": "setStatus",
              "args": [
                {
                  "name": "status",
                  "description": "a standard-conform HTTP status code, for example 200 for \"OK\"",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the HTTP response code.",
              "deprecated": false
            },
            "setVaryBy": {
              "name": "setVaryBy",
              "args": [
                {
                  "name": "varyBy",
                  "description": "the variation criteria, currently only \"price_promotion\" is supported, any other value has no effect",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Marks the response as personalized with the given variant identifier. Commerce Cloud Digital identifies unique\n pages based on a combination of pricebook, promotion, sorting rule and A/B test segments, caches the different\n variants of the page, and then delivers the correct version to the user. If a page is personalized by means other\n than pricebook, promotion, sorting rule and A/B test, the page must not be cached, because the wrong variants of\n the page would be delivered to the user. For performance reasons, a page should only be marked as personalized if\n it really is. Otherwise, the performance can unnecessarily degrade.\n \n This method has the same effect as using <iscache varyby=\"price_promotion\" /> tag in an ISML template. Once\n the vary-by value was set, either using this method or by the <iscache> tag in a template, the entire\n response is treated as personalized.",
              "deprecated": false
            }
          }
        },
        "Session": {
          "fullClassName": "dw.system.Session",
          "package": "dw.system",
          "description": "Represents a session in B2C Commerce. The session has some well-defined\n attributes like the current authenticated customer or the click stream, but also\n supports storing custom values in the session.\n\n The Digital session handling works in the following way:\n <ul>\n <li>\n A session is created in Digital on the first user click. This is guaranteed even if\n B2C Commerce caches the HTML pages. It is not guaranteed when the pages are cached by a CDN.\n </li>\n <li>\n A session is identified with a unique ID, called the session ID.\n </li>\n <li>\n When a session is created, the application server calls the pipeline OnSession-Start. It can\n be used to pre-initialize the session, before the actual request hits the server.\n </li>\n <li>\n Digital uses session stickiness and always routes requests within a single session to the same\n application server.\n </li>\n <li>\n Session data is also stored in a persistent location.\n </li>\n <li>\n In case of a fail-over situation, requests are re-routed to another application server, which then\n loads the session data from the persistent storage.\n </li>\n <li>\n There are two session timeouts. A soft timeout occurs 30 minutes after the last request has been made.\n The soft timeout logs out and clears all privacy data, but it is still possible to use the session ID\n to reopen the session. A hard timeout renders a session ID invalid after six hours, even if the session\n is still in use. The hard timeout prevents a session from being reopened. For example, if the session ID\n is pasted into a URL after the hard timeout, the session doesn't reopen.\n </li>\n </ul>\n\n Certain rules apply for what and how much data can be stored in a session:\n <ul>\n <li>\n All primitive types (boolean, number, string, Number, String, Boolean, Date) are supported.\n </li>\n <li>\n All B2C Commerce value types (Money, Quantity, Decimal, Calendar) are supported.\n </li>\n <li>\n Strings are limited to 2000 characters.\n </li>\n <li>\n No other types can be stored in a session. In particular, persistent objects,\n collections, and scripted objects cannot be stored in a session. B2C Commerce\n will report unsupported values with a deprecation message in the log files.\n An unsupported value will be stored in the session, but the results are undefined.\n Since version compatibility mode 19.10 unsupported types will no longer be accepted,\n and an exception will be thrown.\n </li>\n <li>\n There is a 10 KB size limit for the overall serialized session.\n </li>\n </ul>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "clickStream": {
              "name": "clickStream",
              "class": {
                "name": "ClickStream"
              },
              "static": false,
              "readonly": true,
              "description": "The current click stream if this is an HTTP session, null otherwise.",
              "deprecated": false,
              "type": "property"
            },
            "currency": {
              "name": "currency",
              "class": {
                "name": "Currency"
              },
              "static": false,
              "readonly": false,
              "description": "Get the currency associated with the current session. The session\n currency is established at session construction time and is typically\n equal to the site default currency. In the case of a multi-currency site,\n the session currency may be different than the site default currency.",
              "deprecated": false,
              "type": "property"
            },
            "custom": {
              "name": "custom",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The session's custom attributes. The\n attributes are stored for the lifetime of the session and are not\n cleared when the customer logs out.",
              "deprecated": false,
              "type": "property"
            },
            "customer": {
              "name": "customer",
              "class": {
                "name": "Customer"
              },
              "static": false,
              "readonly": true,
              "description": "The customer associated with this storefront session. The method\n always returns null if called for a non-storefront session\n (e.g., within a job or within Business Manager). For a storefront\n session, the method always returns a customer. The returned customer\n may be anonymous if the customer could not be identified via the\n customer cookie.",
              "deprecated": false,
              "type": "property"
            },
            "customerAuthenticated": {
              "name": "customerAuthenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies whether the customer associated with this session\n is authenticated. This call is equivalent to customer.isAuthenticated().",
              "deprecated": false,
              "type": "property"
            },
            "customerExternallyAuthenticated": {
              "name": "customerExternallyAuthenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies whether the customer associated with this session\n is externally authenticated.",
              "deprecated": false,
              "type": "property"
            },
            "forms": {
              "name": "forms",
              "class": {
                "name": "Forms"
              },
              "static": false,
              "readonly": true,
              "description": "The forms object that provides access to all current forms of a customer in the session.",
              "deprecated": false,
              "type": "property"
            },
            "lastReceivedSourceCodeInfo": {
              "name": "lastReceivedSourceCodeInfo",
              "class": {
                "name": "SourceCodeInfo"
              },
              "static": false,
              "readonly": true,
              "description": "Returns information on the last source code handled by the session.\n This may or may not be the session's active source code, e.g., the\n last received source code was inactive and therefore was not\n set as the session's active source code.",
              "deprecated": false,
              "type": "property"
            },
            "privacy": {
              "name": "privacy",
              "class": {
                "name": "CustomAttributes"
              },
              "static": false,
              "readonly": true,
              "description": "The session's custom privacy attributes.\n The attributes are stored for the lifetime of the session and are\n automatically cleared when the customer logs out.",
              "deprecated": false,
              "type": "property"
            },
            "sessionID": {
              "name": "sessionID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The unique session id. This can safely be used as an identifier\n against external systems.",
              "deprecated": false,
              "type": "property"
            },
            "sourceCodeInfo": {
              "name": "sourceCodeInfo",
              "class": {
                "name": "SourceCodeInfo"
              },
              "static": false,
              "readonly": true,
              "description": "Returns information on the session's active source-code.",
              "deprecated": false,
              "type": "property"
            },
            "trackingAllowed": {
              "name": "trackingAllowed",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": false,
              "description": "Returns whether the tracking allowed flag is set in the session.\n The value for newly created sessions defaults to the Site Preference \"TrackingAllowed\" unless\n a cookie named \"dw_dnt\" is found in which case the cookie value takes precedence.",
              "deprecated": false,
              "type": "property"
            },
            "userAuthenticated": {
              "name": "userAuthenticated",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies whether the agent user associated with this session\n is authenticated.",
              "deprecated": false,
              "type": "property"
            },
            "userName": {
              "name": "userName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The current agent user name associated with this session.\n \n Note: this class allows access to sensitive security-related data.\n Pay special attention to PCI DSS v3 requirements 2, 4, and 12.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getClickStream": {
              "name": "getClickStream",
              "args": [],
              "class": {
                "name": "ClickStream",
                "description": "the current click stream if this is an HTTP session, null otherwise."
              },
              "description": "Returns the current click stream if this is an HTTP session, null otherwise.",
              "deprecated": false
            },
            "getCurrency": {
              "name": "getCurrency",
              "args": [],
              "class": {
                "name": "Currency",
                "description": "the currency associated with this storefront session, never null."
              },
              "description": "Get the currency associated with the current session. The session\n currency is established at session construction time and is typically\n equal to the site default currency. In the case of a multi-currency site,\n the session currency may be different than the site default currency.",
              "deprecated": false
            },
            "getCustom": {
              "name": "getCustom",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the session's custom attributes."
              },
              "description": "Returns the session's custom attributes. The\n attributes are stored for the lifetime of the session and are not\n cleared when the customer logs out.",
              "deprecated": false
            },
            "getCustomer": {
              "name": "getCustomer",
              "args": [],
              "class": {
                "name": "Customer",
                "description": "the customer associated with this storefront session."
              },
              "description": "Returns the customer associated with this storefront session. The method\n always returns null if called for a non-storefront session\n (e.g., within a job or within Business Manager). For a storefront\n session, the method always returns a customer. The returned customer\n may be anonymous if the customer could not be identified via the\n customer cookie.",
              "deprecated": false
            },
            "getForms": {
              "name": "getForms",
              "args": [],
              "class": {
                "name": "Forms",
                "description": "the forms."
              },
              "description": "Returns the forms object that provides access to all current forms of a customer in the session.",
              "deprecated": false
            },
            "getLastReceivedSourceCodeInfo": {
              "name": "getLastReceivedSourceCodeInfo",
              "args": [],
              "class": {
                "name": "SourceCodeInfo",
                "description": "source code information for the last received source code."
              },
              "description": "Returns information on the last source code handled by the session.\n This may or may not be the session's active source code, e.g., the\n last received source code was inactive and therefore was not\n set as the session's active source code.",
              "deprecated": false
            },
            "getPrivacy": {
              "name": "getPrivacy",
              "args": [],
              "class": {
                "name": "CustomAttributes",
                "description": "the session's custom privacy attributes."
              },
              "description": "Returns the session's custom privacy attributes.\n The attributes are stored for the lifetime of the session and are\n automatically cleared when the customer logs out.",
              "deprecated": false
            },
            "getSessionID": {
              "name": "getSessionID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the unique identifier for the session."
              },
              "description": "Returns the unique session id. This can safely be used as an identifier\n against external systems.",
              "deprecated": false
            },
            "getSourceCodeInfo": {
              "name": "getSourceCodeInfo",
              "args": [],
              "class": {
                "name": "SourceCodeInfo",
                "description": "the session's source-code information."
              },
              "description": "Returns information on the session's active source-code.",
              "deprecated": false
            },
            "getUserName": {
              "name": "getUserName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the current agent user name associated with this session."
              },
              "description": "Returns the current agent user name associated with this session.\n \n Note: this class allows access to sensitive security-related data.\n Pay special attention to PCI DSS v3 requirements 2, 4, and 12.",
              "deprecated": false
            },
            "isCustomerAuthenticated": {
              "name": "isCustomerAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is authenticated, false otherwise."
              },
              "description": "Identifies whether the customer associated with this session\n is authenticated. This call is equivalent to customer.isAuthenticated().",
              "deprecated": false
            },
            "isCustomerExternallyAuthenticated": {
              "name": "isCustomerExternallyAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the customer is authenticated, false otherwise."
              },
              "description": "Identifies whether the customer associated with this session\n is externally authenticated.",
              "deprecated": false
            },
            "isTrackingAllowed": {
              "name": "isTrackingAllowed",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the tracking allowed flag is set in the session, false otherwise."
              },
              "description": "Returns whether the tracking allowed flag is set in the session.\n The value for newly created sessions defaults to the Site Preference \"TrackingAllowed\" unless\n a cookie named \"dw_dnt\" is found in which case the cookie value takes precedence.",
              "deprecated": false
            },
            "isUserAuthenticated": {
              "name": "isUserAuthenticated",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the agent user is authenticated, false otherwise."
              },
              "description": "Identifies whether the agent user associated with this session\n is authenticated.",
              "deprecated": false
            },
            "setCurrency": {
              "name": "setCurrency",
              "args": [
                {
                  "name": "newCurrency",
                  "description": "the new currency to use. Must not be null. Method will throw an exception if a currency not allowed by the current site is passed.",
                  "class": {
                    "name": "Currency"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the session currency.",
              "deprecated": false
            },
            "setSourceCode": {
              "name": "setSourceCode",
              "args": [
                {
                  "name": "sourceCode",
                  "description": "the source code to set as active in the session and basket. If a null parameter is passed, then the active source code in the session is removed.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Status",
                "description": "an OK status if the source code was applied, otherwise an ERROR status. In the latter case, the possible error codes are: CODE_INVALID and CODE_INACTIVE. See documentation for SourceCodeStatusCodes for further descriptions."
              },
              "description": "Applies the specified source code to the current session and basket. This API processes the source code exactly as if it\n were supplied on the URL query string, with the additional benefit of returning error information. If no input\n parameter is passed, then the active source code in the session and basket is removed. If a basket exists, and the modification fails,\n then the session is not written to either. This method may open and commit a transaction, if none is currently active.",
              "deprecated": false
            },
            "setTrackingAllowed": {
              "name": "setTrackingAllowed",
              "args": [
                {
                  "name": "trackingAllowed",
                  "description": "true if tracking is allowed, false otherwise.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the tracking allowed flag for the session. If tracking is not allowed, multiple services\n depending on tracking will be restricted or disabled: Predictive Intelligence recommendations,\n Active Data, Analytics of the customer behavior in the storefront.\n Additionally, collected clicks in the session click stream will be cleared.\n Setting this property to either value also results in setting a session-scoped cookie named \"dw_dnt\"\n (1=DoNotTrack; 0=Track)",
              "deprecated": false
            }
          }
        },
        "Site": {
          "fullClassName": "dw.system.Site",
          "package": "dw.system",
          "description": "This class represents a site in Commerce Cloud Digital and provides access to\n several site-level configuration values which are managed from within the\n Business Manager. It is only possible to get a reference to the current site\n as determined by the current request. The static method\n <a href=\"class_dw_system_Site.html#dw_system_Site_getCurrent_DetailAnchor\">getCurrent()</a> returns a reference to the current site.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "SITE_STATUS_MAINTENANCE": {
              "name": "SITE_STATUS_MAINTENANCE",
              "value": "3",
              "class": {
                "name": "Number"
              },
              "description": "Constant that represents the Site under maintenance/offline",
              "deprecated": false,
              "type": "constant"
            },
            "SITE_STATUS_ONLINE": {
              "name": "SITE_STATUS_ONLINE",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Constant that represents the Site is Online",
              "deprecated": false,
              "type": "constant"
            },
            "SITE_STATUS_PROTECTED": {
              "name": "SITE_STATUS_PROTECTED",
              "value": "5",
              "class": {
                "name": "Number"
              },
              "description": "Constant that represents the Site is in preview mode or online/password (protected)",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "allowedCurrencies": {
              "name": "allowedCurrencies",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The allowed currencies of the current site as a collection of\n currency codes.",
              "deprecated": false,
              "type": "property"
            },
            "allowedLocales": {
              "name": "allowedLocales",
              "class": {
                "name": "List"
              },
              "static": false,
              "readonly": true,
              "description": "The allowed locales of the current site as a collection of\n locale ID's.",
              "deprecated": false,
              "type": "property"
            },
            "allSites": {
              "name": "allSites",
              "class": {
                "name": "List"
              },
              "static": true,
              "readonly": true,
              "description": "All sites.",
              "deprecated": false,
              "type": "property"
            },
            "calendar": {
              "name": "calendar",
              "class": {
                "name": "Calendar"
              },
              "static": true,
              "readonly": true,
              "description": "A new Calendar object in the time zone of the\n current site.",
              "deprecated": false,
              "type": "property"
            },
            "currencyCode": {
              "name": "currencyCode",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The default currency code for the current site.",
              "deprecated": true,
              "type": "property"
            },
            "current": {
              "name": "current",
              "class": {
                "name": "Site"
              },
              "static": true,
              "readonly": true,
              "description": "The current site.",
              "deprecated": false,
              "type": "property"
            },
            "defaultCurrency": {
              "name": "defaultCurrency",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The default currency code for the current site.",
              "deprecated": false,
              "type": "property"
            },
            "defaultLocale": {
              "name": "defaultLocale",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "Return default locale for the site.",
              "deprecated": false,
              "type": "property"
            },
            "einsteinSiteID": {
              "name": "einsteinSiteID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The Einstein site Id. Typically this is a concatenation of the realm, underscore character and the site id.\n It can be overwritten by support users to help with realm moves to continue using the Einstein data from the old realm.\n Used when making calls to the Einstein APIs.",
              "deprecated": false,
              "type": "property"
            },
            "httpHostName": {
              "name": "httpHostName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The configured HTTP host name. If no host name\n is configured the method returns the instance hostname.",
              "deprecated": false,
              "type": "property"
            },
            "httpsHostName": {
              "name": "httpsHostName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The configured HTTPS host name. If no host name\n is configured the method returns the HTTP host name or the instance hostname, if\n that is not configured as well.",
              "deprecated": false,
              "type": "property"
            },
            "ID": {
              "name": "ID",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The ID of the site.",
              "deprecated": false,
              "type": "property"
            },
            "name": {
              "name": "name",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "A descriptive name for the site.",
              "deprecated": false,
              "type": "property"
            },
            "OMSEnabled": {
              "name": "OMSEnabled",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Whether oms is active in the current site. This depends on a general\n property which states whether oms is active for the server,\n and a site-dependent preference whether oms is available for the current site.",
              "deprecated": true,
              "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 home page meta tag context and rules.\n The rules are obtained from the current repository domain.",
              "deprecated": false,
              "type": "property"
            },
            "preferences": {
              "name": "preferences",
              "class": {
                "name": "SitePreferences"
              },
              "static": false,
              "readonly": true,
              "description": "This method returns a container of all site preferences of this site.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The status of this site.\n \n Possible values are SITE_STATUS_ONLINE, SITE_STATUS_MAINTENANCE, SITE_STATUS_PROTECTED",
              "deprecated": false,
              "type": "property"
            },
            "timezone": {
              "name": "timezone",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The code for the time zone in which the storefront is\n running.",
              "deprecated": false,
              "type": "property"
            },
            "timezoneOffset": {
              "name": "timezoneOffset",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "Returns time zone offset in which the storefront is running.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getAllowedCurrencies": {
              "name": "getAllowedCurrencies",
              "args": [],
              "class": {
                "name": "List",
                "description": "Collection of allowed site currencies"
              },
              "description": "Returns the allowed currencies of the current site as a collection of\n currency codes.",
              "deprecated": false
            },
            "getAllowedLocales": {
              "name": "getAllowedLocales",
              "args": [],
              "class": {
                "name": "List",
                "description": "Collection if allowed site locales"
              },
              "description": "Returns the allowed locales of the current site as a collection of\n locale ID's.",
              "deprecated": false
            },
            "getAllSites": {
              "name": "getAllSites",
              "args": [],
              "static": true,
              "class": {
                "name": "List",
                "description": "all sites for the current instance"
              },
              "description": "Returns all sites.",
              "deprecated": false
            },
            "getCalendar": {
              "name": "getCalendar",
              "args": [],
              "static": true,
              "class": {
                "name": "Calendar",
                "description": "the Calendar object in the time zone of the current site."
              },
              "description": "Returns a new Calendar object in the time zone of the\n current site.",
              "deprecated": false
            },
            "getCurrencyCode": {
              "name": "getCurrencyCode",
              "args": [],
              "class": {
                "name": "String",
                "description": "the default currency code for the current site."
              },
              "description": "Returns the default currency code for the current site.",
              "deprecated": true
            },
            "getCurrent": {
              "name": "getCurrent",
              "args": [],
              "static": true,
              "class": {
                "name": "Site",
                "description": "the current site."
              },
              "description": "Returns the current site.",
              "deprecated": false
            },
            "getCustomPreferenceValue": {
              "name": "getCustomPreferenceValue",
              "args": [
                {
                  "name": "name",
                  "description": "preference name.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Object",
                "description": "the preference value, or null if there is no preference with the given name."
              },
              "description": "Returns a custom preference value. If the preference does not exist the\n method returns null.  This method is simply a shortcut method for\n accessing the value for a custom attribute defined on the\n SitePreferences object.\n\n  // Method #1\n var mySitePrefValue1 : String =  dw.system.Site.getCurrent().\n     getCustomPreferenceValue(\"mySitePref\");\n\n // Method #2\n var sitePrefs : SitePreferences = dw.system.Site.getCurrent().getPreferences();\n var mySitePrefValue2 : String = sitePrefs.getCustom()[\"mySitePref\"];",
              "deprecated": false
            },
            "getDefaultCurrency": {
              "name": "getDefaultCurrency",
              "args": [],
              "class": {
                "name": "String",
                "description": "the default currency code for the current site."
              },
              "description": "Returns the default currency code for the current site.",
              "deprecated": false
            },
            "getDefaultLocale": {
              "name": "getDefaultLocale",
              "args": [],
              "class": {
                "name": "String",
                "description": "default locale for the site."
              },
              "description": "Return default locale for the site.",
              "deprecated": false
            },
            "getEinsteinSiteID": {
              "name": "getEinsteinSiteID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the Einstein site Id"
              },
              "description": "Returns the Einstein site Id. Typically this is a concatenation of the realm, underscore character and the site id.\n It can be overwritten by support users to help with realm moves to continue using the Einstein data from the old realm.\n Used when making calls to the Einstein APIs.",
              "deprecated": false
            },
            "getHttpHostName": {
              "name": "getHttpHostName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the configured HTTP host name or if it is not set the instance hostname."
              },
              "description": "Returns the configured HTTP host name. If no host name\n is configured the method returns the instance hostname.",
              "deprecated": false
            },
            "getHttpsHostName": {
              "name": "getHttpsHostName",
              "args": [],
              "class": {
                "name": "String",
                "description": "the configured HTTPS host name or HTTP host name or the instance hostname."
              },
              "description": "Returns the configured HTTPS host name. If no host name\n is configured the method returns the HTTP host name or the instance hostname, if\n that is not configured as well.",
              "deprecated": false
            },
            "getID": {
              "name": "getID",
              "args": [],
              "class": {
                "name": "String",
                "description": "the ID of the site."
              },
              "description": "Returns the ID of the site.",
              "deprecated": false
            },
            "getName": {
              "name": "getName",
              "args": [],
              "class": {
                "name": "String",
                "description": "a descriptive name for the site."
              },
              "description": "Returns a descriptive name for the site.",
              "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 home page meta tag context and rule.\n The rule is obtained from the current repository domain.\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 home page meta tag context and rules.\n The rules are obtained from the current repository domain.",
              "deprecated": false
            },
            "getPreferences": {
              "name": "getPreferences",
              "args": [],
              "class": {
                "name": "SitePreferences",
                "description": "a preferences object containing all system and custom site preferences of this site"
              },
              "description": "This method returns a container of all site preferences of this site.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "Status of the this site."
              },
              "description": "Returns the status of this site.\n \n Possible values are SITE_STATUS_ONLINE, SITE_STATUS_MAINTENANCE, SITE_STATUS_PROTECTED",
              "deprecated": false
            },
            "getTimezone": {
              "name": "getTimezone",
              "args": [],
              "class": {
                "name": "String",
                "description": "time zone code in which the storefront is running."
              },
              "description": "Returns the code for the time zone in which the storefront is\n running.",
              "deprecated": false
            },
            "getTimezoneOffset": {
              "name": "getTimezoneOffset",
              "args": [],
              "class": {
                "name": "Number",
                "description": "time zone offset in which the storefront is running."
              },
              "description": "Returns time zone offset in which the storefront is running.",
              "deprecated": false
            },
            "isOMSEnabled": {
              "name": "isOMSEnabled",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "whether oms is active in the site"
              },
              "description": "Whether oms is active in the current site. This depends on a general\n property which states whether oms is active for the server,\n and a site-dependent preference whether oms is available for the current site.",
              "deprecated": true
            },
            "setCustomPreferenceValue": {
              "name": "setCustomPreferenceValue",
              "args": [
                {
                  "name": "name",
                  "description": "name of the preference",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "new value for the preference",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "The method sets a value for a custom preference. The type of the value\n must match with the declared type of the preference definition.",
              "deprecated": false
            }
          }
        },
        "SitePreferences": {
          "fullClassName": "dw.system.SitePreferences",
          "package": "dw.system",
          "description": "SitePreferences is a container for custom site-level attributes. The object\n corresponds with system object type \"SitePreferences\". It has no system\n attributes and exists only as a place for merchants to define custom\n attributes which need to be available for each site.\n <p>\n Logically there is only one SitePreferences instance per site. The instance\n is obtained by calling <a href=\"class_dw_system_Site.html#dw_system_Site_getPreferences_DetailAnchor\">Site.getPreferences()</a>. Once an\n instance of the container is obtained, it is possible to read/write site\n preference values by using the usual syntax for\n <a href=\"class_dw_object_ExtensibleObject.html\">ExtensibleObject</a> instances. For example:\n\n </p><pre> var sitePrefs : SitePreferences = dw.system.Site.getCurrent().getPreferences();\n var mySitePrefValue : String = sitePrefs.getCustom()[\"mySitePref\"];\n </pre>\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 Commerce Cloud Digital defines many site-level preferences, relating to\n baskets, timezone, locales, customers, etc, which can be managed within the\n \"Site Preferences\" module of the Business Manager, but these preferences are\n not accessible through this object. (SourceCodeURLParameterName is the one\n exception to this rule.)</p>",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.object.PersistentObject"
            },
            {
              "name": "dw.object.ExtensibleObject"
            }
          ],
          "constants": {},
          "properties": {
            "sourceCodeURLParameterName": {
              "name": "sourceCodeURLParameterName",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The name of the source code url paremeter configured for the\n site.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getSourceCodeURLParameterName": {
              "name": "getSourceCodeURLParameterName",
              "args": [],
              "class": {
                "name": "String",
                "description": "source code url parameter name"
              },
              "description": "Returns the name of the source code url paremeter configured for the\n site.",
              "deprecated": false
            }
          }
        },
        "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
            }
          }
        },
        "System": {
          "fullClassName": "dw.system.System",
          "package": "dw.system",
          "description": "Represents the Commerce Cloud Digital server instance. An application server instance is configured to be of one of three types,\n \"development system\", \"staging system\" or \"production system\".",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DEVELOPMENT_SYSTEM": {
              "name": "DEVELOPMENT_SYSTEM",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "Represents the development system.",
              "deprecated": false,
              "type": "constant"
            },
            "PRODUCTION_SYSTEM": {
              "name": "PRODUCTION_SYSTEM",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "Represents the production system.",
              "deprecated": false,
              "type": "constant"
            },
            "STAGING_SYSTEM": {
              "name": "STAGING_SYSTEM",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "Represents the staging system.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "calendar": {
              "name": "calendar",
              "class": {
                "name": "Calendar"
              },
              "static": true,
              "readonly": true,
              "description": "A new Calendar object in the time zone of the\n current instance.",
              "deprecated": false,
              "type": "property"
            },
            "compatibilityMode": {
              "name": "compatibilityMode",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The compatibility mode of the custom code version that is currently active. The compatibility mode is\n returned as a number, e.g. compatibility mode \"15.5\" is returned as 1505.",
              "deprecated": false,
              "type": "property"
            },
            "instanceHostname": {
              "name": "instanceHostname",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "Returns instance hostname.",
              "deprecated": false,
              "type": "property"
            },
            "instanceTimeZone": {
              "name": "instanceTimeZone",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The instance time zone. The instance time zone is the time zone in which global actions like jobs or\n reporting are specified in the system. Keep in mind that the instance time zone is cached at the current session.\n Changes will affect only new sessions.",
              "deprecated": false,
              "type": "property"
            },
            "instanceType": {
              "name": "instanceType",
              "class": {
                "name": "Number"
              },
              "static": true,
              "readonly": true,
              "description": "The type of the instance. An application server instance is configured to be of one of three types,\n \"development system\", \"staging system\" or \"production system\".\n This method returns a constant representing the instance type of this\n application server.",
              "deprecated": false,
              "type": "property"
            },
            "preferences": {
              "name": "preferences",
              "class": {
                "name": "OrganizationPreferences"
              },
              "static": true,
              "readonly": true,
              "description": "This method returns a container of all global preferences of this\n organization (instance).",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getCalendar": {
              "name": "getCalendar",
              "args": [],
              "static": true,
              "class": {
                "name": "Calendar",
                "description": "a Calendar object in the time zone of the instance."
              },
              "description": "Returns a new Calendar object in the time zone of the\n current instance.",
              "deprecated": false
            },
            "getCompatibilityMode": {
              "name": "getCompatibilityMode",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "The currently active compatibility mode."
              },
              "description": "Returns the compatibility mode of the custom code version that is currently active. The compatibility mode is\n returned as a number, e.g. compatibility mode \"15.5\" is returned as 1505.",
              "deprecated": false
            },
            "getInstanceHostname": {
              "name": "getInstanceHostname",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "instance hostname."
              },
              "description": "Returns instance hostname.",
              "deprecated": false
            },
            "getInstanceTimeZone": {
              "name": "getInstanceTimeZone",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "the instance time zone."
              },
              "description": "Returns the instance time zone. The instance time zone is the time zone in which global actions like jobs or\n reporting are specified in the system. Keep in mind that the instance time zone is cached at the current session.\n Changes will affect only new sessions.",
              "deprecated": false
            },
            "getInstanceType": {
              "name": "getInstanceType",
              "args": [],
              "static": true,
              "class": {
                "name": "Number",
                "description": "the instance type of the application server where this method was called."
              },
              "description": "Returns the type of the instance. An application server instance is configured to be of one of three types,\n \"development system\", \"staging system\" or \"production system\".\n This method returns a constant representing the instance type of this\n application server.",
              "deprecated": false
            },
            "getPreferences": {
              "name": "getPreferences",
              "args": [],
              "static": true,
              "class": {
                "name": "OrganizationPreferences",
                "description": "a preferences object containing all global system and custom preferences of this instance"
              },
              "description": "This method returns a container of all global preferences of this\n organization (instance).",
              "deprecated": false
            }
          }
        },
        "Transaction": {
          "fullClassName": "dw.system.Transaction",
          "package": "dw.system",
          "description": "Represents the current transaction. A transaction provides a context for performing atomic changes to persistent\n business objects. Before a business object can be created, changed, or deleted, a transaction must be started using\n the <a href=\"class_dw_system_Transaction.html#dw_system_Transaction_begin_DetailAnchor\">begin()</a> method. All changes on the touched business objects will only be made durable when the\n transaction is committed with <a href=\"class_dw_system_Transaction.html#dw_system_Transaction_commit_DetailAnchor\">commit()</a>. If a transaction is rolled back, all changes so far will be reverted\n and the business object will have their previous state again. It is possible to begin a transaction multiple times in\n a nested way (like begin-begin-commit-commit). In this case, in order to commit the changes the commit method must be\n called symmetrically as often as begin. It is also possible to run multiple transactions within a single request, one\n after another (like begin-commit-begin-commit). In case of any exception while working with business objects inside\n of a transaction, the transaction cannot be committed anymore, but only be rolled back. Business code may try to take\n appropriate actions if it expects business-related problems at commit (for example, constraint violations). When a\n transaction is still open at the end of a pipeline call, controller call, or job step, the remaining changes are\n committed unless an exception is thrown.\n <p>\n The following best practices exist for using transactions:\n </p><ul>\n <li>Avoid long running transactions in jobs.</li>\n <li>Use one transaction for changes that belong together and need a joint rollback. In most cases, one transaction\n for all changes in a request is better than multiple transactions for each individual object.</li>\n <li>Don’t begin and commit a huge number of small transactions in a loop.</li>\n <li>Avoid changing the same objects in parallel transactions.</li>\n </ul>\n <p>\n Example 1 - explicit control:\n\n </p><pre> var txn = require('dw/system/Transaction');\n txn.begin();\n // work with business objects here\n txn.commit();\n </pre>\n <p>\n Example 2 - implicit control:\n\n </p><pre> var txn = require('dw/system/Transaction');\n txn.wrap(function(){\n     // work with business objects here\n });\n </pre>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "begin": {
              "name": "begin",
              "args": [],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Begins a transaction.",
              "deprecated": false
            },
            "commit": {
              "name": "commit",
              "args": [],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Commits the current transaction. The transaction must have been started with begin() before.",
              "deprecated": false
            },
            "rollback": {
              "name": "rollback",
              "args": [],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Rolls back the current transaction. The transaction must have been started with begin() before.",
              "deprecated": false
            },
            "wrap": {
              "name": "wrap",
              "args": [
                {
                  "name": "callback",
                  "description": "a function that should be executed within a transactional context",
                  "class": {
                    "name": "Function"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "Object",
                "description": "the result of the callback function, if it returns something"
              },
              "description": "Encloses the provided callback function in a begin-commit transactional context. If the transaction cannot be\n committed successfully, it is rolled back instead and an exception is thrown.",
              "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
            }
          }
        },
        "Velocity": {
          "fullClassName": "dw.template.Velocity",
          "package": "dw.template",
          "description": "This class renders an Apache Velocity template. For Velocity template syntax, see\n <a href=\"https://velocity.apache.org/engine/releases/velocity-1.7/\" target=\"_blank\">Velocity 1.7</a>.\n <p>\n The render() methods identify the template to render from:\n </p><ul>\n <li>a template file name, which is resolved in the Dynamic WebDAV file location for the current site.\n Template file names must end with either '.vm' or '.vs'.</li>\n <li>a dw.io.File object, which can point to any file system location that is accessible from a script</li>\n <li>a string that holds the template content directly</li></ul>\n <b>Note:</b> Files included from an ISML template (either via <code>#parse</code> or <code>#include</code>) are always resolved\n in the Dynamic location, and it is not possible to provide an absolute path.\n\n <p>\n On the target side of rendering, by default the render() methods write to the current response writer. When needed,\n a <code>dw.io.Writer</code> can be supplied as a target.\n </p><p>\n Parameters for rendering can be passed as a single object holding the parameters as properties.\n </p><p>\n To create a URL, pass the <code>URLUtils</code> class.\n <br>\n To access localized strings, pass the <code>Resource</code> class:\n </p><pre><code>\n var urlUtil = require('dw/web/URLUtils');\n velocity.render(\"$url.abs('Foo-Bar','cgid',$res.msg('key')\", {'url' : urlUtil, 'res' : dw.web.Resource});\n </code></pre>\n The complete set of <a href=\"https://velocity.apache.org/tools/releases/2.0/generic.html\" target=\"_blank\">VelocityTools</a>\n  are provided to the template. You can use the tools to escape dynamic data, format text, and for other common tasks.\n <p>\n Template files are cached for different amounts of time, depending on the instance type.\n </p><p></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "remoteInclude": {
              "name": "remoteInclude",
              "args": [
                {
                  "name": "action",
                  "description": "the URL (pipeline or controller) to be included",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs , e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the string that needs to be added to the Velocity template to execute the remote include"
              },
              "description": "Includes the rendered content of the specified action URL, which usually is a pipeline or controller. Must only be used inside a Velocity\n template, such as $velocity.remoteInclude('Product-Show','sku','42')",
              "deprecated": false
            },
            "render": {
              "name": "render",
              "args": [
                {
                  "name": "templateContent",
                  "description": "the template content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an inline template to the response writer.",
              "deprecated": false
            },
            "render0": {
              "name": "render",
              "args": [
                {
                  "name": "templateContent",
                  "description": "the template content",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "writer",
                  "description": "the target writer",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders an inline template to the provided writer.",
              "deprecated": false
            },
            "renderTemplate": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "templateFileName",
                  "description": "the file name of the template, relative to the current sites Dynamic file location. For example, for a file at a location similar to: https://mydomain.com/on/demandware.servlet/webdav/Sites/Dynamic/SiteGenesis/myfile.vm render the file in this way:  velocity.renderTemplate(\"myfile.vm\", null);",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders a template file to the response writer.",
              "deprecated": false
            },
            "renderTemplate0": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "templateFileName",
                  "description": "the file name of the template, relative to the current sites Dynamic file location. For example, for a file at a location similar to: https://mydomain.com/on/demandware.servlet/webdav/Sites/Dynamic/SiteGenesis/mydir/myfile.vm render the file in this way:  velocity.renderTemplate(\"mydir/myfile.vm\", null, result);",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object to pass to the template",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "writer",
                  "description": "the target writer",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders a template file to the provided writer.",
              "deprecated": false
            },
            "renderTemplate01": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "templateFile",
                  "description": "the file object denoting the template",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders a template file to the response writer.",
              "deprecated": false
            },
            "renderTemplate012": {
              "name": "renderTemplate",
              "args": [
                {
                  "name": "templateFile",
                  "description": "the file object denoting the template",
                  "class": {
                    "name": "File"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "the argument object",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "writer",
                  "description": "the target writer",
                  "class": {
                    "name": "Writer"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Renders a template file to the provided writer.",
              "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
            }
          }
        },
        "PropertyComparator": {
          "fullClassName": "dw.util.PropertyComparator",
          "package": "dw.util",
          "description": "This comparator can be used for the List sort() methods and for the SortSet\n and SortedMap classes. The comparator can be used to make a comparison based\n on a property of the contained objects. The Comparison is done based on the\n natural order of the values. It is guaranteed to work for Numbers, Strings,\n Dates, Money and Quantity values.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "PropertyComparator": {
              "name": "PropertyComparator",
              "args": [
                {
                  "name": "property",
                  "description": "The property name to compare by first.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "otherProperties",
                  "description": "Additional property names to sort by if two objects have the same values for the first property.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the comparator from the variable length argument list. The\n parameters are property names that are to be used for the comparison.\n When comparing two objects, the comparator first compares them by the\n first property. If the two objects have equal values for the first\n property, the comparator then compares them by the second property,\n etc, until one object is determined to be less than the other or they are\n equal. Each parameter must be either a simple name like \"totalSum\" or can\n be a reference to a custom attribute like \"custom.mytotal\". Each\n parameter may also be prefixed with an optional '+' or '-' character to\n indicate that the objects should be sorted ascending or descending\n respectively by that property. If not specified for a given property then\n '+' (ascending sort) is assumed.\n\n For example: new PropertyComparator(\"+prop1\", \"-prop2\", \"prop3\")\n constructs a Comparator which sorts by prop1 ascending, prop2 descending,\n and finally prop3 ascending.\n\n The comparator created with this constructor treats null values as\n greater than any other value.",
              "deprecated": false
            },
            "PropertyComparator0": {
              "name": "PropertyComparator",
              "args": [
                {
                  "name": "propertyName",
                  "description": "the name of the property that is used for the comparison.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortOrder",
                  "description": "the sort order to use where true means ascending and false means descending.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the comparator. The specified parameter is the name of the\n property that is used for the comparison. The parameter must be either a\n simple name like \"totalSum\" or can be a reference to a custom attribute\n like \"custom.mytotal\".\n\n The comparator created with this constructor is setup with ascending or\n descending sort order depending on value of sortOrder and null values\n being greater than any other value.",
              "deprecated": false
            },
            "PropertyComparator01": {
              "name": "PropertyComparator",
              "args": [
                {
                  "name": "propertyName",
                  "description": "the name of the property that is used for the comparison.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "sortOrder",
                  "description": "the sort order to use where true means ascending and false means descending.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "nullGreater",
                  "description": "true means null is greater than any other value",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the comparator. The specified parameter is the name of the\n property that is used for the comparison. The parameter must be either a\n simple name like \"totalSum\" or can be a reference to a custom attribute\n like \"custom.mytotal\".",
              "deprecated": false
            }
          },
          "methods": {
            "compare": {
              "name": "compare",
              "args": [
                {
                  "name": "arg1",
                  "description": "the first object to compare.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "arg2",
                  "description": "the second object to compare.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second."
              },
              "description": "Compares its two arguments for order. Returns a negative integer, zero,\n or a positive integer as the first argument is less than, equal to, or\n greater than the second. By default a null value is treated always\n greater than any other value. In the constructor of a PropertyComparator\n this default behavior can be changed.",
              "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
            }
          }
        },
        "SecureFilter": {
          "fullClassName": "dw.util.SecureFilter",
          "package": "dw.util",
          "description": "SecureFilter contains many methods for manipulating untrusted data Strings\n into RFC-Compliant Strings for a given context by removing \"bad\" data from\n the untrusted data.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "forHtmlContent": {
              "name": "forHtmlContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in a general HTML\n context. E.g. text content and text attributes. This method takes the\n UNION of allowed characters among all contexts, so may be more\n imprecise that the more specific contexts. Generally, this method is\n preferred unless you specifically understand the context in which\n untrusted data will be output.\n \n\n Example Usage:\n  <div>${SecureFilter.forHtmlContent(unsafeData)}</div>\n\n <input value=\"${SecureFilter.forHtmlContent(unsafeData)}\" />\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forHtmlInDoubleQuoteAttribute": {
              "name": "forHtmlInDoubleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an HTML\n Attribute guarded by a double quote. This method is preferred if you\n understand exactly how the output of this will be used in the HTML\n document.\n \n\n Example Usage:\n  <div id=\"${SecureFilter.forHtmlInDoubleQuoteAttribute(unsafeData)}\"></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forHtmlInSingleQuoteAttribute": {
              "name": "forHtmlInSingleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filterd, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an HTML\n Attribute guarded by a single quote. This method is preferred if you\n understand exactly how the output of this will be used in the HTML\n document.\n \n\n Example Usage:\n  <div id='${SecureFilter.forHtmlInSingleQuoteAttribute(unsafeData)}'></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forHtmlUnquotedAttribute": {
              "name": "forHtmlUnquotedAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an HTML\n Attribute left unguarded. This method is preferred if you understand\n exactly how the output of this will be used in the HTML document.\n \n\n Example Usage:\n  <div id=${SecureFilter.forHtmlUnquotedAttribute(unsafeData)}></div>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forJavaScriptInAttribute": {
              "name": "forJavaScriptInAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in JavaScript\n inside an HTML attribute. This method is preferred if you understand\n exactly how the output of the will be used in the page\n \n\n Example Usage:\n  <button onclick=\"alert('${SecureFilter.forJavaScriptInAttribute(unsafeData)}');\">\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forJavaScriptInBlock": {
              "name": "forJavaScriptInBlock",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in JavaScript\n inside an HTML block. This method is preferred if you understand\n exactly how the output of the will be used in the page\n \n\n Example Usage:\n  <script type=\"text/javascript\">\n     var data = \"${SecureFilter.forJavaScriptInBlock(unsafeData)}\";\n </script>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forJavaScriptInHTML": {
              "name": "forJavaScriptInHTML",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in JavaScript\n inside an HTML context. This method takes the UNION of allowed\n characters among 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 Example Usage:\n  <script type=\"text/javascript\">\n     var data = \"${SecureFilter.forJavaScriptInHTML(unsafeData)}\";\n </script>\n\n <button onclick=\"alert('${SecureFilter.forJavaScriptInHTML(unsafeData)}');\">\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forJavaScriptInSource": {
              "name": "forJavaScriptInSource",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in JavaScript\n inside a JavaScript source file. This method is preferred if you\n understand exactly how the output of the will be used in the page\n \n\n Example Usage:\n  <...inside foobar.js...>\n var data = \"${SecureFilter.forJavaScriptInSource(unsafeData)}\";\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forJSONValue": {
              "name": "forJSONValue",
              "args": [
                {
                  "name": "input",
                  "description": "ed input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in a JSON Object\n Value to prevent escaping into a trusted context.\n \n\n Example Usage:\n  var json = {\"trusted_data\" : SecureFilter.forJSONValue(unsafeData)};\n return JSON.stringify(json);\n \n\n Flow:\n \n Allow AlphaNumerics\n Remove all other characters",
              "deprecated": false
            },
            "forUriComponent": {
              "name": "forUriComponent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use as a component\n of a URI. This is equivalent to javascript's filterURIComponent and\n does a realistic job of encoding.\n \n\n Example Usage:\n  <a href=\"http://host.com?value=${SecureFilter.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 Remove all other characters",
              "deprecated": false
            },
            "forUriComponentStrict": {
              "name": "forUriComponentStrict",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use as a component\n of a URI. This is a strict filter and fully complies with RFC3986.\n \n\n Example Usage:\n  <a href=\"http://host.com?value=${SecureFilter.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 Remove all other characters",
              "deprecated": false
            },
            "forXmlCommentContent": {
              "name": "forXmlCommentContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an XML\n comments. This method is preferred if you understand the context in\n which 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  <!-- ${SecureFilter.forXmlCommentContent(unsafeData)} -->\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forXmlContent": {
              "name": "forXmlContent",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in a general XML\n context. E.g. text content and text attributes. This method takes the\n UNION of allowed characters between the other contexts, so may be more\n imprecise that the more specific contexts. Generally, this method is\n preferred unless you specifically 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  <foo>${SecureFilter.forXmlContent(unsafeData)}</foo>\n\n <bar attr=\"${SecureFilter.forXmlContent(unsafeData)}\"></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forXmlInDoubleQuoteAttribute": {
              "name": "forXmlInDoubleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an XML\n attribute guarded by a double quote. This method is preferred if you\n understand the context in which 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=\"${SecureFilter.forXmlInDoubleQuoteAttribute(unsafeData)}\"></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "deprecated": false
            },
            "forXmlInSingleQuoteAttribute": {
              "name": "forXmlInSingleQuoteAttribute",
              "args": [
                {
                  "name": "input",
                  "description": "untrusted input to be filtered, if necessary",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a properly filtered string for the given input"
              },
              "description": "Filters illegal characters from a given input for use in an XML\n attribute guarded by a single quote. This method is preferred if you\n understand the context in which 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='${SecureFilter.forXmlInSingleQuoteAttribute(unsafeData)}'></bar>\n \n\n Flow:\n \n Allow AlphaNumerics and some Special characters\n Remove all other characters",
              "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
            }
          }
        },
        "Set": {
          "fullClassName": "dw.util.Set",
          "package": "dw.util",
          "description": "Represents a set of objects.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            }
          ],
          "constants": {},
          "properties": {
            "EMPTY_SET": {
              "name": "EMPTY_SET",
              "class": {
                "name": "Set"
              },
              "static": true,
              "readonly": false,
              "description": "Convenience variable, for an empty and immutable list.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {}
        },
        "SortedMap": {
          "fullClassName": "dw.util.SortedMap",
          "package": "dw.util",
          "description": "A map that further guarantees that it will be in ascending key order,\n sorted according to the natural ordering of its keys,\n or by a comparator provided at sorted map creation time. This order is reflected\n when iterating over the sorted map's collection views (returned by the entrySet,\n keySet and values methods).\n Note that sorting by natural order is only supported for Number,\n String, Date, Money and Quantity as key.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Map"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "SortedMap": {
              "name": "SortedMap",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructor to create a new SortedMap.",
              "deprecated": false
            },
            "SortedMap0": {
              "name": "SortedMap",
              "args": [
                {
                  "name": "comparator",
                  "description": "an instance of a PropertyComparator or a comparison function",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor to create a new SortedMap.\n\n The constructor takes a compare function as additional parameter. This comparator\n determines identity and the order of the element keys for this map.\n The order of the elements is determined with a comparator (see PropertyComparator)\n or with the help of the given function. The function must take two parameters\n and return a value <=-1 if the first parameter is smaller than the second,\n a value if >=1 if the first one is greater than the second parameter\n and a value in between like 0 if both are equal.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "SortedMap",
                "description": "a shallow copy of this map."
              },
              "description": "Returns a shallow copy of this map.",
              "deprecated": false
            },
            "firstKey": {
              "name": "firstKey",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the first (lowest) key currently in this sorted map."
              },
              "description": "Returns the first (lowest) key currently in this sorted map.",
              "deprecated": false
            },
            "headMap": {
              "name": "headMap",
              "args": [
                {
                  "name": "key",
                  "description": "high endpoint (exclusive) of the headMap.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedMap",
                "description": "a view of the portion of this map whose keys are strictly less than toKey."
              },
              "description": "Returns a view of the portion of this map whose keys are strictly less than toKey.",
              "deprecated": false
            },
            "lastKey": {
              "name": "lastKey",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the last (highest) key currently in this sorted map."
              },
              "description": "Returns the last (highest) key currently in this sorted map.",
              "deprecated": false
            },
            "subMap": {
              "name": "subMap",
              "args": [
                {
                  "name": "from",
                  "description": "low endpoint (inclusive) of the subMap.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "high endpoint (exclusive) of the subMap.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedMap",
                "description": "a view of the portion of this map whose keys range from fromKey, inclusive, to toKey, exclusive."
              },
              "description": "Returns a view of the portion of this map whose keys range from fromKey, inclusive,\n to toKey, exclusive. (If fromKey and toKey are equal, the returned sorted map is empty.)",
              "deprecated": false
            },
            "tailMap": {
              "name": "tailMap",
              "args": [
                {
                  "name": "key",
                  "description": "low endpoint (inclusive) of the tailMap.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedMap",
                "description": "a view of the portion of this map whose keys are greater than or equal to fromKey."
              },
              "description": "Returns a view of the portion of this map whose keys are greater than or equal\n to fromKey. The returned sorted map is backed by this map, so changes in the\n returned sorted map are reflected in this map, and vice-versa. The returned\n sorted map supports all optional map operations.",
              "deprecated": false
            }
          }
        },
        "SortedSet": {
          "fullClassName": "dw.util.SortedSet",
          "package": "dw.util",
          "description": "A set that further guarantees that its iterator\n will traverse the set in ascending element order,\n sorted according to the natural ordering of its\n elements (only supported for Number, String,\n Date, Money and Quantity), or by a comparator\n provided at sorted set creation time.",
          "hierarchy": [
            {
              "name": "Object"
            },
            {
              "name": "dw.util.Collection"
            },
            {
              "name": "dw.util.Set"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "SortedSet": {
              "name": "SortedSet",
              "args": [],
              "class": {
                "description": ""
              },
              "description": "Constructor to create a new SortedSet.",
              "deprecated": false
            },
            "SortedSet0": {
              "name": "SortedSet",
              "args": [
                {
                  "name": "comparator",
                  "description": "an instance of a PropertyComparator or a comparison function",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor to create a new SortedSet.\n\n The constructor takes a compare function as additional parameter. This comparator\n determines identity and the order of the elements for this set.\n The order of the elements is determined with a comparator (see PropertyComparator)\n or with the help of the given function. The function must take two parameters\n and return a value <=-1 if the first parameter is smaller than the second,\n a value if >=1 if the first one is greater than the second parameter\n and a value in between like 0 if both are equal.",
              "deprecated": false
            },
            "SortedSet01": {
              "name": "SortedSet",
              "args": [
                {
                  "name": "collection",
                  "description": "the collection of objects that are inserted into the set.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructor for a new SortedSet. The constructor\n initializes the SortedSet with the elements of the\n given collection.",
              "deprecated": false
            }
          },
          "methods": {
            "clone": {
              "name": "clone",
              "args": [],
              "class": {
                "name": "SortedSet",
                "description": "a shallow copy of this set."
              },
              "description": "Returns a shallow copy of this set.",
              "deprecated": false
            },
            "first": {
              "name": "first",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the first (lowest) element currently in this sorted set."
              },
              "description": "Returns the first (lowest) element currently in this sorted set.",
              "deprecated": false
            },
            "headSet": {
              "name": "headSet",
              "args": [
                {
                  "name": "key",
                  "description": "high endpoint (exclusive) of the headSet.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedSet",
                "description": "a view of the specified initial range of this sorted set."
              },
              "description": "Returns a view of the portion of this sorted set whose elements\n are strictly less than toElement. The returned sorted set is\n backed by this sorted set, so changes in the returned sorted\n set are reflected in this sorted set, and vice-versa. The returned\n sorted set supports all optional set operations.",
              "deprecated": false
            },
            "last": {
              "name": "last",
              "args": [],
              "class": {
                "name": "Object",
                "description": "the last (highest) element currently in this sorted set."
              },
              "description": "Returns the last (highest) element currently in this sorted set.",
              "deprecated": false
            },
            "subSet": {
              "name": "subSet",
              "args": [
                {
                  "name": "from",
                  "description": "low endpoint (inclusive) of the subSet.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                },
                {
                  "name": "to",
                  "description": "high endpoint (exclusive) of the subSet.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedSet",
                "description": "a view of the specified range within this sorted set."
              },
              "description": "Returns a view of the portion of this sorted set whose elements\n range from fromElement, inclusive, to toElement, exclusive. (If\n fromElement and toElement are equal, the returned sorted set is empty.)\n The returned sorted set is backed by this sorted set, so changes in\n the returned sorted set are reflected in this sorted set, and vice-versa.\n The returned sorted set supports all optional set operations that this\n sorted set supports.",
              "deprecated": false
            },
            "tailSet": {
              "name": "tailSet",
              "args": [
                {
                  "name": "key",
                  "description": "low endpoint (inclusive) of the tailSet.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "SortedSet",
                "description": "a view of the specified final range of this sorted set."
              },
              "description": "Returns a view of the portion of this sorted set whose elements\n are greater than or equal to fromElement. The returned sorted set\n is backed by this sorted set, so changes in the returned sorted\n set are reflected in this sorted set, and vice-versa. The returned\n sorted set supports all optional set operations.",
              "deprecated": false
            }
          }
        },
        "StringUtils": {
          "fullClassName": "dw.util.StringUtils",
          "package": "dw.util",
          "description": "String utility class.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "ENCODE_TYPE_HTML": {
              "name": "ENCODE_TYPE_HTML",
              "value": "0",
              "class": {
                "name": "Number"
              },
              "description": "String encoding type HTML.",
              "deprecated": false,
              "type": "constant"
            },
            "ENCODE_TYPE_WML": {
              "name": "ENCODE_TYPE_WML",
              "value": "2",
              "class": {
                "name": "Number"
              },
              "description": "String encoding type WML.",
              "deprecated": true,
              "type": "constant"
            },
            "ENCODE_TYPE_XML": {
              "name": "ENCODE_TYPE_XML",
              "value": "1",
              "class": {
                "name": "Number"
              },
              "description": "String encoding type XML.",
              "deprecated": false,
              "type": "constant"
            },
            "TRUNCATE_CHAR": {
              "name": "TRUNCATE_CHAR",
              "value": "\"char\"",
              "class": {
                "name": "String"
              },
              "description": "String truncate mode 'char'. Truncate string to the nearest character. Default mode if no truncate mode is specified.",
              "deprecated": false,
              "type": "constant"
            },
            "TRUNCATE_SENTENCE": {
              "name": "TRUNCATE_SENTENCE",
              "value": "\"sentence\"",
              "class": {
                "name": "String"
              },
              "description": "String truncate mode 'sentence'. Truncate string to the nearest sentence.",
              "deprecated": false,
              "type": "constant"
            },
            "TRUNCATE_WORD": {
              "name": "TRUNCATE_WORD",
              "value": "\"word\"",
              "class": {
                "name": "String"
              },
              "description": "String truncate mode 'word'. Truncate string to the nearest word.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {
            "decodeBase64": {
              "name": "decodeBase64",
              "args": [
                {
                  "name": "base64",
                  "description": "the Base64 encoded string - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the decoded string."
              },
              "description": "Interprets a Base64 encoded string as byte stream of an UTF-8 encoded string.\n\n The method throws an IllegalArgumentException in case the encoding\n failed because of a mismatch between the input string and the character encoding.",
              "deprecated": false
            },
            "decodeBase640": {
              "name": "decodeBase64",
              "args": [
                {
                  "name": "base64",
                  "description": "the Base64 encoded string - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "characterEncoding",
                  "description": "the character encoding to read the input string - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the decoded string."
              },
              "description": "Interprets a Base64 encoded string as the byte stream representation of a string.\n The given character encoding is used for decoding the byte stream into the\n character representation.\n\n The method throws an IllegalArgumentException in case the encoding\n failed because of a mismatch between the input String and the character encoding.",
              "deprecated": false
            },
            "decodeString": {
              "name": "decodeString",
              "args": [
                {
                  "name": "str",
                  "description": "String to be decoded",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "decode type",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "decoded string"
              },
              "description": "Convert a given syntax-safe string to a string according to the\n selected character entity encoding type.",
              "deprecated": false
            },
            "encodeBase64": {
              "name": "encodeBase64",
              "args": [
                {
                  "name": "str",
                  "description": "the string to encode - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the encoded string."
              },
              "description": "Encodes the byte representation of the given string as Base64.\n The string is converted into the byte representation with UTF-8 encoding.\n\n The method throws an IllegalArgumentException in case the encoding\n failed because of a mismatch between the input string and the character encoding.",
              "deprecated": false
            },
            "encodeBase640": {
              "name": "encodeBase64",
              "args": [
                {
                  "name": "str",
                  "description": "the string to encode - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "characterEncoding",
                  "description": "the character encoding to read the input string - should not be empty or null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the encoded string."
              },
              "description": "Encodes the byte representation of the given string as Base64.\n The string is converted into the byte representation using the given\n character encoding.\n\n The method throws an IllegalArgumentException in case the encoding\n failed because of a mismatch between the input string and the character encoding.",
              "deprecated": false
            },
            "encodeString": {
              "name": "encodeString",
              "args": [
                {
                  "name": "str",
                  "description": "String to be encoded",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "type",
                  "description": "encode type",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "encoded string"
              },
              "description": "Convert a given string to a syntax-safe string according to the\n selected character entity encoding type.",
              "deprecated": false
            },
            "format": {
              "name": "format",
              "args": [
                {
                  "name": "format",
                  "description": "Java like formatting string.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional list of arguments or a collection, which are included into the result string",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the formatted result string."
              },
              "description": "Returns a formatted string using the specified format and arguments.\n The formatting string is a Java MessageFormat expression, e.g.\n format( \"Message: {0}, {1}\", \"test\", 10 ) would result in \"Message: test, 10\".\n\n If a Collection is passed as the only argument, the elements of this collection\n are used as arguments for the formatting.",
              "deprecated": false
            },
            "formatCalendar": {
              "name": "formatCalendar",
              "args": [
                {
                  "name": "calendar",
                  "description": "the calendar object.",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted calendar object."
              },
              "description": "Formats a Calendar object with Calendar.INPUT_DATE_TIME_PATTERN format\n of the current request locale, for example \"MM/dd/yyyy h:mm a\" for the\n locale en_US. The used time zone is the time zone of the calendar object.",
              "deprecated": false
            },
            "formatCalendar0": {
              "name": "formatCalendar",
              "args": [
                {
                  "name": "calendar",
                  "description": "the calendar object to be printed",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted calendar object."
              },
              "description": "Formats a Calendar object with the provided date format. The format is a\n Java date format, like \"yyy-MM-dd\". The used time zone is the time zone\n of the calendar object.",
              "deprecated": false
            },
            "formatCalendar01": {
              "name": "formatCalendar",
              "args": [
                {
                  "name": "calendar",
                  "description": "the calendar object to be printed",
                  "class": {
                    "name": "Calendar"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the locale, which defines the date format to be used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "pattern",
                  "description": "the pattern is one of a calendar pattern e.g. SHORT_DATE_PATTERN as defined in the regional settings for the locale",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted calendar object."
              },
              "description": "Formats a Calendar object with the date format defined by the provided locale\n and Calendar pattern.  The locale can be for instance the request.getLocale().\n The used time  zone is the time zone of the calendar object.",
              "deprecated": false
            },
            "formatDate": {
              "name": "formatDate",
              "args": [
                {
                  "name": "date",
                  "description": "the date to format.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted date."
              },
              "description": "Formats a date with the default date format of the current site.",
              "deprecated": true
            },
            "formatDate0": {
              "name": "formatDate",
              "args": [
                {
                  "name": "date",
                  "description": "the date to format.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted date."
              },
              "description": "Formats a date with the provided date format. The format is the\n Java date format, like \"yyyy-MM-DD\". The locale of the calling context\n request is used in formatting.",
              "deprecated": true
            },
            "formatDate01": {
              "name": "formatDate",
              "args": [
                {
                  "name": "date",
                  "description": "the date to format.",
                  "class": {
                    "name": "Date"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the locale to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a string representation of the formatted date."
              },
              "description": "Formats a date with the provided date format in specified locale. The format is\n Java date format, like \"yyyy-MM-DD\".",
              "deprecated": true
            },
            "formatInteger": {
              "name": "formatInteger",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted an integer number with the default integer format of the current site."
              },
              "description": "Returns a formatted integer number using the default integer format of the current\n site. The method can be also called to format a floating number as integer.",
              "deprecated": false
            },
            "formatMoney": {
              "name": "formatMoney",
              "args": [
                {
                  "name": "money",
                  "description": "The Money instance that should be formatted.",
                  "class": {
                    "name": "Money"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "The formatted String representation of the passed money. In case of an error the string 'N/A' is returned."
              },
              "description": "Formats a Money Object with the default money format of the current request locale.",
              "deprecated": false
            },
            "formatNumber": {
              "name": "formatNumber",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted number using the default number format of the current site."
              },
              "description": "Returns a formatted number using the default number format of the current site.\n\n Decimal and grouping separators are used as specified in the locales regional settings.",
              "deprecated": false
            },
            "formatNumber0": {
              "name": "formatNumber",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted string using the specified number and format."
              },
              "description": "Returns a formatted string using the specified number and format. The format is\n Java number format, like \"#,###.00\". To format as an integer\n number provide \"0\" as format string. The locale of the calling context\n request is used in formatting.",
              "deprecated": false
            },
            "formatNumber01": {
              "name": "formatNumber",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the locale to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted number as a string using the specified number format in specified locale."
              },
              "description": "Returns a formatted number as a string using the specified number format in specified locale. The format is\n Java number format, like \"#,###.00\". To format as an integer\n number provide \"0\" as format string.",
              "deprecated": false
            },
            "formatNumber012": {
              "name": "formatNumber",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted string using the specified number and format."
              },
              "description": "Returns a formatted string using the specified number and format. The format is\n Java number format, like \"#,###.00\". To format as an integer\n number provide \"0\" as format string. The locale of the calling context\n request is used in formatting.\n\n Decimal and grouping separators are used as specified in the locales regional settings (when configured, otherwise a fallback to the internal configuration is done).",
              "deprecated": false
            },
            "formatNumber0123": {
              "name": "formatNumber",
              "args": [
                {
                  "name": "number",
                  "description": "the number to format.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "format",
                  "description": "the format to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the locale to use.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "a formatted number as a string using the specified number format in specified locale."
              },
              "description": "Returns a formatted number as a string using the specified number format in specified locale. The format is\n Java number format, like \"#,###.00\". To format as an integer\n number provide \"0\" as format string.\n\n Decimal and grouping separators are used as specified in the locales regional settings (when configured, otherwise a fallback to the internal configuration is done).",
              "deprecated": false
            },
            "garble": {
              "name": "garble",
              "args": [
                {
                  "name": "str",
                  "description": "String to garble",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "replaceChar",
                  "description": "character to use as a replacement",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "suffixLength",
                  "description": "length of the suffix",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the garbled string."
              },
              "description": "Return a string in which specified number of characters in the suffix is not changed\n and the rest of the characters replaced with specified character.",
              "deprecated": false
            },
            "ltrim": {
              "name": "ltrim",
              "args": [
                {
                  "name": "str",
                  "description": "the String to remove characters from.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the string with leading white space removed."
              },
              "description": "Returns the string with leading white space removed.",
              "deprecated": false
            },
            "pad": {
              "name": "pad",
              "args": [
                {
                  "name": "str",
                  "description": "the string to process",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "width",
                  "description": "The absolute value of this number defines the width of the cell. A possitive number forces left, a negative number right alignment. A '0' doesn't change the string.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the processed string."
              },
              "description": "This method provides cell padding functionality to the template.",
              "deprecated": false
            },
            "rtrim": {
              "name": "rtrim",
              "args": [
                {
                  "name": "str",
                  "description": "the String to remove characters from.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the string with trailing white space removed."
              },
              "description": "Returns the string with trailing white space removed.",
              "deprecated": false
            },
            "stringToHtml": {
              "name": "stringToHtml",
              "args": [
                {
                  "name": "str",
                  "description": "String to be converted.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "converted string."
              },
              "description": "Convert a given string to an HTML-safe string.\n This method substitutes characters that conflict with HTML syntax\n (<,>,&,\") and characters that are beyond the ASCII\n chart (Unicode 160-255) to HTML 3.2 named character entities.",
              "deprecated": false
            },
            "stringToWml": {
              "name": "stringToWml",
              "args": [
                {
                  "name": "str",
                  "description": "String to be converted.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the converted string."
              },
              "description": "Converts a given string to a WML-safe string.\n This method substitutes characters that conflict with WML syntax\n (<,>,&,',\"$) to WML named character entities.",
              "deprecated": true
            },
            "stringToXml": {
              "name": "stringToXml",
              "args": [
                {
                  "name": "str",
                  "description": "String to be converted.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the converted string."
              },
              "description": "Converts a given string to a XML-safe string.\n This method substitutes characters that conflict with XML syntax\n (<,>,&,',\") to XML named character entities.",
              "deprecated": false
            },
            "trim": {
              "name": "trim",
              "args": [
                {
                  "name": "str",
                  "description": "the string to trim.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the string with leading and trailing white space removed."
              },
              "description": "Returns the string with leading and trailing white space removed.",
              "deprecated": false
            },
            "truncate": {
              "name": "truncate",
              "args": [
                {
                  "name": "str",
                  "description": "string to truncate",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "maxLength",
                  "description": "maximum length of the truncated string, not including suffix",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "mode",
                  "description": "truncate mode (TRUNCATE_CHAR, TRUNCATE_WORD, TRUNCATE_SENTENCE), if null TRUNCATE_CHAR is assumed",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "suffix",
                  "description": "suffix append to the truncated string",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the truncated string."
              },
              "description": "Truncate the string to the specified length using specified truncate mode. Optionally,\n append suffix to truncated string.",
              "deprecated": false
            }
          }
        },
        "Template": {
          "fullClassName": "dw.util.Template",
          "package": "dw.util",
          "description": "Reads an ISML template from the file system and renders it into a\n <a href=\"class_dw_value_MimeEncodedText.html\">MimeEncodedText</a> object. Optional substitution values can be\n passed to the isml template via the <a href=\"class_dw_util_Template.html#dw_util_Template_render_Map_DetailAnchor\">render(Map)</a>\n method. Substitution parameters can be accessed within the template through\n\n <pre>     &lt;isprint value=\"${param.parameter}\"&gt;\n </pre>\n\n or for backward compatibility through\n\n <pre>     &lt;isprint value=\"${pdict.parameter}\"&gt;\n </pre>\n\n The access through pdict only gives access to the parameter map provided at\n rendering time and doesn't offer access to the system PipelineDictionary. The\n pdict access to the property map is only considered to ease the transition\n from SendMail pipelet API based templates. If the PipelineDictionary or\n properties of the PipelineDictionary are needed, they need to be included in\n the Property map passed to the render method.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "Template": {
              "name": "Template",
              "args": [
                {
                  "name": "templateName",
                  "description": "file system path to the ISML template",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new template. Doesn't render the template until\n render() or render(Map)\n is invoked. The current request localeID will be used for Rendering.",
              "deprecated": false
            },
            "Template0": {
              "name": "Template",
              "args": [
                {
                  "name": "templateName",
                  "description": "file system path to the ISML template",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "localeID",
                  "description": "localeID to be used for Rendering",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new template with the locale being set to the given localeID.\n Rendering doesn't happen until render() or\n render(Map) is invoked.",
              "deprecated": false
            }
          },
          "methods": {
            "render": {
              "name": "render",
              "args": [],
              "class": {
                "name": "MimeEncodedText",
                "description": "MimeEncodedText with isprint tags referring to param/pdict replaced with an empty String"
              },
              "description": "Renders the template specified at instantiation time, without any\n substitution parameters. Any isprint tags referring to param/pdict will\n be unresolved and will be replaced with empty strings. If there's an\n explicit localeID set through setLocale(String),\n it takes precedence over the localeID associated with the current\n request.",
              "deprecated": false
            },
            "render0": {
              "name": "render",
              "args": [
                {
                  "name": "params",
                  "description": "Map of substitution parameters which are specified within the ISML template. Access is available from within the ISML template through named variables param or pdict.",
                  "class": {
                    "name": "Map"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "MimeEncodedText",
                "description": "MimeEncodedText containing the rendered template. Variables in the template referring to param/pdict are replaced with the value from the params map or empty if the value isn't found in the map"
              },
              "description": "Renders the template specified at instantiation time with the given\n substitution parameters. These parameters are available to ISML templates\n through variables named 'param' and 'pdict'. Note that in this context,\n pdict is not referring to the system PipelineDictionary, as the System\n Pipeline Dictionary is not accessible from this script API. If there's an\n explicit localeID set through setLocale(String),\n it takes precedence over the localeID associated with the current\n request.",
              "deprecated": false
            },
            "setLocale": {
              "name": "setLocale",
              "args": [
                {
                  "name": "localeID",
                  "description": "to be used for processing this template. Throws an exception if localeID is blank",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Template",
                "description": "this Template object"
              },
              "description": "Sets an optional localeID which is used instead of the current requests\n localeID.",
              "deprecated": false
            }
          }
        },
        "UUIDUtils": {
          "fullClassName": "dw.util.UUIDUtils",
          "package": "dw.util",
          "description": "Utility methods around generating unique IDs.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "createUUID": {
              "name": "createUUID",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "the generated unique id"
              },
              "description": "The method generates a unique id.",
              "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
            }
          }
        },
        "Quantity": {
          "fullClassName": "dw.value.Quantity",
          "package": "dw.value",
          "description": "Represents the quantity of an item.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "available": {
              "name": "available",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the instance contains settings for value and unit.",
              "deprecated": false,
              "type": "property"
            },
            "decimalValue": {
              "name": "decimalValue",
              "class": {
                "name": "Decimal"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity as Decimal, null is returned when the quantity is not available.",
              "deprecated": false,
              "type": "property"
            },
            "unit": {
              "name": "unit",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The value for unit which identifies the\n unit of measure for the quantity. Examples of unit\n are 'inches' or 'pounds'.",
              "deprecated": false,
              "type": "property"
            },
            "value": {
              "name": "value",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The quantity value.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "Quantity": {
              "name": "Quantity",
              "args": [
                {
                  "name": "value",
                  "description": "the actual quantity, must not be null",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                },
                {
                  "name": "unit",
                  "description": "the unit identifier for the quantity, must not be null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Creates a new quantity instance with the specified value and unit.",
              "deprecated": false
            }
          },
          "methods": {
            "add": {
              "name": "add",
              "args": [
                {
                  "name": "value",
                  "description": "Quantity object",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "Quantity object representing the sum of the operands"
              },
              "description": "Add Quantity object to the current object. Only objects representing the same unit can be added.",
              "deprecated": false
            },
            "compareTo": {
              "name": "compareTo",
              "args": [
                {
                  "name": "other",
                  "description": "the other quantity to compare.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Number",
                "description": "the comparison."
              },
              "description": "Compares two Quantity values. An exception is thrown if the two Quantities values\n are of different unit. If one of the Quantity values represents the N/A value\n it is treated as 0.0.",
              "deprecated": false
            },
            "divide": {
              "name": "divide",
              "args": [
                {
                  "name": "divisor",
                  "description": "divisor",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "Quantity object representing division result"
              },
              "description": "Divide Quantity object by specified divisor.",
              "deprecated": false
            },
            "equals": {
              "name": "equals",
              "args": [
                {
                  "name": "other",
                  "description": "the object to compare against this quantity instance.",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if equal, false otherwise."
              },
              "description": "Compares two decimal values whether they are equivalent.",
              "deprecated": false
            },
            "getDecimalValue": {
              "name": "getDecimalValue",
              "args": [],
              "class": {
                "name": "Decimal",
                "description": "the quantity as Decimal"
              },
              "description": "Returns the quantity as Decimal, null is returned when the quantity is not available.",
              "deprecated": false
            },
            "getUnit": {
              "name": "getUnit",
              "args": [],
              "class": {
                "name": "String",
                "description": "the unit value."
              },
              "description": "Returns the value for unit which identifies the\n unit of measure for the quantity. Examples of unit\n are 'inches' or 'pounds'.",
              "deprecated": false
            },
            "getValue": {
              "name": "getValue",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the quantity value."
              },
              "description": "Returns the quantity value.",
              "deprecated": false
            },
            "hashCode": {
              "name": "hashCode",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the hash code."
              },
              "description": "Calculates the hash code for a decimal.",
              "deprecated": false
            },
            "isAvailable": {
              "name": "isAvailable",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the instance is initialized with value and unit, false if the state is 'not available'."
              },
              "description": "Identifies if the instance contains settings for value and unit.",
              "deprecated": false
            },
            "isOfSameUnit": {
              "name": "isOfSameUnit",
              "args": [
                {
                  "name": "value",
                  "description": "the second quantity for the comparison.",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if both quantities have the same unit, false otherwise."
              },
              "description": "Identifies if two Quantities have the same unit.",
              "deprecated": false
            },
            "multiply": {
              "name": "multiply",
              "args": [
                {
                  "name": "factor",
                  "description": "multiplication factor",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "Quantity object representing multiplication result"
              },
              "description": "Multiply Quantity object by specified factor.",
              "deprecated": false
            },
            "newQuantity": {
              "name": "newQuantity",
              "args": [
                {
                  "name": "value",
                  "description": "as a decimal",
                  "class": {
                    "name": "Decimal"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "new Quantity instance with same unit"
              },
              "description": "Method returns a new instance of Quantity with the same unit but\n different value. An N/A instance is returned if value is null.",
              "deprecated": false
            },
            "round": {
              "name": "round",
              "args": [
                {
                  "name": "precision",
                  "description": "number of decimal digits after the decimal point",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "the new rounded Quantity value"
              },
              "description": "Rounds the Quantity value to the number of specified decimal digits.",
              "deprecated": false
            },
            "subtract": {
              "name": "subtract",
              "args": [
                {
                  "name": "value",
                  "description": "Quantity object to subtract",
                  "class": {
                    "name": "Quantity"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "Quantity",
                "description": "Quantity object representing the result of subtraction"
              },
              "description": "Subtract Quantity object from the current object. Only objects representing the same unit can be subtracted.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "a string representation of this quantity object."
              },
              "description": "Returns a string representation of this quantity object.",
              "deprecated": false
            },
            "valueOf0": {
              "name": "valueOf",
              "args": [],
              "class": {
                "name": "Object",
                "description": ""
              },
              "description": "According to the ECMA spec returns the \"natural\" primitive value. Here\n the value portion of the Quantity 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
            }
          }
        },
        "PageMetaData": {
          "fullClassName": "dw.web.PageMetaData",
          "package": "dw.web",
          "description": "Contains meta data about the page.\n\n For each request an instance of this class will be placed in the pipeline\n dictionary under the key \"CurrentPageMetaData\".\n The information stored in CurrentPageMetaData can be referenced in templates\n and rendered in an HTML head section:\n for example:\n <pre> <code>\n &lt;head&gt;\n &lt;title&gt;${pdict.CurrentPageMetaData.title}&lt;/title&gt;\n &lt;meta name=\"description\" content=\"${pdict.CurrentPageMetaData.description}\"/&gt;\n .\n .\n .\n &lt;/head&gt;\n </code>\n </pre>\n\n To update the CurrentPageMetaData there is the pipelet UpdatePageMetaData\n provided.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "description": {
              "name": "description",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The page's description.",
              "deprecated": false,
              "type": "property"
            },
            "keywords": {
              "name": "keywords",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The page's key words.",
              "deprecated": false,
              "type": "property"
            },
            "pageMetaTags": {
              "name": "pageMetaTags",
              "class": {
                "name": "Array"
              },
              "static": false,
              "readonly": true,
              "description": "All page meta tags added to this container.",
              "deprecated": false,
              "type": "property"
            },
            "title": {
              "name": "title",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": false,
              "description": "The page's title.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "addPageMetaTag": {
              "name": "addPageMetaTag",
              "args": [
                {
                  "name": "pageMetaTag",
                  "description": "the page meta tag to be added",
                  "class": {
                    "name": "PageMetaTag"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a page meta tag to this container.",
              "deprecated": false
            },
            "addPageMetaTags": {
              "name": "addPageMetaTags",
              "args": [
                {
                  "name": "pageMetaTags",
                  "description": "the page meta tags list to be added",
                  "class": {
                    "name": "Array"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Adds a page meta tags list to this container.",
              "deprecated": false
            },
            "getDescription": {
              "name": "getDescription",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page's description."
              },
              "description": "Returns the page's description.",
              "deprecated": false
            },
            "getKeywords": {
              "name": "getKeywords",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page's key words."
              },
              "description": "Returns the page's key words.",
              "deprecated": false
            },
            "getPageMetaTags": {
              "name": "getPageMetaTags",
              "args": [],
              "class": {
                "name": "Array",
                "description": "page meta tags"
              },
              "description": "Returns all page meta tags added to this container.",
              "deprecated": false
            },
            "getTitle": {
              "name": "getTitle",
              "args": [],
              "class": {
                "name": "String",
                "description": "the page's title."
              },
              "description": "Returns the page's title.",
              "deprecated": false
            },
            "isPageMetaTagSet": {
              "name": "isPageMetaTagSet",
              "args": [
                {
                  "name": "id",
                  "description": "the ID to be check if a page meta tag is set",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "boolean",
                "description": "true if a page meta tag with the given ID is set, false otherwise"
              },
              "description": "Returns true if a page meta tag with the given ID is set, false otherwise.",
              "deprecated": false
            },
            "setDescription": {
              "name": "setDescription",
              "args": [
                {
                  "name": "description",
                  "description": "the page's description.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the page's description.",
              "deprecated": false
            },
            "setKeywords": {
              "name": "setKeywords",
              "args": [
                {
                  "name": "keywords",
                  "description": "the page's key words.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the page's key words.",
              "deprecated": false
            },
            "setTitle": {
              "name": "setTitle",
              "args": [
                {
                  "name": "title",
                  "description": "the page's title.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the page's title.",
              "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
            }
          }
        },
        "PagingModel": {
          "fullClassName": "dw.web.PagingModel",
          "package": "dw.web",
          "description": "A page model is a helper class to apply a pages to a collection of\n elements or an iterator of elements and supports creating URLs for\n continued paging through the elements.\n\n The page model is intended to be initialized with the collection or\n iterator, than the paging position is applyed and than the elements are\n extracted with getPageElements().\n\n In case the page model is initialized with a collection the page model\n can be reused multiple times.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "DEFAULT_PAGE_SIZE": {
              "name": "DEFAULT_PAGE_SIZE",
              "value": "10",
              "class": {
                "name": "Number"
              },
              "description": "The default page size.",
              "deprecated": false,
              "type": "constant"
            },
            "MAX_PAGE_SIZE": {
              "name": "MAX_PAGE_SIZE",
              "value": "2000",
              "class": {
                "name": "Number"
              },
              "description": "The maximum supported page size.",
              "deprecated": false,
              "type": "constant"
            },
            "PAGING_SIZE_PARAMETER": {
              "name": "PAGING_SIZE_PARAMETER",
              "value": "\"sz\"",
              "class": {
                "name": "String"
              },
              "description": "The URL Parameter used for the page size.",
              "deprecated": false,
              "type": "constant"
            },
            "PAGING_START_PARAMETER": {
              "name": "PAGING_START_PARAMETER",
              "value": "\"start\"",
              "class": {
                "name": "String"
              },
              "description": "The URL parameter used for the start position.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {
            "count": {
              "name": "count",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The count of the number of items in the model.",
              "deprecated": false,
              "type": "property"
            },
            "currentPage": {
              "name": "currentPage",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The index number of the current page. The page\n counting starts with 0. The method also works with a miss-aligned\n start. In that case the start is always treated as the start of\n a page.",
              "deprecated": false,
              "type": "property"
            },
            "empty": {
              "name": "empty",
              "class": {
                "name": "boolean"
              },
              "static": false,
              "readonly": true,
              "description": "Identifies if the model is empty.",
              "deprecated": false,
              "type": "property"
            },
            "end": {
              "name": "end",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The index of the last element on the current page.",
              "deprecated": false,
              "type": "property"
            },
            "maxPage": {
              "name": "maxPage",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The maximum possible page number. Counting for pages starts\n with 0.  The method also works with a miss-aligned start. In that case\n the returned number might be higher than ((count-1) / pageSize).",
              "deprecated": false,
              "type": "property"
            },
            "pageCount": {
              "name": "pageCount",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The total page count. The method also works\n with a miss-aligned start. In that case the returned number might\n be higher than (count / pageSize).",
              "deprecated": false,
              "type": "property"
            },
            "pageElements": {
              "name": "pageElements",
              "class": {
                "name": "Iterator"
              },
              "static": false,
              "readonly": true,
              "description": "An iterator that can be used to iterate through the elements of\n the current page.\n\n In case of a collection as the page models source, the method can be\n called multiple times. Each time a fresh iterator is returned.\n\n In case of an iterator as the page models source, the method must be\n called only once. The method will always return the same iterator,\n which means the method amy return an exhausted iterator.",
              "deprecated": false,
              "type": "property"
            },
            "pageSize": {
              "name": "pageSize",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The size of the page.",
              "deprecated": false,
              "type": "property"
            },
            "start": {
              "name": "start",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": false,
              "description": "The current start position from which iteration will start.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {
            "PagingModel": {
              "name": "PagingModel",
              "args": [
                {
                  "name": "elements",
                  "description": "the iterator containing the model elements.",
                  "class": {
                    "name": "Iterator"
                  },
                  "multiple": false
                },
                {
                  "name": "count",
                  "description": "the count of elements.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the PagingModel using the specified iterator and count value.\n Count must not be negative.\n\n Note: A valid count must be provided. The PageModel class can not be used\n if the number of elements is unknown. Without knowning the number of\n elements it still would be possible to return the elements of a particular\n page, but it would be not possible to calculate data like the total number\n of pages or to construct an URL to jump to a particular page.",
              "deprecated": false
            },
            "PagingModel0": {
              "name": "PagingModel",
              "args": [
                {
                  "name": "elements",
                  "description": "the collection containing the model elements.",
                  "class": {
                    "name": "Collection"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the PagingModel using the specified collection.",
              "deprecated": false
            }
          },
          "methods": {
            "appendPageSize": {
              "name": "appendPageSize",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to append the page size parameter to.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "pageSize",
                  "description": "the page size",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an URL that contains the page size parameter."
              },
              "description": "Returns an URL containing the page size parameter appended to the\n specified url. The name of the page size parameter is 'sz' (see\n PAGE_SIZE_PARAMETER). The start position parameter is not appended to the\n returned URL.",
              "deprecated": false
            },
            "appendPaging": {
              "name": "appendPaging",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to append the current paging position to.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL containing the current paging position."
              },
              "description": "Returns an URL by appending the current page start position and the\n current page size to the URL.",
              "deprecated": false
            },
            "appendPaging0": {
              "name": "appendPaging",
              "args": [
                {
                  "name": "url",
                  "description": "the URL to append the paging parameter to.",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                },
                {
                  "name": "position",
                  "description": "the start position.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "an URL that contains the paging parameters."
              },
              "description": "Returns an URL by appending the paging parameters for a desired\n page start position and the current page size to the specified url. The name of\n the page start position parameter is 'start' (see PAGING_START_PARAMETER)\n and the page size parameter is 'sz' (see PAGE_SIZE_PARAMETER).",
              "deprecated": false
            },
            "getCount": {
              "name": "getCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the count of the number of items in the model."
              },
              "description": "Returns the count of the number of items in the model.",
              "deprecated": false
            },
            "getCurrentPage": {
              "name": "getCurrentPage",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the index number of the current page."
              },
              "description": "Returns the index number of the current page. The page\n counting starts with 0. The method also works with a miss-aligned\n start. In that case the start is always treated as the start of\n a page.",
              "deprecated": false
            },
            "getEnd": {
              "name": "getEnd",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the index of the last element on the current page."
              },
              "description": "Returns the index of the last element on the current page.",
              "deprecated": false
            },
            "getMaxPage": {
              "name": "getMaxPage",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the maximum possible page number."
              },
              "description": "Returns the maximum possible page number. Counting for pages starts\n with 0.  The method also works with a miss-aligned start. In that case\n the returned number might be higher than ((count-1) / pageSize).",
              "deprecated": false
            },
            "getPageCount": {
              "name": "getPageCount",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the total page count."
              },
              "description": "Returns the total page count. The method also works\n with a miss-aligned start. In that case the returned number might\n be higher than (count / pageSize).",
              "deprecated": false
            },
            "getPageElements": {
              "name": "getPageElements",
              "args": [],
              "class": {
                "name": "Iterator",
                "description": "an iterator that you use to iterate through the elements of the current page."
              },
              "description": "Returns an iterator that can be used to iterate through the elements of\n the current page.\n\n In case of a collection as the page models source, the method can be\n called multiple times. Each time a fresh iterator is returned.\n\n In case of an iterator as the page models source, the method must be\n called only once. The method will always return the same iterator,\n which means the method amy return an exhausted iterator.",
              "deprecated": false
            },
            "getPageSize": {
              "name": "getPageSize",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the size of the page."
              },
              "description": "Returns the size of the page.",
              "deprecated": false
            },
            "getStart": {
              "name": "getStart",
              "args": [],
              "class": {
                "name": "Number",
                "description": "the current start position from which iteration will start."
              },
              "description": "Returns the current start position from which iteration will start.",
              "deprecated": false
            },
            "isEmpty": {
              "name": "isEmpty",
              "args": [],
              "class": {
                "name": "boolean",
                "description": "true if the model is empty, false otherwise."
              },
              "description": "Identifies if the model is empty.",
              "deprecated": false
            },
            "setPageSize": {
              "name": "setPageSize",
              "args": [
                {
                  "name": "pageSize",
                  "description": "the size of the page.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the size of the page. The page size must be greater or\n equal to 1.",
              "deprecated": false
            },
            "setStart": {
              "name": "setStart",
              "args": [
                {
                  "name": "start",
                  "description": "the current start position from which iteration will start.",
                  "class": {
                    "name": "Number"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "void",
                "description": ""
              },
              "description": "Sets the current start position from which iteration will start.",
              "deprecated": false
            }
          }
        },
        "Resource": {
          "fullClassName": "dw.web.Resource",
          "package": "dw.web",
          "description": "Library class which provides methods for retrieving messages from properties\n resource bundles which contain locale-specific strings. When your program\n needs a locale-specific String, it loads it from the resource bundle that is\n appropriate for the user's current locale. In this way, the program code is\n largely independent of the user's locale.\n <p>\n In Commerce Cloud Digital, resources are associated with the templates of a cartridge.\n These bundles consist of properties files with a common name defined in the\n template/resources directory of a site cartridge. For example:\n\n </p><ul>\n <li>templates/resources/message.properties</li>\n <li>templates/resources/message_en.properties</li>\n <li>templates/resources/message_en_US.properties</li>\n <li>templates/resources/message_de_DE.properties</li>\n </ul>\n\n Resource bundle lookup generally follows the same rules as the Java\n ResourceBundle class, where the locale used for lookup is based on the\n current request. See method javadoc for additional details.\n <p>\n Properties resource files are assumed to use the UTF-8 character\n encoding. Unicode escape sequences are also supported.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "msg": {
              "name": "msg",
              "args": [
                {
                  "name": "key",
                  "description": "resource bundle message key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the resource bundle message or the key itself if no message is defined."
              },
              "description": "Returns the message from the default properties resource bundle (base\n name \"message\") corresponding to the specified key and the request\n locale.\n\n This method is equivalent to msg(String, null).",
              "deprecated": false
            },
            "msg0": {
              "name": "msg",
              "args": [
                {
                  "name": "key",
                  "description": "resource bundle message key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "defaultMessage",
                  "description": "default message to return if no message corresponding to the key is found",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the resource bundle message or default message"
              },
              "description": "Returns the message from the default properties resource bundle (base\n name \"message\") corresponding to the specified key and the request\n locale. If no message for the key is found, returns the default message\n if it is not null, otherwise returns the key itself.\n\n This method is equivalent to msg(key, null, defaultMessage).",
              "deprecated": false
            },
            "msg01": {
              "name": "msg",
              "args": [
                {
                  "name": "key",
                  "description": "resource bundle message key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "bundleName",
                  "description": "base bundle name, if null, default bundle name, \"message\", is used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "defaultMessage",
                  "description": "default message to return if no message corresponding to the key is found and defaultMessage is not null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the resource bundle message or default message"
              },
              "description": "Returns the message from the specified properties resource bundle. The\n resource bundle is located by iterating the site cartridges and looking\n for a bundle with the specified name in the cartridge template/resources\n directory. If it finds a bundle, it tries to return a message from the\n bundle using standard Java ResourceBundle logic. If a message is found in\n that cartridge's bundle, it is returned, otherwise, the next cartridge is\n examined.\n\n The method throws an exception if the key is null.",
              "deprecated": false
            },
            "msgf": {
              "name": "msgf",
              "args": [
                {
                  "name": "key",
                  "description": "resource bundle message key",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "bundleName",
                  "description": "base bundle name, if null, default bundle name, \"message\", is used",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "defaultMessage",
                  "description": "default message to return if no message corresponding to the key is found and defaultMessage is not null",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "args",
                  "description": "optional list of arguments or a collection, which are included into the result string",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "String",
                "description": "the resource bundle message or default message"
              },
              "description": "Returns the message from the specified properties resource bundle, with\n the provided arguments substituted for the message argument placeholders\n (specified using the Java MessageFormat approach).\n\n If null is passed for the varargs argument, this method is equivalent to\n msg(key, bundleName, defaultMessage).",
              "deprecated": false
            }
          }
        },
        "URL": {
          "fullClassName": "dw.web.URL",
          "package": "dw.web",
          "description": "Represents a URL in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {},
          "methods": {
            "abs": {
              "name": "abs",
              "args": [],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Makes the URL absolute and ensures that the protocol of the request is used\n or http in a mail context.\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "append": {
              "name": "append",
              "args": [
                {
                  "name": "name",
                  "description": "The parameter name. Must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "value",
                  "description": "The parameter value. If null, then treated as empty value.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "A reference to this URL."
              },
              "description": "Append a request parameter to this URL.",
              "deprecated": false
            },
            "appendCSRFTokenBM": {
              "name": "appendCSRFTokenBM",
              "args": [],
              "class": {
                "name": "URL",
                "description": "a reference to this URL, with a CSRF token appended if applicable."
              },
              "description": "Appends, if applicable, a CSRF protection token to this URL. The CSRF token will only be appended under the following conditions:\n \n the URL is a pipeline URL\n the URL is for Business Manager\n CSRF validation is not disabled\n \n \n If a CSRF token already exists in the URL, it will be replaced with a newly generated one.",
              "deprecated": false
            },
            "host": {
              "name": "host",
              "args": [
                {
                  "name": "host",
                  "description": "The host name that is used to update the URL.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Updates the URL with the specified host name\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "http": {
              "name": "http",
              "args": [],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Makes the URL absolute and ensures that the protocol http is used.\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "https": {
              "name": "https",
              "args": [],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Makes the URL absolute and ensures that the protocol https is used.\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "relative": {
              "name": "relative",
              "args": [],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Makes the URL relative.\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "remove": {
              "name": "remove",
              "args": [
                {
                  "name": "name",
                  "description": "The parameter name. Must not be null.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "name": "URL",
                "description": "A reference to this URL."
              },
              "description": "Remove a request parameter from this URL. If the parameter is not part\n of the URL, nothing is done.",
              "deprecated": false
            },
            "siteHost": {
              "name": "siteHost",
              "args": [],
              "class": {
                "name": "URL",
                "description": "A new URL instance."
              },
              "description": "Updates the URL with the site host name\n Note: This method is not applicable for static content or image transformation\n URLs. In this case a runtime exception is thrown.",
              "deprecated": false
            },
            "toString0": {
              "name": "toString",
              "args": [],
              "class": {
                "name": "String",
                "description": "the URL as a string."
              },
              "description": "Return String representation of the URL.",
              "deprecated": false
            }
          }
        },
        "URLAction": {
          "fullClassName": "dw.web.URLAction",
          "package": "dw.web",
          "description": "The class is needed for the URL creation within template processing. It\n represents a reference to a pipeline name and start node, usually used in a\n HREF or a FORM action. URLAction instances are usually passed to one of the\n methods in <a href=\"class_dw_web_URLUtils.html\">URLUtils</a> in order to generate an appropriately\n constructed Commerce Cloud Digital URL.  For example:\n <p>\n <code>\n  var urlAction : URLAction = new URLAction(\"SimplePipeline-Start\", \"SampleSite\");<br>\n  var url : URL = URLUtils.abs(false, urlAction1);<br>\n  // url.toString() equals \"http://\" + request.httpHost + \"/on/demandware.store/Sites-SampleSite-Site/default/SimplePipeline-Start\"<br>\n </code></p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "URLAction": {
              "name": "URLAction",
              "args": [
                {
                  "name": "action",
                  "description": "the target pipeline/controller, e.g. 'Default-Start'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs an action for the current site and locale.",
              "deprecated": false
            },
            "URLAction0": {
              "name": "URLAction",
              "args": [
                {
                  "name": "action",
                  "description": "the target pipeline/controller, e.g. 'Default-Start'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "siteName",
                  "description": "the target site, e.g. 'SampleSite'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs an action for the specified site and the current locale.",
              "deprecated": false
            },
            "URLAction01": {
              "name": "URLAction",
              "args": [
                {
                  "name": "action",
                  "description": "the target pipeline/controller, e.g.: 'Default-Start'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "siteName",
                  "description": "the target site, e.g. 'SampleSite'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the target locale, e.g. 'default'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs an action for the specified site and locale.",
              "deprecated": false
            },
            "URLAction012": {
              "name": "URLAction",
              "args": [
                {
                  "name": "action",
                  "description": "the target pipeline/controller, e.g.: 'Default-Start'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "siteName",
                  "description": "the target site, e.g. 'SampleSite'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "locale",
                  "description": "the target locale, e.g. 'default'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "hostName",
                  "description": "the host name, e.g. ‘www.shop.com'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs an URL action for the specified site, locale and hostname. \n The hostname must be defined in the site alias settings. If no hostname is provided, the HTTP/HTTPS\n host defined in the site alias settings will be used. If no HTTP/HTTPS host is defined in the site alias\n settings, the hostname of the current request is used.",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "URLParameter": {
          "fullClassName": "dw.web.URLParameter",
          "package": "dw.web",
          "description": "This class represents a key-value-pair for URL parameters.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {},
          "constructors": {
            "URLParameter": {
              "name": "URLParameter",
              "args": [
                {
                  "name": "aName",
                  "description": "the name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "aValue",
                  "description": "the value",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the parameter using the specified name and value and endocded\n in the form \"name=value\".",
              "deprecated": false
            },
            "URLParameter0": {
              "name": "URLParameter",
              "args": [
                {
                  "name": "aName",
                  "description": "the name",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "aValue",
                  "description": "the value",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "encodeName",
                  "description": "if true, the name will be part of the string form",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                }
              ],
              "class": {
                "description": ""
              },
              "description": "Constructs the parameter using the specified name and value. If the \"encodeName\" is set to true,\n the parameter is encoded in the form \"name=value\". Otherwise, it only\n contains the \"value\" (needed for URL patterns).",
              "deprecated": false
            }
          },
          "methods": {}
        },
        "URLRedirect": {
          "fullClassName": "dw.web.URLRedirect",
          "package": "dw.web",
          "description": "Represents a URLRedirect in Commerce Cloud Digital.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "location": {
              "name": "location",
              "class": {
                "name": "String"
              },
              "static": false,
              "readonly": true,
              "description": "The URL which was calculated to be the redirect URL.\n The Location parameter can be directly used as value for an redirect location.",
              "deprecated": false,
              "type": "property"
            },
            "status": {
              "name": "status",
              "class": {
                "name": "Number"
              },
              "static": false,
              "readonly": true,
              "description": "The corresponding status code for the redirect location.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getLocation": {
              "name": "getLocation",
              "args": [],
              "class": {
                "name": "String",
                "description": "redirect location"
              },
              "description": "Returns the URL which was calculated to be the redirect URL.\n The Location parameter can be directly used as value for an redirect location.",
              "deprecated": false
            },
            "getStatus": {
              "name": "getStatus",
              "args": [],
              "class": {
                "name": "Number",
                "description": "status code"
              },
              "description": "Returns the corresponding status code for the redirect location.",
              "deprecated": false
            }
          }
        },
        "URLRedirectMgr": {
          "fullClassName": "dw.web.URLRedirectMgr",
          "package": "dw.web",
          "description": "URLRedirect manager class. Methods in this class generate URLRedirects based on the\n current configuration for Static, Dynamic and URLRedirect mappings in Commerce\n Cloud Digital.\n\n Information used to calculate URLRedirects are determined from the current HTTP\n request. The URL which is used to find a redirect can be accessed with <a href=\"class_dw_web_URLRedirectMgr.html#dw_web_URLRedirectMgr_getRedirectOrigin_DetailAnchor\">getRedirectOrigin()</a>.",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {},
          "properties": {
            "redirect": {
              "name": "redirect",
              "class": {
                "name": "URLRedirect"
              },
              "static": true,
              "readonly": true,
              "description": "An URLRedirect object, containing a location and status. The redirect is calculated\n based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for\n the requested site.",
              "deprecated": false,
              "type": "property"
            },
            "redirectOrigin": {
              "name": "redirectOrigin",
              "class": {
                "name": "String"
              },
              "static": true,
              "readonly": true,
              "description": "The relative origin url (without protocol, port, hostname and site path information)\n which will be used in getRedirect() to calculate a redirect location for.",
              "deprecated": false,
              "type": "property"
            }
          },
          "constructors": {},
          "methods": {
            "getRedirect": {
              "name": "getRedirect",
              "args": [],
              "static": true,
              "class": {
                "name": "URLRedirect",
                "description": "URLRedirect containing the location and status code, null in case of no redirect was found"
              },
              "description": "Returns an URLRedirect object, containing a location and status. The redirect is calculated\n based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for\n the requested site.",
              "deprecated": false
            },
            "getRedirectOrigin": {
              "name": "getRedirectOrigin",
              "args": [],
              "static": true,
              "class": {
                "name": "String",
                "description": "relative origin url"
              },
              "description": "Returns the relative origin url (without protocol, port, hostname and site path information)\n which will be used in getRedirect() to calculate a redirect location for.",
              "deprecated": false
            }
          }
        },
        "URLUtils": {
          "fullClassName": "dw.web.URLUtils",
          "package": "dw.web",
          "description": "URL utility class. Methods in this class generate URLs used in Commerce Cloud Digital.<p>\n\n Site related information in the generated URLs is determined from the current HTTP request.</p><p>\n\n Methods belong to two groups: generating absolute and relative URLs. Absolute URL methods\n are further subdivided into those creating URLs with specified protocol and those\n using protocol information from the request. Corresponding to the protocol, the host name\n from the HTTP/HTTPS host preference is used. If preference is not set, the host name from the\n current request is included in resulting absolute URL.</p><p>\n\n URLs do not include a session ID anymore. The appendSID argument therefore does not have any effect.</p><p>\n\n When creating a pipeline URL with one of the methods url(), http(), https() or abs() by default\n the generated URL is a Commerce Cloud Digital URL (\"/on/demandware.store/...\"). If search friendly URLs are\n enabled (old or new) the methods generate search friendly URLs. Search friendly URLs are only generated for\n certain pipeline names. Here a list of these pipeline names:\n </p><ul>\n <li>Product-Show with a 'pid' parameter [productID] - search friendly URL for a product</li>\n <li>Product-ShowInCategory with the 'cgid' parameter [categoryID] and 'pid' parameter [productID] - search friendly URL for a product shown in a specific category</li>\n <li>Search-Show with a 'cgid' parameter [categoryID] - search friendly URL for a category</li>\n <li>Search-Show with a 'pid' parameter [productID] - search friendly URL for a product</li>\n <li>Search-ShowContent with a 'fdid' parameter [folderID] - search friendly URL for a folder (ONLY works with new storefront URLs)</li>\n <li>Page-Show with a 'cid' parameter [contentID] - search friendly URL for a content page</li>\n </ul>\n\n Parameter <code>transform</code>:<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 is returned.\n The to-be-transformed image needs to be hosted on 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 the\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 source image file is references with attribute\n         <code>relPath</code>. Source image's format is recognized by the\n         file extension which must be <code>tif</code>, <code>tiff</code>,\n         <code>jpg</code>, <code>jpeg</code>, <code>png</code>, or\n         <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 = URLUtils.imageURL('/somepath/image.png', {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/.../somepath/image.jpg?sw=100&amp;sfrm=png</code>.</p>",
          "hierarchy": [
            {
              "name": "Object"
            }
          ],
          "constants": {
            "CONTEXT_CATALOG": {
              "name": "CONTEXT_CATALOG",
              "value": "\"ContextCatalog\"",
              "class": {
                "name": "String"
              },
              "description": "ID for a catalog context. See staticURL() method.",
              "deprecated": false,
              "type": "constant"
            },
            "CONTEXT_LIBRARY": {
              "name": "CONTEXT_LIBRARY",
              "value": "\"ContextLibrary\"",
              "class": {
                "name": "String"
              },
              "description": "ID for a library context. See staticURL() method.",
              "deprecated": false,
              "type": "constant"
            },
            "CONTEXT_SITE": {
              "name": "CONTEXT_SITE",
              "value": "\"ContextSite\"",
              "class": {
                "name": "String"
              },
              "description": "ID for a site context (= assigned cartridges). See staticURL() method.",
              "deprecated": false,
              "type": "constant"
            }
          },
          "properties": {},
          "constructors": {},
          "methods": {
            "abs": {
              "name": "abs",
              "args": [
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with protocol and host from the current request."
              },
              "description": "Return an absolute URL with protocol and host from the current request.",
              "deprecated": false
            },
            "abs0": {
              "name": "abs",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with protocol and host from current request."
              },
              "description": "Return an absolute URL with protocol and host from current request.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding abs() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "abs01": {
              "name": "abs",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, for example: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with protocol and host from current request."
              },
              "description": "Return an absolute URL with protocol and host from current request.",
              "deprecated": false
            },
            "abs012": {
              "name": "abs",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with protocol and host from current request."
              },
              "description": "Return an absolute URL with protocol and host from current request.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding method abs() without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "absImage": {
              "name": "absImage",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to absStatic( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "absImage0": {
              "name": "absImage",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified image resource"
              },
              "description": "Similar to absStatic( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "absStatic": {
              "name": "absStatic",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the absolute URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The contextID parameter is optional and only used for context CONTEXT_CATALOG, where\n is specifies the ID of a specific catalog. If defined, the static URL for the specified\n catalog is returned. If not defined, the static URL for the current site catalog\n is returned (or null if no site catalog is defined). \n For context CONTEXT_SITE and context CONTEXT_LIBRARY, the contextID parameter is\n ignored and the static URL for the current site / site library is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an absolute URL with the same protocol as the current request.",
              "deprecated": false
            },
            "absStatic0": {
              "name": "absStatic",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n\n The created URL is an absolute URL with same protocol as the current incoming\n request.\n\n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "absWebRoot": {
              "name": "absWebRoot",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute web root URL with protocol, host from current request."
              },
              "description": "Return an absolute web root URL with protocol and host same as the current request.\n\n Note: The use of this method is deprecated. The method absStatic() should\n be used instead. It provides better cache integration.",
              "deprecated": true
            },
            "continueURL": {
              "name": "continueURL",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with protocol and host from current context request."
              },
              "description": "Return a URL, which can be used in combination with an Interaction Continue Node, to\n continue the user interface flow.",
              "deprecated": false
            },
            "home": {
              "name": "home",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a hostname-only url if an alias is set, or an url to the Home-Show pipeline in the default format using the protocol of the incoming request."
              },
              "description": "Generates a hostname-only url if an alias is set, or an url to the Home-Show\n   pipeline in the default format using the protocol of the incoming request.",
              "deprecated": false
            },
            "http": {
              "name": "http",
              "args": [
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTP protocol."
              },
              "description": "Return an absolute URL with HTTP protocol. If an HTTP host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "http0": {
              "name": "http",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTP protocol."
              },
              "description": "Return an absolute URL with HTTP protocol. If an HTTP host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding http() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "http01": {
              "name": "http",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTP protocol."
              },
              "description": "Return an absolute URL with HTTP protocol. If an HTTP host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "http012": {
              "name": "http",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTP protocol."
              },
              "description": "Return an absolute URL with HTTP protocol. If an HTTP host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding http() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "httpContinue": {
              "name": "httpContinue",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTP protocol."
              },
              "description": "Return a URL, which can be used in combination with an Interaction Continue Node, to\n continue the user interface flow. For security reasons the httpContinue() function returns\n a HTTPS continue URL if the interaction flow has started with a HTTPS request. Otherwise a\n HTTP continue URL is returned.\n If an HTTP/HTTPS host is configured in the preferences the returned URL will include that\n host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "httpHome": {
              "name": "httpHome",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a hostname-only url if an alias is set, or an url to the Home-Show pipeline in the default format using the HTTP protocol."
              },
              "description": "Generates a hostname-only url if an alias is set, or an url to the Home-Show\n   pipeline in the default format using the HTTP protocol.",
              "deprecated": false
            },
            "httpImage": {
              "name": "httpImage",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to httpStatic( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "httpImage0": {
              "name": "httpImage",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to httpStatic( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.",
              "deprecated": false
            },
            "httpImage01": {
              "name": "httpImage",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "Similar to httpStatic( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "httpImage012": {
              "name": "httpImage",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "Similar to httpStatic( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.",
              "deprecated": false
            },
            "https": {
              "name": "https",
              "args": [
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTPS protocol."
              },
              "description": "Return an absolute URL with HTTPS protocol. If an HTTPS host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "https0": {
              "name": "https",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTPS protocol."
              },
              "description": "Return an absolute URL with HTTPS protocol. If an HTTPS host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding https() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "https01": {
              "name": "https",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTPS protocol."
              },
              "description": "Return an absolute URL with HTTPS protocol. If an HTTPS host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "https012": {
              "name": "https",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTPS protocol."
              },
              "description": "Return an absolute URL with HTTPS protocol. If an HTTPS host is configured in the preferences\n the returned URL will include that host, otherwise, the host from current request is used.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding https() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "httpsContinue": {
              "name": "httpsContinue",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL with HTTPS protocol."
              },
              "description": "Return a URL, which can be used in combination with an Interaction Continue Node, to\n continue the user interface flow. An absolute URL with HTTPS protocol is returned.\n If an HTTPS host is configured in the preferences the returned URL will include that\n host, otherwise, the host from current request is used.",
              "deprecated": false
            },
            "httpsHome": {
              "name": "httpsHome",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a hostname-only url if an alias is set, or an url to the Home-Show pipeline in the default format using the HTTPS protocol.."
              },
              "description": "Generates a hostname-only url if an alias is set, or an url to the Home-Show\n   pipeline in the default format using the HTTPS protocol.",
              "deprecated": false
            },
            "httpsImage": {
              "name": "httpsImage",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to httpsStatic( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "httpsImage0": {
              "name": "httpsImage",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to httpsStatic( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.",
              "deprecated": false
            },
            "httpsImage01": {
              "name": "httpsImage",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "Similar to httpsStatic( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.",
              "deprecated": false
            },
            "httpsImage012": {
              "name": "httpsImage",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "Similar to httpsStatic( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.",
              "deprecated": false
            },
            "httpsStatic": {
              "name": "httpsStatic",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the absolute URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The contextID parameter is optional and only used for context CONTEXT_CATALOG, where\n is specifies the ID of a specific catalog. If defined, the static URL for the specified\n catalog is returned. If not defined, the static URL for the current site catalog\n is returned (or null if no site catalog is defined). \n For context CONTEXT_SITE and context CONTEXT_LIBRARY, the contextID parameter is\n ignored and the static URL for the current site / site library is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an absolute URL with HTTPS protocol.",
              "deprecated": false
            },
            "httpsStatic0": {
              "name": "httpsStatic",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the absolute URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.\n \n The contextID parameter is optional and only used for context CONTEXT_CATALOG, where\n is specifies the ID of a specific catalog. If defined, the static URL for the specified\n catalog is returned. If not defined, the static URL for the current site catalog\n is returned (or null if no site catalog is defined). \n For context CONTEXT_SITE and context CONTEXT_LIBRARY, the contextID parameter is\n ignored and the static URL for the current site / site library is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an absolute URL with HTTPS protocol.",
              "deprecated": false
            },
            "httpsStatic01": {
              "name": "httpsStatic",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n \n The created URL is an absolute URL with HTTPS protocol.\n \n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "httpsStatic012": {
              "name": "httpsStatic",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.\n \n The created URL is an absolute URL with HTTPS protocol.\n \n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "httpStatic": {
              "name": "httpStatic",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the absolute URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The contextID parameter is optional and only used for context CONTEXT_CATALOG, where\n is specifies the ID of a specific catalog. If defined, the static URL for the specified\n catalog is returned. If not defined, the static URL for the current site catalog\n is returned (or null if no site catalog is defined). \n For context CONTEXT_SITE and context CONTEXT_LIBRARY, the contextID parameter is\n ignored and the static URL for the current site / site library is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an absolute URL with HTTP protocol.",
              "deprecated": false
            },
            "httpStatic0": {
              "name": "httpStatic",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the absolute URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.\n \n The contextID parameter is optional and only used for context CONTEXT_CATALOG, where\n is specifies the ID of a specific catalog. If defined, the static URL for the specified\n catalog is returned. If not defined, the static URL for the current site catalog\n is returned (or null if no site catalog is defined). \n For context CONTEXT_SITE and context CONTEXT_LIBRARY, the contextID parameter is\n ignored and the static URL for the current site / site library is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an absolute URL with HTTP protocol.",
              "deprecated": false
            },
            "httpStatic01": {
              "name": "httpStatic",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n \n The created URL is an absolute URL with HTTP protocol.\n \n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "httpStatic012": {
              "name": "httpStatic",
              "args": [
                {
                  "name": "host",
                  "description": "Optional host name, used to set the host explicitly.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n \n The host parameter is optional. If provided, then this host name will be used\n in precedence to the host name provided by the current request. The specified host\n name must be defined in the alias settings for the site, otherwise an exception will\n be thrown.\n \n The created URL is an absolute URL with HTTP protocol.\n \n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "httpsWebRoot": {
              "name": "httpsWebRoot",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute web root URL with HTTPS protocol and host information from the current request."
              },
              "description": "Return an absolute web root URL with HTTPS protocol and host and domain information from the current\n request. If an HTTP host is configured in the preferences the returned URL will include that host.\n\n Note: The use of this method is deprecated. The method httpsStatic() should\n be used instead. It provides better cache integration.",
              "deprecated": true
            },
            "httpWebRoot": {
              "name": "httpWebRoot",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute web root URL with HTTP protocol and host information from the current request."
              },
              "description": "Return an absolute web root URL with HTTP protocol and host information from current\n request. If an HTTP host is configured in the preferences the returned URL will include\n that host.\n\n Note: The use of this method is deprecated. The method httpStatic() should\n be used instead. It provides better cache integration.",
              "deprecated": true
            },
            "imageURL": {
              "name": "imageURL",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Similar to staticURL( String, String, String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n\n The URL returned is always an absolute URL.",
              "deprecated": false
            },
            "imageURL0": {
              "name": "imageURL",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "transform",
                  "description": "Object with transformation parameters (see class header)",
                  "class": {
                    "name": "Object"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "Similar to staticURL( String ) this method returns a static URL for a resource\n in the current site. The method assumes, that the URL refers to an image an\n supports an additional parameter with optional image transformation parameters.\n The image transformation parameters must be specified as JavaScript object literal.\n\n The URL returned is always an absolute URL.",
              "deprecated": false
            },
            "sessionRedirect": {
              "name": "sessionRedirect",
              "args": [
                {
                  "name": "host",
                  "description": "Target host with or without a site-path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "url",
                  "description": "Target URL on current site (relative or absolute), pass null to redirect to new host only",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute secure URL to the redirect mechanism"
              },
              "description": "This method is used to create a URL that redirects to a location in\n the current site with another host name. When the URL is submitted,\n the system copies all system cookies, such that user, session and basket\n information are shared across different hosts. \n The specified host name must be defined in the alias settings for the site,\n otherwise an exception will be thrown when submitting the redirect URL.\n If the specified host is the same as the current host, the method will return\n a \"normal\" URL because no redirect is required.",
              "deprecated": false
            },
            "sessionRedirectHttpOnly": {
              "name": "sessionRedirectHttpOnly",
              "args": [
                {
                  "name": "host",
                  "description": "Target host with or without a site-path",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "url",
                  "description": "Target URL on current site (relative or absolute), pass null to redirect to new host only",
                  "class": {
                    "name": "URL"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "an absolute URL to the redirect mechanism"
              },
              "description": "This method is used to create a URL that redirects to a location in\n the current site with another host name. When the URL is submitted,\n the system copies all system cookies, such that user, session and basket\n information are shared across different hosts. \n The specified host name must be defined in the alias settings for the site,\n otherwise an exception will be thrown when submitting the redirect URL.\n If the specified host is the same as the current host, the method will return\n a \"normal\" URL because no redirect is required.\n\n Note: since this method generates a non-secure (HTTP) link, no\n HTTPS Cookies are copied, which might lead to sessions being incorrectly being\n detected as hijacked. It is strongly recommended to use sessionRedirect(String, URL)\n where possible.",
              "deprecated": false
            },
            "staticURL": {
              "name": "staticURL",
              "args": [
                {
                  "name": "context",
                  "description": "Either CONTEXT_CATALOG, CONTEXT_LIBRARY or CONTEXT_SITE",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "contextID",
                  "description": "Optional context id, currently only used to specify a catalog id or a shared library id",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "relPath",
                  "description": "Relative path within the catalog or library or site",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "URL for the specified location"
              },
              "description": "Returns the relative URL to the static location of the specified context. The context\n can be either a specific catalog (URLUtils.CONTEXT_CATALOG),\n a content library (URLUtils.CONTEXT_LIBRARY) or a site (URLUtils.CONTEXT_SITE).\n Respectively either a URL to images in a catalog, a library or a site are created.\n \n The contextID parameter is optional and can be used with context either CONTEXT_CATALOG or CONTEXT_LIBRARY, where\n it specifies the ID of a specific catalog or a shared library respectively. If defined, the static URL for the specified\n catalog/shared library is returned. If not defined, the static URL for the current site catalog/site library\n is returned (or null if no site catalog/site library is defined). \n For context CONTEXT_SITE, the contextID parameter is ignored and the static URL for the current site is returned.\n \n Parameter relPath can be defined to specify the relative path within the context-specific\n path.\n \n The method returns an relative URL with the same protocol as the current request.",
              "deprecated": false
            },
            "staticURL0": {
              "name": "staticURL",
              "args": [
                {
                  "name": "relPath",
                  "description": "the relative path of the file",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "the URL for the specified location"
              },
              "description": "The method returns a static URL for a resource in the current site. Site\n resources are actually located in the cartridges associated with the site.\n This resources are typically logos, button images, CSS files and JavaScript\n files. The method will transform the given relative path to include cache\n related information, which enables better cache control.\n\n The created URL is a relative URL.\n\n Note: This method replaces the original mechanisms of using the webroot()\n method to construct a URL. The new method is better integrated into the\n overall cache management.",
              "deprecated": false
            },
            "url": {
              "name": "url",
              "args": [
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a relative URL."
              },
              "description": "Return a relative URL.",
              "deprecated": false
            },
            "url0": {
              "name": "url",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "URL action",
                  "class": {
                    "name": "URLAction"
                  },
                  "multiple": false
                },
                {
                  "name": "params",
                  "description": "URL parameters",
                  "class": {
                    "name": "URLParameter"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a relative URL."
              },
              "description": "Return a relative URL.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding url() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "url01": {
              "name": "url",
              "args": [
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs , e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a relative URL."
              },
              "description": "Return a relative URL.",
              "deprecated": false
            },
            "url012": {
              "name": "url",
              "args": [
                {
                  "name": "appendSID",
                  "description": "when true the resulting URL will include session ID.",
                  "class": {
                    "name": "boolean"
                  },
                  "multiple": false
                },
                {
                  "name": "action",
                  "description": "the pipeline, which should be invoked, e.g.: 'Pipeline-StartNode'",
                  "class": {
                    "name": "String"
                  },
                  "multiple": false
                },
                {
                  "name": "namesAndParams",
                  "description": "several strings with name=value pairs, e.g.: 'pid', 'value1', 'cgid', value2'.",
                  "class": {
                    "name": "String"
                  },
                  "multiple": true
                }
              ],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a relative URL."
              },
              "description": "Return a relative URL.\n\n Note: The use of this method is deprecated, because session URL rewriting\n       is no longer supported. Use the corresponding url() method without the\n       appendSID parameter instead.",
              "deprecated": true
            },
            "webRoot": {
              "name": "webRoot",
              "args": [],
              "static": true,
              "class": {
                "name": "URL",
                "description": "a relative web root URL."
              },
              "description": "Return a relative web root URL. A web root URL is used to access all static\n media context for the site. The actual media file can be referenced by appending\n a relative path.\n\n Note: The use of this method is deprecated. The method staticURL() should\n be used instead. It provides better cache integration.",
              "deprecated": true
            }
          }
        }
      },
      "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",
    "PercentageDiscount": "dw.campaign.PercentageDiscount",
    "PercentageOptionDiscount": "dw.campaign.PercentageOptionDiscount",
    "PriceBookPriceDiscount": "dw.campaign.PriceBookPriceDiscount",
    "Promotion": "dw.campaign.Promotion",
    "PromotionMgr": "dw.campaign.PromotionMgr",
    "PromotionPlan": "dw.campaign.PromotionPlan",
    "SlotContent": "dw.campaign.SlotContent",
    "SourceCodeGroup": "dw.campaign.SourceCodeGroup",
    "SourceCodeInfo": "dw.campaign.SourceCodeInfo",
    "SourceCodeStatusCodes": "dw.campaign.SourceCodeStatusCodes",
    "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",
    "ProductMgr": "dw.catalog.ProductMgr",
    "ProductOption": "dw.catalog.ProductOption",
    "ProductOptionModel": "dw.catalog.ProductOptionModel",
    "ProductOptionValue": "dw.catalog.ProductOptionValue",
    "ProductPriceInfo": "dw.catalog.ProductPriceInfo",
    "ProductPriceModel": "dw.catalog.ProductPriceModel",
    "ProductPriceTable": "dw.catalog.ProductPriceTable",
    "ProductSearchHit": "dw.catalog.ProductSearchHit",
    "ProductSearchModel": "dw.catalog.ProductSearchModel",
    "ProductSearchRefinementDefinition": "dw.catalog.ProductSearchRefinementDefinition",
    "ProductSearchRefinementValue": "dw.catalog.ProductSearchRefinementValue",
    "ProductSearchRefinements": "dw.catalog.ProductSearchRefinements",
    "ProductVariationAttribute": "dw.catalog.ProductVariationAttribute",
    "ProductVariationAttributeValue": "dw.catalog.ProductVariationAttributeValue",
    "ProductVariationModel": "dw.catalog.ProductVariationModel",
    "Recommendation": "dw.catalog.Recommendation",
    "SearchModel": "dw.catalog.SearchModel",
    "SearchRefinementDefinition": "dw.catalog.SearchRefinementDefinition",
    "SearchRefinementValue": "dw.catalog.SearchRefinementValue",
    "SearchRefinements": "dw.catalog.SearchRefinements",
    "SortingOption": "dw.catalog.SortingOption",
    "SortingRule": "dw.catalog.SortingRule",
    "Store": "dw.catalog.Store",
    "StoreGroup": "dw.catalog.StoreGroup",
    "StoreMgr": "dw.catalog.StoreMgr",
    "Variant": "dw.catalog.Variant",
    "VariationGroup": "dw.catalog.VariationGroup",
    "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",
    "SecureRandom": "dw.crypto.SecureRandom",
    "Signature": "dw.crypto.Signature",
    "WeakCipher": "dw.crypto.WeakCipher",
    "WeakMac": "dw.crypto.WeakMac",
    "WeakMessageDigest": "dw.crypto.WeakMessageDigest",
    "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",
    "OrderHistory": "dw.customer.OrderHistory",
    "ProductList": "dw.customer.ProductList",
    "ProductListItem": "dw.customer.ProductListItem",
    "ProductListItemPurchase": "dw.customer.ProductListItemPurchase",
    "ProductListMgr": "dw.customer.ProductListMgr",
    "ProductListRegistrant": "dw.customer.ProductListRegistrant",
    "Profile": "dw.customer.Profile",
    "Wallet": "dw.customer.Wallet",
    "OAuthAccessTokenResponse": "dw.customer.oauth.OAuthAccessTokenResponse",
    "OAuthFinalizedResponse": "dw.customer.oauth.OAuthFinalizedResponse",
    "OAuthLoginFlowMgr": "dw.customer.oauth.OAuthLoginFlowMgr",
    "OAuthUserInfoResponse": "dw.customer.oauth.OAuthUserInfoResponse",
    "AspectAttributeValidationException": "dw.experience.AspectAttributeValidationException",
    "Component": "dw.experience.Component",
    "ComponentRenderSettings": "dw.experience.ComponentRenderSettings",
    "ComponentScriptContext": "dw.experience.ComponentScriptContext",
    "CustomEditor": "dw.experience.CustomEditor",
    "CustomEditorResources": "dw.experience.CustomEditorResources",
    "Page": "dw.experience.Page",
    "PageMgr": "dw.experience.PageMgr",
    "PageScriptContext": "dw.experience.PageScriptContext",
    "Region": "dw.experience.Region",
    "RegionRenderSettings": "dw.experience.RegionRenderSettings",
    "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",
    "PaymentApiHooks": "dw.extensions.paymentapi.PaymentApiHooks",
    "PaymentRequestHookResult": "dw.extensions.paymentrequest.PaymentRequestHookResult",
    "PaymentRequestHooks": "dw.extensions.paymentrequest.PaymentRequestHooks",
    "SalesforcePayPalOrder": "dw.extensions.payments.SalesforcePayPalOrder",
    "SalesforcePayPalOrderAddress": "dw.extensions.payments.SalesforcePayPalOrderAddress",
    "SalesforcePayPalOrderPayer": "dw.extensions.payments.SalesforcePayPalOrderPayer",
    "SalesforcePaymentIntent": "dw.extensions.payments.SalesforcePaymentIntent",
    "SalesforcePaymentMethod": "dw.extensions.payments.SalesforcePaymentMethod",
    "SalesforcePaymentRequest": "dw.extensions.payments.SalesforcePaymentRequest",
    "SalesforcePaymentsHooks": "dw.extensions.payments.SalesforcePaymentsHooks",
    "SalesforcePaymentsMgr": "dw.extensions.payments.SalesforcePaymentsMgr",
    "SalesforcePaymentsSiteConfiguration": "dw.extensions.payments.SalesforcePaymentsSiteConfiguration",
    "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",
    "OutputStream": "dw.io.OutputStream",
    "PrintWriter": "dw.io.PrintWriter",
    "RandomAccessFileReader": "dw.io.RandomAccessFileReader",
    "Reader": "dw.io.Reader",
    "StringWriter": "dw.io.StringWriter",
    "Writer": "dw.io.Writer",
    "XMLIndentingStreamWriter": "dw.io.XMLIndentingStreamWriter",
    "XMLStreamConstants": "dw.io.XMLStreamConstants",
    "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",
    "SFTPClient": "dw.net.SFTPClient",
    "SFTPFileInfo": "dw.net.SFTPFileInfo",
    "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",
    "ObjectAttributeDefinition": "dw.object.ObjectAttributeDefinition",
    "ObjectAttributeGroup": "dw.object.ObjectAttributeGroup",
    "ObjectAttributeValueDefinition": "dw.object.ObjectAttributeValueDefinition",
    "ObjectTypeDefinition": "dw.object.ObjectTypeDefinition",
    "PersistentObject": "dw.object.PersistentObject",
    "SimpleExtensible": "dw.object.SimpleExtensible",
    "SystemObjectMgr": "dw.object.SystemObjectMgr",
    "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",
    "Order": "dw.order.Order",
    "OrderAddress": "dw.order.OrderAddress",
    "OrderItem": "dw.order.OrderItem",
    "OrderMgr": "dw.order.OrderMgr",
    "OrderPaymentInstrument": "dw.order.OrderPaymentInstrument",
    "OrderProcessStatusCodes": "dw.order.OrderProcessStatusCodes",
    "PaymentCard": "dw.order.PaymentCard",
    "PaymentInstrument": "dw.order.PaymentInstrument",
    "PaymentMethod": "dw.order.PaymentMethod",
    "PaymentMgr": "dw.order.PaymentMgr",
    "PaymentProcessor": "dw.order.PaymentProcessor",
    "PaymentStatusCodes": "dw.order.PaymentStatusCodes",
    "PaymentTransaction": "dw.order.PaymentTransaction",
    "PriceAdjustment": "dw.order.PriceAdjustment",
    "PriceAdjustmentLimitTypes": "dw.order.PriceAdjustmentLimitTypes",
    "ProductLineItem": "dw.order.ProductLineItem",
    "ProductShippingCost": "dw.order.ProductShippingCost",
    "ProductShippingLineItem": "dw.order.ProductShippingLineItem",
    "ProductShippingModel": "dw.order.ProductShippingModel",
    "Return": "dw.order.Return",
    "ReturnCase": "dw.order.ReturnCase",
    "ReturnCaseItem": "dw.order.ReturnCaseItem",
    "ReturnItem": "dw.order.ReturnItem",
    "Shipment": "dw.order.Shipment",
    "ShipmentShippingCost": "dw.order.ShipmentShippingCost",
    "ShipmentShippingModel": "dw.order.ShipmentShippingModel",
    "ShippingLineItem": "dw.order.ShippingLineItem",
    "ShippingLocation": "dw.order.ShippingLocation",
    "ShippingMethod": "dw.order.ShippingMethod",
    "ShippingMgr": "dw.order.ShippingMgr",
    "ShippingOrder": "dw.order.ShippingOrder",
    "ShippingOrderItem": "dw.order.ShippingOrderItem",
    "SumItem": "dw.order.SumItem",
    "TaxGroup": "dw.order.TaxGroup",
    "TaxItem": "dw.order.TaxItem",
    "TaxMgr": "dw.order.TaxMgr",
    "TrackingInfo": "dw.order.TrackingInfo",
    "TrackingRef": "dw.order.TrackingRef",
    "CalculateHooks": "dw.order.hooks.CalculateHooks",
    "OrderHooks": "dw.order.hooks.OrderHooks",
    "PaymentHooks": "dw.order.hooks.PaymentHooks",
    "ReturnHooks": "dw.order.hooks.ReturnHooks",
    "ShippingOrderHooks": "dw.order.hooks.ShippingOrderHooks",
    "SOAPUtil": "dw.rpc.SOAPUtil",
    "Stub": "dw.rpc.Stub",
    "WebReference": "dw.rpc.WebReference",
    "SitemapFile": "dw.sitemap.SitemapFile",
    "SitemapMgr": "dw.sitemap.SitemapMgr",
    "BrandSuggestions": "dw.suggest.BrandSuggestions",
    "CategorySuggestions": "dw.suggest.CategorySuggestions",
    "ContentSuggestions": "dw.suggest.ContentSuggestions",
    "CustomSuggestions": "dw.suggest.CustomSuggestions",
    "ProductSuggestions": "dw.suggest.ProductSuggestions",
    "SearchPhraseSuggestions": "dw.suggest.SearchPhraseSuggestions",
    "SuggestModel": "dw.suggest.SuggestModel",
    "SuggestedCategory": "dw.suggest.SuggestedCategory",
    "SuggestedContent": "dw.suggest.SuggestedContent",
    "SuggestedPhrase": "dw.suggest.SuggestedPhrase",
    "SuggestedProduct": "dw.suggest.SuggestedProduct",
    "SuggestedTerm": "dw.suggest.SuggestedTerm",
    "SuggestedTerms": "dw.suggest.SuggestedTerms",
    "Suggestions": "dw.suggest.Suggestions",
    "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",
    "Result": "dw.svc.Result",
    "SOAPService": "dw.svc.SOAPService",
    "SOAPServiceDefinition": "dw.svc.SOAPServiceDefinition",
    "Service": "dw.svc.Service",
    "ServiceCallback": "dw.svc.ServiceCallback",
    "ServiceConfig": "dw.svc.ServiceConfig",
    "ServiceCredential": "dw.svc.ServiceCredential",
    "ServiceDefinition": "dw.svc.ServiceDefinition",
    "ServiceProfile": "dw.svc.ServiceProfile",
    "ServiceRegistry": "dw.svc.ServiceRegistry",
    "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",
    "OrganizationPreferences": "dw.system.OrganizationPreferences",
    "Pipeline": "dw.system.Pipeline",
    "PipelineDictionary": "dw.system.PipelineDictionary",
    "Request": "dw.system.Request",
    "RequestHooks": "dw.system.RequestHooks",
    "Response": "dw.system.Response",
    "Session": "dw.system.Session",
    "Site": "dw.system.Site",
    "SitePreferences": "dw.system.SitePreferences",
    "Status": "dw.system.Status",
    "StatusItem": "dw.system.StatusItem",
    "System": "dw.system.System",
    "Transaction": "dw.system.Transaction",
    "ISML": "dw.template.ISML",
    "Velocity": "dw.template.Velocity",
    "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",
    "PropertyComparator": "dw.util.PropertyComparator",
    "SecureEncoder": "dw.util.SecureEncoder",
    "SecureFilter": "dw.util.SecureFilter",
    "SeekableIterator": "dw.util.SeekableIterator",
    "Set": "dw.util.Set",
    "SortedMap": "dw.util.SortedMap",
    "SortedSet": "dw.util.SortedSet",
    "StringUtils": "dw.util.StringUtils",
    "Template": "dw.util.Template",
    "UUIDUtils": "dw.util.UUIDUtils",
    "EnumValue": "dw.value.EnumValue",
    "MimeEncodedText": "dw.value.MimeEncodedText",
    "Money": "dw.value.Money",
    "Quantity": "dw.value.Quantity",
    "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",
    "PageMetaData": "dw.web.PageMetaData",
    "PageMetaTag": "dw.web.PageMetaTag",
    "PagingModel": "dw.web.PagingModel",
    "Resource": "dw.web.Resource",
    "URL": "dw.web.URL",
    "URLAction": "dw.web.URLAction",
    "URLParameter": "dw.web.URLParameter",
    "URLRedirect": "dw.web.URLRedirect",
    "URLRedirectMgr": "dw.web.URLRedirectMgr",
    "URLUtils": "dw.web.URLUtils",
    "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.catalog.Product",
    "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"
  ]
}