Qore FileLocationHandler Module Reference  2.0
FileLocationHandler::FileLocationHandler Class Reference

The main class. More...

Static Public Member Methods

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< stringgetSupportedSchemes ()
 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 Private Member Methods

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 Private Attributes

static hash< string, AbstractFileLocationHandlercache
 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
locationthe location of the file data
Returns
the resource data as a binary value
Exceptions
LOCATION-ERRORthe 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
locationthe 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
texta flag if the data should be returned as text or not
locationthe location string
Exceptions
LOCATION-ERRORinvalid location or empty location string

◆ getInfo()

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

Returns info about the requested location.

Parameters
locationthe location string
readif the location is meant for reading
Exceptions
LOCATION-ERRORunsupported or invalid location

◆ getOutputStreamForLocation()

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

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

Parameters
locationthe location of the file data
Returns
an output stream for writing to the file
Note

◆ getStreamReaderFromLocation()

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

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

Parameters
locationthe 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
locationthe location of the file data
Returns
the resource data as a string
Exceptions
LOCATION-ERRORthe 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
schemethe 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
schemethe scheme for the location
handlerthe handler for the location, must have the signature:
data sub (string scheme, bool text, string location) {}
Exceptions
LOCATION-HANDLER-ERRORthe 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
locationthe location of the file data
contentsthe file contents to write to the location