{ "type": "class",
  "qname": "mx.messaging.events.ChannelFaultEvent",
  "baseClassname": "mx.messaging.events.ChannelEvent"
  ,
    "description": "The ChannelFaultEvent class is used to propagate channel fault events within the messaging system.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["BlazeDS 4", "LCDS 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "field",
        "qname": "FAULT",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The FAULT event type; indicates that the Channel faulted. <p>The value of this constant is <code>&quot;channelFault&quot;</code>.</p>  <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>cancelable</code></td><td>false</td></tr> <tr><td><code>channel</code></td><td>The Channel that generated this event.</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>faultCode</code></td><td>Provides destination-specific details of the failure.</td></tr> <tr><td><code>faultDetail</code></td><td>Provides access to the destination-specific reason for the failure.</td></tr> <tr><td><code>faultString</code></td><td>Provides access to the underlying reason for the failure if the channel did not raise the failure itself.</td></tr> <tr><td><code>reconnecting</code></td><td> Indicates whether the channel that generated this event is reconnecting.</td></tr> <tr><td><code>rootCause</code></td><td> Provides access to the underlying reason for the failure if the channel did not raise the failure itself.</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": ["channelFault"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "createEvent",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Utility method to create a new ChannelFaultEvent that doesn't bubble and is not cancelable.   reconnecting or not.     which suppresses automatic reconnection.  is already connected.",
        "tags": [
        {  "tagName": "param",
               "values": ["channel The Channel generating the event.", "reconnecting Indicates whether the Channel is in the process of", "code The fault code.", "level The fault level.", "description The fault description.", "rejected Indicates whether the Channel's connection has been rejected,", "connected Indicates whether the Channel that generated this event"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "return",
               "values": ["New ChannelFaultEvent."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.messaging.events.ChannelFaultEvent",
          "params": [{ "name": "channel", "type": "mx.messaging.Channel"},
        { "name": "reconnecting", "type": "Boolean"},
        { "name": "code", "type": "String"},
        { "name": "level", "type": "String"},
        { "name": "description", "type": "String"},
        { "name": "rejected", "type": "Boolean"},
        { "name": "connected", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "mx.messaging.events.ChannelFaultEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructs an instance of this event with the specified type. Note that the <code>rejected</code> and <code>connected</code> arguments that correspond to properties defined by the super-class <code>ChannelEvent</code> were not originally included in this method signature and have been added at the end of the argument list to preserve backward compatibility even though this signature differs from <code>ChannelEvent</code>'s constructor.      reconnecting or not.     which suppresses automatic reconnection.  is already connected.",
        "tags": [
        {  "tagName": "param",
               "values": ["type The type of the event.", "bubbles Indicates whether the event can bubble up the display list hierarchy.", "cancelable Indicates whether the behavior associated with the event can be prevented.", "channel The Channel generating the event.", "reconnecting Indicates whether the Channel is in the process of", "code The fault code.", "level The fault level.", "description The fault description.", "rejected Indicates whether the Channel's connection has been rejected,", "connected Indicates whether the Channel that generated this event"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "channel", "type": "mx.messaging.Channel"},
        { "name": "reconnecting", "type": "Boolean"},
        { "name": "code", "type": "String"},
        { "name": "level", "type": "String"},
        { "name": "description", "type": "String"},
        { "name": "rejected", "type": "Boolean"},
        { "name": "connected", "type": "Boolean"}]}
      ,
      { "type": "field",
        "qname": "faultCode",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides access to the destination-specific failure code. For more specific details see the <code>faultString</code> and <code>faultDetails</code> properties.  <p>The format of the fault codes are provided by the remote destination, but will typically have the following form: <code>host.operation.error</code> or <code>Channel.operation.error</code>. For example, <code>&quot;Server.Connect.Failed&quot;</code> and <code>Channel.Connect.Failed</code>.</p> <p> Channel.Connect.Failed is issued by the Channel class and its subclasses (RTMPChannel, AMFChannel, HTTPChannel, and so forth) whenever there is an issue in a Channel's connect attempts to the remote destination. Channel.Call.Failed is issued by the AMFChannel when the channel is already connected but it gets a Call.Failed code from its underlying NetConnection. Only the AMFChannel class listens for NetConnection.Call.Failed, which gets converted to Channel.Call.Failed.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["#faultString", "#faultDetail"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "faultDetail",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides destination-specific details of the failure.  <p>Typically fault details are a stack trace of an exception thrown at the remote destination.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["#faultString", "#faultCode"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "faultString",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides access to the destination-specific reason for the failure.",
        "tags": [
        {  "tagName": "see",
               "values": ["#faultCode", "#faultDetail"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "rootCause",
        "return": "Object",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides access to the underlying reason for the failure if the channel did not raise the failure itself.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "clone",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Clones the ChannelFaultEvent.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "return",
               "values": ["Copy of this ChannelFaultEvent."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.events.Event",
          "params": []}
      ,
      { "type": "method",
        "qname": "toString",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns a string representation of the ChannelFaultEvent.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "return",
               "values": ["String representation of the ChannelFaultEvent."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": []}
      ,
      { "type": "method",
        "qname": "createErrorMessage",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates an ErrorMessage based on the ChannelFaultEvent by copying over the faultCode, faultString, faultDetail and rootCause to the new ErrorMessage.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["BlazeDS 4", "LCDS 3"]},
            {  "tagName": "return",
               "values": ["The ErrorMessage."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.messaging.messages.ErrorMessage",
          "params": []}
      ]
  }
