<?xml version="1.0" encoding="iso-8859-1"?>
<module name="Ft.Server.Server.Drivers.FtssDriver" file="/work/a/ports/textproc/py-4suite/work/4Suite-1.0b1/build/lib.freebsd-7.1-RELEASE-i386-2.4/Ft/Server/Server/Drivers/FtssDriver.py">
  <modification-date>2005-04-02 06:30:23</modification-date>
  <abstract>4Suite repository driver</abstract>
  <description>Copyright 2004 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/</description>
  <classes>
    <class name="DataStoreContainer" public="yes">
      <bases>
      </bases>
      <abstract>Repository XML Container object.  createContainer/getContent/setContent/_getChildren are overidden
to use low level api's to implement containment.  Should catch Exceptions more ferverently.</abstract>
      <description>NOTE
self._driver is the FtssDriver instance
self._driver._driver is the Data store driver instance</description>
      <method-resolution-order>
        <base name="DataStoreContainer" module="Ft.Server.Server.Drivers.FtssDriver"/>
      </method-resolution-order>
      <methods documented="yes" class="DataStoreContainer" module="Ft.Server.Server.Drivers.FtssDriver" inherited="no">
        <method public="yes" name="childReferenceXML" id="DataStoreContainer-childReferenceXML">
          <abstract>Returns an XML representation of the specified container (path is a
PathImp)
Uses fetchChildren (implemented by the data store) to retrieve the
names of the children and generates a repository container XML
document.</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
          </arguments>
        </method>
        <method public="yes" name="createContainer" id="DataStoreContainer-createContainer">
          <abstract>Creates the specified container, if createParents is true
then all its parents along the path are created (if they
dont exist). If actualContent is given NOT_SUPPORTED Exception is raised
Needs to mimick (mostly) and override FtssDriver.createResource
in order to call _createContainer</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg default="0" name="createParents"/>
            <arg default="None" name="docDef"/>
            <arg default="None" name="actualContent"/>
          </arguments>
        </method>
        <method public="yes" name="deleteContainer" id="DataStoreContainer-deleteContainer">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
          </arguments>
        </method>
      </methods>
    </class>
    <class name="FtssDriver" public="yes">
      <bases>
        <base documented="yes" class="ResourceManager" module="Ft.Server.Server.Drivers.ResourceManager"/>
        <base documented="yes" class="ACLManager" module="Ft.Server.Server.Drivers.ACLManager"/>
        <base documented="yes" class="MetadataManager" module="Ft.Server.Server.Drivers.MetadataManager"/>
        <base documented="yes" class="FtssDriverUtility" module="Ft.Server.Server.Drivers.Util"/>
        <base documented="yes" class="SessionManager" module="Ft.Server.Server.Drivers.SessionManager"/>
      </bases>
      <abstract>The FtssDriver wraps the lowest-level repository database driver,
providing functions commonly used by higher-level APIs.</abstract>
      <description/>
      <method-resolution-order>
        <base name="FtssDriver" module="Ft.Server.Server.Drivers.FtssDriver"/>
        <base name="ResourceManager" module="Ft.Server.Server.Drivers.ResourceManager"/>
        <base name="ACLManager" module="Ft.Server.Server.Drivers.ACLManager"/>
        <base name="MetadataManager" module="Ft.Server.Server.Drivers.MetadataManager"/>
        <base name="FtssDriverUtility" module="Ft.Server.Server.Drivers.Util"/>
        <base name="SessionManager" module="Ft.Server.Server.Drivers.SessionManager"/>
      </method-resolution-order>
      <methods documented="yes" class="FtssDriver" module="Ft.Server.Server.Drivers.FtssDriver" inherited="no">
        <method public="no" name="__init__" id="FtssDriver-__init__">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="logger"/>
            <arg name="driverMod"/>
            <arg name="properties"/>
          </arguments>
        </method>
        <method public="yes" name="checkLogin" id="FtssDriver-checkLogin">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="userName"/>
            <arg name="password"/>
          </arguments>
        </method>
        <method public="yes" name="commit" id="FtssDriver-commit">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="destroy" id="FtssDriver-destroy">
          <abstract>Another very special case that will destroy a '/'.
