{ "type": "class",
  "qname": "org.apache.royale.core.SimpleValuesImpl",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The SimpleValuesImpl class implements a simple lookup rules that is sufficient for many very simple applications.  Every value is essential global and shared by other instances.  Values are set via calls to setValue.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.core.SimpleValuesImpl",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "",
          "params": []}
      ,
      { "type": "field",
        "qname": "values",
        "return": "Object",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The map of values.  The format is not documented and it is not recommended to manipulate this structure directly.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []}  ]},
      { "type": "method",
        "qname": "getValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#getValue()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "*",
          "params": [{ "name": "thisObject", "type": "Object"},
        { "name": "valueName", "type": "String"},
        { "name": "state", "type": "String"},
        { "name": "attrs", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "newInstance",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#newInstance()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "*",
          "params": [{ "name": "thisObject", "type": "Object"},
        { "name": "valueName", "type": "String"},
        { "name": "state", "type": "String"},
        { "name": "attrs", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "setValue",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A method that stores a value to be shared with other objects. It is global, not per instance.  Fancier implementations may store shared values per-instance.  parameter is ignored.",
        "tags": [
        {  "tagName": "param",
               "values": ["thisObject An object associated with this value.  Thiis", "valueName The name or key of the value being stored.", "value The value to be stored."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "thisObject", "type": "Object"},
        { "name": "valueName", "type": "String"},
        { "name": "value", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "getInstance",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#getInstance()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "valueName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "init",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#init()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "mainClass", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "convertColor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#convertColor()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "uint",
          "params": [{ "name": "value", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "parseStyles",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#parseStyles()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "value", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "addRule",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.IValuesImpl#addRule()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "ruleName", "type": "String"},
        { "name": "values", "type": "Object"}]}
      ]
  }
