/** * Admin.java * * This file was auto-generated from WSDL * by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter. */ package org.exist.soap; import java.rmi.RemoteException; public interface Admin extends java.rmi.Remote { /** * Store a new document into the database. The document will be stored using * the name and location as specified by the path argument. To avoid any conflicts * with the SOAP transport layer, document contents are passed as base64 encoded * binary data. Internally, all documents are stored in UTF-8 encoding. * * The method will automatically replace an already existing document with the same * path if the replace argument is set to true (and the user has sufficient privileges). * * @param sessionId a unique id for the created session. * @param data the document contents as base64 encoded binary data. * @param encoding the character encoding used for the document data. * @param path the target path for the new document. * @param replace should an existing document be replaced? * @throws RemoteException */ public void store(java.lang.String sessionId, byte[] data, java.lang.String encoding, java.lang.String path, boolean replace) throws java.rmi.RemoteException; /** * Create a new user session. Authenticates the user against the database. * The user has to be a valid database user. If the provided user information * is valid, a new session will be registered on the server and a session id * will be returned. * * The session will be valid for at least 60 minutes. Please call disconnect() to * release the session. * * Sessions are shared between the Query and Admin services. A session created * through the Query service can be used with the Admin service and vice versa. * * @param userId * @param password * @return session-id a unique id for the created session * @throws RemoteException if the user cannot log in */ public java.lang.String connect(java.lang.String userId, java.lang.String password) throws java.rmi.RemoteException; /** * Release a user session. This will free all resources (including result sets). * * @param sessionId a valid session id as returned by connect(). * @throws java.rmi.RemoteException */ public void disconnect(java.lang.String sessionId) throws java.rmi.RemoteException; /** * Remove the specified collection. * * @param sessionId sessionId a unique id for the created session. * @param path the full path to the collection. * @return true on success. * * @throws RemoteException */ public boolean removeCollection(java.lang.String sessionId, java.lang.String path) throws java.rmi.RemoteException; /** * Remove the specified document. * * @param sessionId a unique id for the created session. * @param path the full path to the document. * @return true on success. * * @throws RemoteException */ public boolean removeDocument(java.lang.String sessionId, java.lang.String path) throws java.rmi.RemoteException; /** * Create a new collection using the specified path. * * @param sessionId a unique id for the created session. * @param path the full path to the collection. * @throws RemoteException */ public boolean createCollection(java.lang.String sessionId, java.lang.String path) throws java.rmi.RemoteException; /** * Apply a set of XUpdate modifications to a collection. * * @param sessionId a unique id for the created session. * @param collectionName the full path to the collection. * @param xupdate the XUpdate document to be applied. * @throws RemoteException */ public int xupdate(java.lang.String sessionId, java.lang.String collectionName, java.lang.String xupdate) throws java.rmi.RemoteException; /** * Apply a set of XUpdate modifications to the specified document. * * @param sessionId a unique id for the created session. * @param documentName the full path to the document. * @param xupdate the XUpdate document to be applied. * @throws RemoteException */ public int xupdateResource(java.lang.String sessionId, java.lang.String documentName, java.lang.String xupdate) throws java.rmi.RemoteException; /** * Retrieve a binary resource from the database * @param sessionId the session identifier * @param name the name of the binary resource * @return the binary resource data * @throws java.rmi.RemoteException */ public byte[] getBinaryResource(java.lang.String sessionId, java.lang.String name) throws java.rmi.RemoteException; /** * Obtain a description of the specified collection. * * The description contains * - the collection permissions * - list of sub-collections * - list of documents and their permissions * * @param sessionId the session identifier * @param collectionName the collection * @return the collection descriptor * @throws java.rmi.RemoteException */ public org.exist.soap.CollectionDesc getCollectionDesc(java.lang.String sessionId, java.lang.String collectionName) throws java.rmi.RemoteException; /** * Set the owner, group and access permissions for a document or collection * @param sessionId the session id * @param resource the document/collection that will get new permissions * @param owner the new owner * @param ownerGroup the new group * @param permissions the new access permissions * @throws java.rmi.RemoteException */ public void setPermissions(java.lang.String sessionId, java.lang.String resource, java.lang.String owner, java.lang.String ownerGroup, int permissions) throws java.rmi.RemoteException; /** * Copy a resource to the destination collection and rename it. * @param sessionId the session identifier * @param docPath the resource to cop * @param destinationPath the destination collection * @param newName the new name for the resource * @throws java.rmi.RemoteException */ public void copyResource(java.lang.String sessionId, java.lang.String docPath, java.lang.String destinationPath, java.lang.String newName) throws java.rmi.RemoteException; /** * Copy a collection to the destination collection and rename it. * @param sessionId the session identifier * @param collectionPath the collection to rename * @param destinationPath the destination collection * @param newName the new name of the collection. * @throws java.rmi.RemoteException */ public void copyCollection(java.lang.String sessionId, java.lang.String collectionPath, java.lang.String destinationPath, java.lang.String newName) throws java.rmi.RemoteException; /** Create a new user. * Requires Admin privilege. * @param sessionId the session identifier * @param name the name of the new user * @param password the password for the new user * @param groups the new user should belong to these groups * @throws java.rmi.RemoteException */ public void setUser(java.lang.String sessionId, java.lang.String name, java.lang.String password, org.exist.soap.Strings groups, java.lang.String home) throws java.rmi.RemoteException; /** * Obtain information about an eXist user. * * @param sessionId the session identifier * @param user the user * @return the user information - name, groups and home collection * @throws java.rmi.RemoteException if user doesn't exist */ public org.exist.soap.UserDesc getUser(java.lang.String sessionId, java.lang.String user) throws java.rmi.RemoteException; /** * Remove an eXist user account. * * Requires Admin privilege * @param sessionId the session identifier * @param name the name of the user * @throws java.rmi.RemoteException */ public void removeUser(java.lang.String sessionId, java.lang.String name) throws java.rmi.RemoteException; /** * Get an list of users * * @param sessionId the session identifier * @return an array of user infomation (name, groups, home collection) * @throws java.rmi.RemoteException */ public org.exist.soap.UserDescs getUsers(java.lang.String sessionId) throws java.rmi.RemoteException; /** * Obtain a list of the defined database groups * * @param sessionId the session identifier * @return the list of groups * @throws java.rmi.RemoteException */ public org.exist.soap.Strings getGroups(java.lang.String sessionId) throws java.rmi.RemoteException; /** * Move a collection and its contents. * * @param sessionId the session isentifier * @param collectionPath the collection to move * @param destinationPath the new parent collection * @param newName the new collection name * @throws java.rmi.RemoteException */ public void moveCollection(java.lang.String sessionId, java.lang.String collectionPath, java.lang.String destinationPath, java.lang.String newName) throws java.rmi.RemoteException; /** * Move a resource. * * @param sessionId the session identifier * @param docPath the resource to move * @param destinationPath the collection to receive the moved resource * @param newName the new name for the resource * @throws java.rmi.RemoteException */ public void moveResource(java.lang.String sessionId, java.lang.String docPath, java.lang.String destinationPath, java.lang.String newName) throws java.rmi.RemoteException; /** Place a write lock on the specified resource * @param sessionId the session identifier * @param path the path of the resource to lock * @param userName the user name of the lock owner * @throws java.rmi.RemoteException */ public void lockResource(java.lang.String sessionId, java.lang.String path, java.lang.String userName) throws java.rmi.RemoteException; /** Release the lock on the specified resource * @param sessionId the session identifier * @param path path of the resource to unlock * @throws java.rmi.RemoteException */ public void unlockResource(java.lang.String sessionId, java.lang.String path) throws java.rmi.RemoteException; /** Return the name of the user owning the lock on the specified resource * @param sessionId the session identifier * @param path the resource * @return the name of the lock owner or "" if there is no lock * @throws java.rmi.RemoteException */ public java.lang.String hasUserLock(java.lang.String sessionId, java.lang.String path) throws java.rmi.RemoteException; /** Return the permissions of the specified collection/document * @param sessionId the session identifier * @param resource the collection or document * @return the permissions (owner, group, access permissions) * @throws java.rmi.RemoteException */ public org.exist.soap.Permissions getPermissions(java.lang.String sessionId, java.lang.String resource) throws java.rmi.RemoteException; /** Return a list of the permissions of the child collections of the specified parent collection * @param sessionId the session identifier * @param name the name of the parent collection * @return array containing child collections with their permissions * @throws java.rmi.RemoteException */ public org.exist.soap.EntityPermissionsList listCollectionPermissions(java.lang.String sessionId, java.lang.String name) throws java.rmi.RemoteException; /** Return a list of the permissions of the child documents of the specified parent collection * @param sessionId the session identifier * @param name name of the parent collection * @return array containing documents with their permissions * @throws java.rmi.RemoteException */ public org.exist.soap.EntityPermissionsList listDocumentPermissions(java.lang.String sessionId, java.lang.String name) throws java.rmi.RemoteException; /** * Return a list of Indexed Elements for a collection * @param sessionId the session identifier * @param collectionName the collection name * @param inclusive include sub-collections ? * @return the list of Indexed Elements * @throws java.rmi.RemoteException */ public org.exist.soap.IndexedElements getIndexedElements(java.lang.String sessionId, java.lang.String collectionName, boolean inclusive) throws java.rmi.RemoteException; /** * Store a binary resource in the database * * @param sessionId the session identifier * @param data the binary data * @param path the path for the new resource * @param mimeType the mime type for the resource * @param replace replace resource if it already exists * @throws java.rmi.RemoteException */ public void storeBinary(java.lang.String sessionId, byte[] data, java.lang.String path, java.lang.String mimeType, boolean replace) throws java.rmi.RemoteException; }