It cannot be called if they are logged in</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="exists" id="FtssDriver-exists">
          <abstract>A very special-case function.  This can be called without being logged in</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="getContext" id="FtssDriver-getContext">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg default="None" name="nss"/>
          </arguments>
        </method>
        <method public="yes" name="getModel" id="FtssDriver-getModel">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
          </arguments>
        </method>
        <method public="yes" name="getSystemContainerPath" id="FtssDriver-getSystemContainerPath">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="getSystemModel" id="FtssDriver-getSystemModel">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="getType" id="FtssDriver-getType">
          <abstract>Get the resource type from the metadata. path is a Path object</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
          </arguments>
        </method>
        <method public="yes" name="initialize" id="FtssDriver-initialize">
          <abstract>Another very special case that will create a new '/'.  It cannot be called if they are logged in</abstract>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="login" id="FtssDriver-login">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="userName"/>
            <arg name="password"/>
            <arg default="0" name="verify"/>
          </arguments>
        </method>
        <method public="yes" name="newContainerXml" id="FtssDriver-newContainerXml">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="path"/>
            <arg name="acl"/>
            <arg name="owner"/>
            <arg name="docDef"/>
            <arg default="None" name="content"/>
          </arguments>
        </method>
        <method public="yes" name="open" id="FtssDriver-open">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="href"/>
          </arguments>
        </method>
        <method public="yes" name="rollback" id="FtssDriver-rollback">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
          </arguments>
        </method>
        <method public="yes" name="setTempFileDelete" id="FtssDriver-setTempFileDelete">
          <abstract/>
          <description/>
          <arguments>
            <arg name="self"/>
            <arg name="flag"/>
          </arguments>
        </method>
      </methods>
      <fields documented="yes" class="FtssDriver" module="Ft.Server.Server.Drivers.FtssDriver" inherited="no">
        <field public="yes" name="exprs" id="FtssDriver-exprs">
          <value>[]</value>
        </field>
        <field public="yes" name="mode" id="FtssDriver-mode">
          <value>2</value>
        </field>
        <field public="yes" name="o" id="FtssDriver-o">
          <value>'/ftss:MetaData/ftss:Reference'</value>
        </field>
        <field public="yes" name="p" id="FtssDriver-p">
          <value>'&quot;http://schemas.4suite.org/4ss#urireferencefile.location&quot;'</value>
        </field>
        <field public="yes" name="s" id="FtssDriver-s">
          <value>'$uri'</value>
        </field>
        <field public="yes" name="t" id="FtssDriver-t">
          <value>'R'</value>
        </field>
      </fields>
      <methods documented="yes" class="ResourceManager" module="Ft.Server.Server.Drivers.ResourceManager" inherited="yes">
        <member-reference name="createResource" public="yes"/>
        <member-reference name="deleteResource" public="yes"/>
        <member-reference name="fetchResource" public="yes"/>
        <member-reference name="fetchResourceCache" public="yes"/>
        <member-reference name="hasResource" public="yes"/>
        <member-reference name="setResourceCache" public="yes"/>
        <member-reference name="updateResourceContent" public="yes"/>
        <member-reference name="verifyDeleteResource" public="yes"/>
        <member-reference name="xupdateContent" public="yes"/>
      </methods>
      <methods documented="yes" class="ACLManager" module="Ft.Server.Server.Drivers.ACLManager" inherited="yes">
        <member-reference name="defaultAcl" public="yes"/>
        <member-reference name="getAcl" public="yes"/>
        <member-reference name="getAclIdent" public="yes"/>
        <member-reference name="getAclIdentifiers" public="yes"/>
        <member-reference name="setAcl" public="yes"/>
        <member-reference name="verifyAcl" public="yes"/>
      </methods>
      <methods documented="yes" class="MetadataManager" module="Ft.Server.Server.Drivers.MetadataManager" inherited="yes">
        <member-reference name="deleteMetaData" public="yes"/>
        <member-reference name="setMetaData" public="yes"/>
        <member-reference name="updateMetaData" public="yes"/>
        <member-reference name="updateResourceMetadata" public="yes"/>
        <member-reference name="xupdateMetaData" public="yes"/>
      </methods>
      <methods documented="yes" class="FtssDriverUtility" module="Ft.Server.Server.Drivers.Util" inherited="yes">
        <member-reference name="aclToXml" public="yes"/>
        <member-reference name="generateUserDocDefStmts" public="yes"/>
        <member-reference name="generateUserXPathDocDefStmts" public="yes"/>
        <member-reference name="generateUserXsltDocDefStmts" public="yes"/>
      </methods>
      <methods documented="yes" class="SessionManager" module="Ft.Server.Server.Drivers.SessionManager" inherited="yes">
        <member-reference name="createSession" public="yes"/>
        <member-reference name="deleteSessionData" public="yes"/>
        <member-reference name="getSessionData" public="yes"/>
        <member-reference name="getSessionExpiration" public="yes"/>
        <member-reference name="invalidateSession" public="yes"/>
        <member-reference name="retrieveSession" public="yes"/>
        <member-reference name="setSessionData" public="yes"/>
      </methods>
    </class>
  </classes>
  <functions>
    <function public="yes" name="RecurPrint" id="RecurPrint">
      <abstract/>
      <description/>
      <arguments>
        <arg name="obj"/>
        <arg default="[]" name="done"/>
      </arguments>
    </function>
    <function public="no" name="_GetContainerXml" id="_GetContainerXml">
      <abstract>paths is a sequence of unicode path names</abstract>
      <description/>
      <arguments>
        <arg name="paths"/>
      </arguments>
    </function>
  </functions>
  <fields>
    <field public="yes" name="DEFAULT_SESSION_TIME_TO_LIVE" id="DEFAULT_SESSION_TIME_TO_LIVE">
      <value>900</value>
    </field>
    <field public="yes" name="DELETE_CONTAINER_CHILD_XUPDATE" id="DELETE_CONTAINER_CHILD_XUPDATE">
      <abstract>The Document interface represents the entire XML document. Conceptually,
