{ "type": "class",
  "qname": "org.apache.royale.reflection.ExtraData",
  "baseClassname": ""
  ,
    "description": "Information about extra reflection definitions required in JS to optionally support extra reflection data. This class itself is non-reflectable, and does not create dependencies from the org.apache.royale.reflection.nativejs package in js release output, unless they are added.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppressexport",
         "values": []}  ],
  "members": [
  { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "isRelevant",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "this is non-reflectable"},
      { "type": "method",
        "qname": "hasData",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "this is non-reflectable",
          "return": "Boolean",
          "params": [{ "name": "key", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "getData",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "this is non-reflectable",
          "return": "Object",
          "params": [{ "name": "key", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "addExternDefintion",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "this method itself is non-reflectable If an application requires reflection of specific Native types and Royale synthetic types in javascript call this method for each specific representation inside the nativejs package at startup, before reflection is used in any code  Use this to add selective definitions only (PAYG) If this method is never used, it will not be included in release build  example: import org.apache.royale.reflection.nativejs.AS3Array ExtraData.addExternalDefinition(AS3Array())",
          "return": "void",
          "params": [{ "name": "item", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "addAll",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "this method itself is non-reflectable If an application requires reflection of default Native types and Royale synthetic types in javascript call this method near application startup, before reflection is used in any code  Use this to add corresponding reflection support for native js definitions that are used to correspond to common native as3 types (non-PAYG) If this method is never used, the dependencies inside it will not be included in release build",
          "return": "void",
          "params": []}
      ]
  }
