{ "type": "class",
  "qname": "mx.controls.listClasses.VirtualDataItemRendererFactoryForICollectionViewData",
  "baseClassname": "mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData"
  ,
    "description": "The DataItemRendererFactoryForHierarchicalData class reads a HierarchicalData object 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": "mx.controls.listClasses.VirtualDataItemRendererFactoryForICollectionViewData",
        "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": "method",
        "qname": "freeItemRendererForIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Free an item renderer for a given index.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.0"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IStrandWithModelView", "org.apache.royale.html.beads.IListView"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "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": "getItemRendererForIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Get an item renderer for a given index.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.0"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IStrandWithModelView", "org.apache.royale.html.beads.IListView"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.core.IIndexedItemRenderer",
          "params": [{ "name": "index", "type": "int"},
        { "name": "elementIndex", "type": "int"}]}
      ]
  ,
  "events": [
  { "qname": "itemRendererCreated",
        "type": "org.apache.royale.events.ItemRendererEvent"
      }]
  }
