{ "type": "class",
  "qname": "mx.rpc.events.HeaderEvent",
  "baseClassname": "mx.rpc.events.AbstractEvent"
  ,
    "description": "The event that indicates an RPC operation, such as a WebService SOAP request, returned a header in the response. A new header event is dispatched for each service header.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "HEADER",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The HEADER event type.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>token</code></td><td>The token that represents the call to the method. Used in the asynchronous completion token pattern.</td></tr> <tr><td><code>cancelable</code></td><td>true, but the preventDefault() method has no effect.</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>header</code></td><td>Header that the RPC call returns in the response. </td></tr> <tr><td><code>message</code></td><td>The Message associated with this event.</td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> </table>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["header"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "mx.rpc.events.HeaderEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a new HeaderEvent.",
        "tags": [
        {  "tagName": "param",
               "values": ["type The event type; indicates the action that caused the event.", "bubbles Specifies whether the event can bubble up the display list hierarchy.", "cancelable Specifies whether the behavior associated with the event can be prevented. The dfault is <code>true</code>, but the <code>preventDefault()</code> method has no effect.", "header Object that holds the header of the call.", "token AsyncToken that represents the call to the method. Used in the asynchronous completion token pattern.", "message Source Message of the header."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "header", "type": "Object"},
        { "name": "token", "type": "mx.rpc.AsyncToken"},
        { "name": "message", "type": "mx.messaging.messages.IMessage"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "header",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Header that the RPC call returned in the response.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "createEvent",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Utility method to create a new HeaderEvent that doesn't bubble and is cancelable.",
        "tags": [
        {  "tagName": "param",
               "values": ["header Object that holds the header of the call.", "token AsyncToken that represents the call to the method. Used in the asynchronous completion token pattern.", "message Source Message header."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Returns a new HeaderEvent that doesn't bubble and is cancelable."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.rpc.events.HeaderEvent",
          "params": [{ "name": "header", "type": "Object"},
        { "name": "token", "type": "mx.rpc.AsyncToken"},
        { "name": "message", "type": "mx.messaging.messages.IMessage"}]}
      ,
      { "type": "method",
        "qname": "toString",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns a string representation of the HeaderEvent.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["String representation of the HeaderEvent."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": []}
      ]
  }
