{ "type": "interface",
  "qname": "org.apache.royale.collections.IArrayListView",
"baseInterfaceNames": [
"org.apache.royale.collections.ICollectionView"]
,
  "members": [
  { "type": "accessor",
    "access": "read-write",
    "return": "Function",
    "qname": "filterFunction",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "A function that the view will use to eliminate items that do not match the function's criteria. A filterFunction is expected to have the following signature:  <pre>f(item:Object):Boolean</pre>  where the return value is <code>true</code> if the specified item should remain in the view.  <p>If a filter is unsupported, Flex throws an error when accessing this property. You must call <code>refresh()</code> after setting the <code>filterFunction</code> property for the view to update.</p>  <p>Note: The Flex implementations of ICollectionView retrieve all items from a remote location before executing the filter function. If you use paging, apply the filter to the remote collection before you retrieve the data.</p>",
    "tags": [
    {  "tagName": "see",
           "values": ["#refresh()"]},
        {  "tagName": "playerversion",
           "values": ["Flash 10.2", "AIR 2.6"]},
        {  "tagName": "productversion",
           "values": ["Royale 0.9.3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ]},
  { "type": "accessor",
    "access": "read-write",
    "return": "org.apache.royale.collections.ISort",
    "qname": "sort",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "The ISort that will be applied to the ICollectionView. Setting the sort does not automatically refresh the view, so you must call the <code>refresh()</code> method after setting this property. If sort is unsupported an error will be thrown when accessing this property.  <p>Note: The Flex implementations of ICollectionView retrieve all items from a remote location before executing a sort. If you use paging with a sorted list, apply the sort to the remote collection before you retrieve the data.</p>",
    "tags": [
    {  "tagName": "see",
           "values": ["#refresh()"]},
        {  "tagName": "playerversion",
           "values": ["Flash 10.2", "AIR 2.6"]},
        {  "tagName": "productversion",
           "values": ["Royale 0.9.3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ]},
  { "type": "method",
    "qname": "contains",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Returns whether the view contains the specified object. If the view has a filter applied to it this method may return <code>false</code> even if the underlying collection does contain the item.   contains the item; false otherwise.",
    "tags": [
    {  "tagName": "param",
           "values": ["item The object to look for."]},
        {  "tagName": "playerversion",
           "values": ["Flash 10.2", "AIR 2.6"]},
        {  "tagName": "productversion",
           "values": ["Royale 0.9.3"]},
        {  "tagName": "return",
           "values": ["true if the ICollectionView, after applying any filter,"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "Boolean",
      "params": [{ "name": "item", "type": "Object"}]}
  ,
  { "type": "method",
    "qname": "refresh",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Applies the sort and filter to the view. The IArrayListView does not detect changes to a sort or filter automatically, so you must call the <code>refresh()</code> method to update the view after setting the <code>sort</code> or <code>filterFunction</code> property.  <p>Returns <code>true</code> if the refresh was successful and <code>false</code> if the sort is not yet complete (e.g., items are still pending). A client of the view should wait for a CollectionEvent event with the <code>CollectionEventKind.REFRESH</code> <code>kind</code> property to ensure that the <code>refresh()</code> operation is complete.</p>  <code>false</code> if the refresh() is incomplete.",
    "tags": [
    {  "tagName": "playerversion",
           "values": ["Flash 10.2", "AIR 2.6"]},
        {  "tagName": "productversion",
           "values": ["Royale 0.9.3"]},
        {  "tagName": "return",
           "values": ["<code>true</code> if the refresh() was complete,"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "Boolean",
      "params": []}
  ]
  }
