{ "type": "class",
  "qname": "org.apache.royale.storage.providers.WebStorageProvider",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The WebStorageProvider class implements the IPermanentStorageProvider interface for saving files to a mobile device.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "royaleignorecoercion",
         "values": ["FileEntry", "FileWriter", "window", "Blob"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.storage.providers.WebStorageProvider",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "param",
               "values": ["target The target dispatcher for events as files are read and written."]},
            {  "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": "org.apache.royale.events.IEventDispatcher"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.events.IEventDispatcher",
        "qname": "target",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The target dispatcher for events as files are read and written.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "readTextFromDataFile",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A convenience function to read an entire file as a single string of text. The file is storaged in the application's data storage directory. Dispatches a FileRead event once the data is available.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of the file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "openInputDataStream",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Opens an input stream into a file in the data storage directory. A Ready event is dispatched when the stream has been opened. Use the stream to read data from the file.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "writeTextToDataFile",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A convenience function write a string into a file that resides in the application's data storage directory. If the file already exists it is replaced with the string. Dispatches a FileWrite event once the file has been written.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file.", "text The string 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": "fileName", "type": "String"},
        { "name": "text", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "openOutputDataStream",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Opens an output stream into a file in the data storage directory. A Ready event is dispatched when the stream has been opened. Use the stream to write data to the file.",
        "tags": [
        {  "tagName": "param",
               "values": ["fileName The name of file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "fileName", "type": "String"}]}
      ]
  }



