{ "type": "class",
  "qname": "org.apache.royale.html.beads.VirtualDataItemRendererFactoryForArrayData",
  "baseClassname": "org.apache.royale.html.beads.VirtualDataItemRendererFactoryBase"
  ,
    "description": "The DataItemRendererFactoryForArrayData class reads an array of data and creates an item renderer for every item in the array.  Other implementations of IDataProviderItemRendererMapper map different data structures or manage a virtual set of renderers.",
  "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.html.beads.VirtualDataItemRendererFactoryForArrayData",
        "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": [{ "name": "target", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "dataProviderChangeHandler",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "The org.apache.royale.core.IItemRendererOwnerView that will parent the item renderers.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IStrandWithModelView", "org.apache.royale.html.beads.IListView"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "getItemAt",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "Object",
          "params": [{ "name": "index", "type": "int"}]}
      ]
  ,
  "events": [
  { "qname": "itemRendererCreated",
        "type": "org.apache.royale.events.ItemRendererEvent"
      }]
  }
