{ "type": "class",
  "qname": "mx.rpc.remoting.mxml.RemoteObject",
  "baseClassname": "mx.rpc.remoting.RemoteObject"
  ,
    "description": "Use the &lt;mx:RemoteObject&gt; tag to represent an HTTPService object in an MXML file. This tag gives you access to the methods of Java objects using Action Message Format (AMF) encoding.  <p> The &lt;mx:RemoteObject&gt; tag accepts the following tag attributes: </p> <pre>\\n &lt;mx:RemoteObject\\n <b>Properties</b>\\n concurrency=&quot;multiple|single|last&quot;\\n destination=&quot;<i>No default.</i>&quot;\\n id=&quot;<i>No default.</i>&quot;\\n endpoint=&quot;<i>No default.</i>&quot;\\n showBusyCursor=&quot;false|true&quot;\\n source=&quot;<i>No default.</i>&quot; (currently, Adobe ColdFusion only)\\n makeObjectsBindable=&quot;false|true&quot;\\n \\n <b>Events</b>\\n fault=&quot;<i>No default.</i>&quot;\\n result=&quot;<i>No default.</i>&quot;\\n /&gt;\\n </pre> </p>  <p> &lt;mx:RemoteObject&gt; can have multiple &lt;mx:method&gt; tags, which have the following tag attributes: </p> <pre>\\n &lt;mx:method\\n <b>Properties</b>\\n concurrency=&quot;multiple|single|last&quot;\\n name=&quot;<i>No default, required.</i>&quot;\\n makeObjectsBindable=&quot;false|true&quot;\\n \\n <b>Events</b>\\n fault=&quot;<i>No default.</i>&quot;\\n result=&quot;<i>No default.</i>&quot;\\n /&gt;\\n </pre> <p> It then can have a single &lt;mx:arguments&gt; child tag which is an array of objects that is passed in order.",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/RemoteObjectExample.mxml -noswf"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.rpc.remoting.mxml.RemoteObject",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Create a new RemoteObject.  in the services-config.xml file.",
        "tags": [
        {  "tagName": "param",
               "values": ["destination The destination of the RemoteObject, should match a destination name"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "destination", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "getOperation",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns an Operation of the given name. If the Operation wasn't created beforehand, a new <code>mx.rpc.remoting.mxml.Operation</code> is created during this call. Operations are usually accessible by simply naming them after the service variable (<code>myService.someOperation</code>), but if your Operation name happens to match a defined method on the service (like <code>setCredentials</code>), you can use this method to get the Operation instead.",
        "tags": [
        {  "tagName": "param",
               "values": ["name Name of the Operation."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Operation that executes for this name."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.rpc.AbstractOperation",
          "params": [{ "name": "name", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "initialized",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called automatically by the MXML compiler if the RemoteObject is set up using a tag.  If you create the RemoteObject through ActionScript you may want to call this method yourself as it is useful for validating any arguments.",
        "tags": [
        {  "tagName": "param",
               "values": ["document the MXML document on which this RemoteObject lives", "id the id of this RemoteObject within the document"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "document", "type": "Object"},
        { "name": "id", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setDocument",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "document", "type": "Object"},
        { "name": "id", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "getDocument",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "Object",
          "params": []}
      ,
      { "type": "method",
        "qname": "getID",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "String",
          "params": []}
      ]
  }
