{ "type": "class",
  "qname": "org.apache.royale.html.Container",
  "baseClassname": "org.apache.royale.core.ContainerBase"
  ,
    "description": "The Container class implements a basic container for other controls and containers.  The position and size of the children are determined by a layout while the size of a Container can either be determined by its children or by specifying an exact size in pixels or as a percentage of the parent element.  This Container does not have a built-in scroll bar or clipping of its content should the content exceed the Container's boundaries. To have scroll bars and clipping, add the ScrollingView bead.  While the container is relatively lightweight, it should generally not be used as the base class for other controls, even if those controls are composed of children.  That's because the fundamental API of Container is to support an arbitrary set of children, and most controls only support a specific set of children.  And that's one of the advantages of beads: that functionality used in a Container can also be used in a Control as long as that bead doesn't assume that its strand is a Container.  For example, even though you can use a Panel to create the equivalent of an Alert control, the Alert is a control and not a Container because the Alert does not support an arbitrary set of children.",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.html.beads.layout", "org.apache.royale.html.supportClasses.ScrollingViewport"]},
      {  "tagName": "toplevel",
         "values": []},
      {  "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.html.Container",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "MXMLDescriptor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.Application#MXMLDescriptor"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "generateMXMLAttributes",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.Application#generateMXMLAttributes()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "data", "type": "Array"}]}
      ,
      { "type": "field",
        "qname": "mxmlContent",
        "return": "Array",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.core.ItemRendererClassFactory#mxmlContent"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []}  ]}]
  }
