|  | # Cheshire3 Objects: Cheshire3 Abstract Base Class

## Description

Abstract Base Class for all configurable objects within the Cheshire3 framework. It is not the base class for Document, Record, ResultSet, or Query.

## Implementations

There are no pre-configured out-of-the-box ready objects of this type.

## API

Module: cheshire3.configParser
Classes:

- CaselessDictionary extends dict type
  A dictionary that is case-insensitive when searching, but also preserves the keys as inserted.
- C3Object
  Abstract Base Class for Cheshire3 configurable objects.

C3Object Methods:

Function | Parameters | Returns | Description
--- | --- | --- | ---
__init__ | xmlNode, parentObject |  | The constructor for the base class takes the parsed XML DOM node from the configuration for the object. It then steps through all of the information within the configuration and builds the object as described.
_handleConfigNode | xmlNode |  | Handles configuration xml nodes which are object specific (for example 'source' for Index objects)
_verifyOption | type, value | value | Verify if an object specific configuration 'option' is valid. (for example that a file path exists) Also _verifySetting and _verifyDefault
get_setting | session, name | value | Return the value of the named setting for this object. This may cascade up to the object's parent to find the value (for example index -> database -> server)
get_default | session, name | value | Return the value of the named default for this object as above. Cascades.
get_path | session, name | value | Return the value of the named path. Cascades.
get_object | session, id | object | Return the object identified by the given id, relative to this object. (for example a database may override an identifier which is also valid at the server level). Cascades.
log_function | functionName |  | Use this object's functionLogger to log calls to the named function.
unlog_function | functionName |  | Stops the logging of the named function
auth_function | functionName |  | Use a PermissionHandler object to authorise every call to the named function. Configured as c3fn:functionName.
unauth_function | functionName |  | Stops the authorization requirement of the named function