Loading...
Searching...
No Matches
FileLocationHandler::FileLocationHandler Class Reference

The main class. More...

`#include <FileLocationHandler.qc.dox.h>`

## Static Public Member Functions

static binary | getBinaryFileFromLocation (string location)
| Returns binary data for the given file location. More...
static Qore::InputStream | getBinaryStreamFromLocation (string location)
| Returns an input stream for file data at the given location. More...
static data | getFileFromLocation (bool text, string location)
| Returns the file data from the given location. More...
static hash< LocationInfo > | getInfo (string location, bool read)
| Returns info about the requested location. More...
static OutputStreamWrapper | getOutputStreamForLocation (string location)
| Returns an output stream for writing data to the given location. More...
static Qore::StreamReader | getStreamReaderFromLocation (string location)
| Returns a string stream for the file's data at the given location. More...
static list< string > | getSupportedSchemes ()
| Retuns a list of supported schemes. More...
static string | getTextFileFromLocation (string location)
| Returns string data for the given file location. More...
static bool | isSchemeSupported (string scheme)
| Returns True if the scheme is supported. More...
static | registerHandler (string scheme, AbstractFileLocationHandler handler)
| Register a new location handler. More...
static | writeFileToLocation (string location, data contents)
| Writes data to a file at the given location. More...

## Static Protected Member Functions

static *hash< auto > | getOptions (reference< string > location)
| Returns a hash of options from the location string.
static Mutex | handler_lock ()
| The location handler lock to ensure atomic operations.

## Static Protected Attributes

static hash< string, AbstractFileLocationHandler > | cache
| The location handler cache; scheme -> handler;.

## Detailed Description

The main class.

## Member Function Documentation

## getBinaryFileFromLocation()

static binary FileLocationHandler::FileLocationHandler::getBinaryFileFromLocation | ( | string | location | ) |

static

Returns binary data for the given file location.

Parameters

  location | the location of the file data

Returns
  the resource data as a binary value

Exceptions

  LOCATION-ERROR | the location string cannotbe parsed; unknown location scheme; invalid location option

## getBinaryStreamFromLocation()

static Qore::InputStream FileLocationHandler::FileLocationHandler::getBinaryStreamFromLocation | ( | string | location | ) |

static

Returns an input stream for file data at the given location.

Parameters

  location | the location of the file data

Returns
  an input stream for the file's data

## getFileFromLocation()

static data FileLocationHandler::FileLocationHandler::getFileFromLocation | ( | bool | text,
|  | string | location
| ) |  |

static

Returns the file data from the given location.

Parameters

  text | a flag if the data should be returned as text or not
  location | the location string

Exceptions

  LOCATION-ERROR | invalid location or empty location string

## getInfo()

static hash< LocationInfo > FileLocationHandler::FileLocationHandler::getInfo | ( | string | location,
|  | bool | read
| ) |  |

static

Returns info about the requested location.

Parameters

  location | the location string
  read | if the location is meant for reading

Exceptions

  LOCATION-ERROR | unsupported or invalid location

## getOutputStreamForLocation()

static OutputStreamWrapper FileLocationHandler::FileLocationHandler::getOutputStreamForLocation | ( | string | location | ) |

static

Returns an output stream for writing data to the given location.

Parameters

  location | the location of the file data

Returns
  an output stream for writing to the file

Note
  - OutputStreamWrapper::close() must be called to close the stream after writing terminates in order to avoid a deadlock
  - The data written to the OutputStreamWrapper object may be written in the background; to ensure that the data has been written to the target, call OutputStreamWrapper::waitForIo()

## getStreamReaderFromLocation()

static Qore::StreamReader FileLocationHandler::FileLocationHandler::getStreamReaderFromLocation | ( | string | location | ) |

static

Returns a string stream for the file's data at the given location.

Parameters

  location | the location of the file data

Returns
  a stream reader for the file's data

## getSupportedSchemes()

static list< string > FileLocationHandler::FileLocationHandler::getSupportedSchemes | ( |  | ) |

static

Retuns a list of supported schemes.

Returns
  a list of supported schemes

## getTextFileFromLocation()

static string FileLocationHandler::FileLocationHandler::getTextFileFromLocation | ( | string | location | ) |

static

Returns string data for the given file location.

Parameters

  location | the location of the file data

Returns
  the resource data as a string

Exceptions

  LOCATION-ERROR | the location string cannotbe parsed; unknown location scheme; invalid location option

## isSchemeSupported()

static bool FileLocationHandler::FileLocationHandler::isSchemeSupported | ( | string | scheme | ) |

static

Returns True if the scheme is supported.

Parameters

  scheme | the scheme to check

Returns
  True if the scheme is supported

## registerHandler()

static FileLocationHandler::FileLocationHandler::registerHandler | ( | string | scheme,
|  | AbstractFileLocationHandler | handler
| ) |  |

static

Register a new location handler.

Parameters

  scheme | the scheme for the location
  handler | the handler for the location, must have the signature: data sub (string scheme, bool text, string location) {}

Exceptions

  LOCATION-HANDLER-ERROR | the given location handler scheme has already been registered

## writeFileToLocation()

static FileLocationHandler::FileLocationHandler::writeFileToLocation | ( | string | location,
|  | data | contents
| ) |  |

static

Writes data to a file at the given location.

Parameters

  location | the location of the file data
  contents | the file contents to write to the location