File lua/PropRepository.lua

Repository which provides read and write access to stored property sets. Currently, only a file based repository is implemented. However, it is planned to use the same interface to provide access to property sets that are stored, e.g., in a data base or that are provided via a web service etc. Such services can simply be implemented by providing the same interface as the one specified here.

Functions

_M:getPropSetData (name) Return administrative information for a given property set.
_M:getPropSetList () Get a list of property sets available in the repository.
_M:loadPropSet (name) Load property set from file.
_M:lockPropSet (name) Read and lock property set for exclusive write access.
_M:new (dir) Create new property repository.
_M:unlockPropSet (name) Remove lock for exclusive write access.
_M:writePropSet (name, content) Write content of property set.

Tables

_M Class definition


Functions

_M:getPropSetData (name)
Return administrative information for a given property set.

Parameters

  • name: name of the property set

Return value:

table with administrative information (see module description for a list of used keys)
_M:getPropSetList ()
Get a list of property sets available in the repository.

Return value:

a list containing the names of the available property sets.
_M:loadPropSet (name)
Load property set from file.

Parameters

  • name: name of the property set

Return value:

content of the property set as string
_M:lockPropSet (name)
Read and lock property set for exclusive write access.

Parameters

  • name: name of the property set

Return value:

content of the property set as string
_M:new (dir)
Create new property repository. The given directory is scanned for files which match the pattern *.properties. Access to these property sets is provided through the repository.

Parameters

  • dir: name of the directory which contains the property sets (optional, default: current directory).

Return value:

a new property repository object.
_M:unlockPropSet (name)
Remove lock for exclusive write access.

Parameters

  • name: name of the property set
_M:writePropSet (name, content)
Write content of property set. The property set must have been locked before. After the write operation the lock is automatically removed.

Parameters

  • name: name of the property set
  • content: new content of the property set.

Tables

_M
Class definition Fields
  • dir: the base directory of the property repository.
  • propsets: a map with property set names as keys and tables with administrative information related to the property set as values (used keys in the tables: file=file name, handle=file handle if file is opened, status=flag indicating the lock status of the file).

Valid XHTML 1.0!