it is the root of the document tree, and provides the primary access to the
document's data.</abstract>
      <description/>
      <value>&lt;Document at 0x8b26eec: 1 children&gt;</value>
    </field>
    <field public="yes" name="FTSERVER_NAMESPACE" id="FTSERVER_NAMESPACE">
      <value>'http://xmlns.4suite.org/reserved'</value>
    </field>
    <field public="yes" name="NEW_CONTAINER_CHILD_XUPDATE" id="NEW_CONTAINER_CHILD_XUPDATE">
      <abstract>The Document interface represents the entire XML document. Conceptually,
it is the root of the document tree, and provides the primary access to the
document's data.</abstract>
      <description/>
      <value>&lt;Document at 0x8b26cec: 1 children&gt;</value>
    </field>
    <field public="yes" name="OBJECT_TYPE_LITERAL" id="OBJECT_TYPE_LITERAL">
      <value>'L'</value>
    </field>
    <field public="yes" name="OBJECT_TYPE_RESOURCE" id="OBJECT_TYPE_RESOURCE">
      <value>'R'</value>
    </field>
    <field public="yes" name="OBJECT_TYPE_UNKNOWN" id="OBJECT_TYPE_UNKNOWN">
      <value>'?'</value>
    </field>
    <field public="yes" name="RESERVED_NAMESPACE" id="RESERVED_NAMESPACE">
      <value>'http://xmlns.4suite.org/reserved'</value>
    </field>
    <field public="yes" name="UPDATE_ACL" id="UPDATE_ACL">
      <value>'&lt;xupdate:modifications\n  version=&quot;1.0&quot;\n  xmlns:x...ta&quot;&gt;%s&lt;/xupdate:append&gt;\n&lt;/xupdate:modifications&gt;\n'</value>
    </field>
    <field public="yes" name="UPDATE_LAST_MODIFIED" id="UPDATE_LAST_MODIFIED">
      <value>'&lt;xupdate:modifications\n  version=&quot;1.0&quot;\n  xmlns:x...te&quot;&gt;%s&lt;/xupdate:update&gt;\n&lt;/xupdate:modifications&gt;\n'</value>
    </field>
    <field public="yes" name="UPDATE_LAST_MODIFIED_AND_SIZE" id="UPDATE_LAST_MODIFIED_AND_SIZE">
      <abstract>The Document interface represents the entire XML document. Conceptually,
it is the root of the document tree, and provides the primary access to the
document's data.</abstract>
      <description/>
      <value>&lt;Document at 0x8b26eac: 1 children&gt;</value>
    </field>
    <field public="yes" name="UPDATE_SIZE" id="UPDATE_SIZE">
      <value>'&lt;xupdate:modifications\n  version=&quot;1.0&quot;\n  xmlns:x...ze&quot;&gt;%s&lt;/xupdate:update&gt;\n&lt;/xupdate:modifications&gt;\n'</value>
    </field>
    <field public="yes" name="XLINK_NAMESPACE" id="XLINK_NAMESPACE">
      <value>u'http://www.w3.org/1999/xlink'</value>
    </field>
    <field public="yes" name="XSL_NAMESPACE" id="XSL_NAMESPACE">
      <value>u'http://www.w3.org/1999/XSL/Transform'</value>
    </field>
  </fields>
</module>
