|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Observable
org.exist.collections.Collection
This class represents a collection in the database. A collection maintains a list of
sub-collections and documents, and provides the methods to store/remove resources.
Collections are shared between DBBroker
instances. The caller
is responsible to lock/unlock the collection. Call DBBroker.openCollection(XmldbURI, int)
to get a collection with a read or write lock and release()
to release the lock.
Field Summary | |
static short |
UNKNOWN_COLLECTION_ID
|
Fields inherited from interface org.exist.storage.cache.Cacheable |
MAX_REF |
Constructor Summary | |
Collection()
|
|
Collection(XmldbURI path)
|
Method Summary | |
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
byte[] data,
java.lang.String mimeType)
|
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
byte[] data,
java.lang.String mimeType,
java.util.Date created,
java.util.Date modified)
|
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
java.io.InputStream is,
java.lang.String mimeType,
int size)
|
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
java.io.InputStream is,
java.lang.String mimeType,
int size,
java.util.Date created,
java.util.Date modified)
|
void |
addCollection(DBBroker broker,
Collection child,
boolean isNew)
Add a new sub-collection to the collection. |
void |
addDocument(Txn transaction,
DBBroker broker,
DocumentImpl doc)
Add a document to the collection. |
void |
addObserver(java.util.Observer o)
|
DocumentSet |
allDocs(DBBroker broker,
DocumentSet docs,
boolean recursive,
boolean checkPermissions)
Retrieve all documents contained in this collections. |
boolean |
allowUnload()
Check if this collection may be safely removed from the cache. |
java.util.Iterator |
collectionIterator()
Return an iterator over all subcollections. |
int |
compareTo(java.lang.Object obj)
|
int |
decReferenceCount()
Decrease the reference count of this object by one and return it. |
void |
deleteObservers()
|
boolean |
equals(java.lang.Object obj)
|
long |
getAddress()
|
int |
getChildCollectionCount()
Return the number of child-collections managed by this collection. |
CollectionConfiguration |
getConfiguration(DBBroker broker)
|
long |
getCreationTime()
|
java.util.List |
getDescendants(DBBroker broker,
User user)
Load all collections below this collections and return them in a List. |
DocumentImpl |
getDocument(DBBroker broker,
XmldbURI path)
Get a child resource as identified by path. |
int |
getDocumentCount()
Returns the number of documents in this collection. |
DocumentSet |
getDocuments(DBBroker broker,
DocumentSet docs,
boolean checkPermissions)
Add all documents to the specified document set. |
DocumentImpl |
getDocumentWithLock(DBBroker broker,
XmldbURI name)
Retrieve a child resource after putting a read lock on it. |
DocumentImpl |
getDocumentWithLock(DBBroker broker,
XmldbURI uri,
int lockMode)
Retrieve a child resource after putting a read lock on it. |
short |
getId()
Get the internal id. |
IndexSpec |
getIdxConf(DBBroker broker)
|
long |
getKey()
Get a unique key for the object. |
Lock |
getLock()
|
Lock |
getLockOld()
|
XmldbURI |
getParentURI()
Returns the parent-collection. |
Permission |
getPermissions()
Gets the permissions attribute of the Collection object |
int |
getReferenceCount()
Get the current reference count. |
int |
getTimestamp()
Get the current timestamp marker. |
XmldbURI |
getURI()
Get the name of this collection. |
boolean |
hasChildCollection(XmldbURI path)
|
boolean |
hasDocument(XmldbURI uri)
Check if the collection has a child document. |
boolean |
hasSubcollection(XmldbURI name)
Check if the collection has a sub-collection. |
int |
incReferenceCount()
Increase the reference count of this object by one and return it. |
void |
invalidateConfiguration()
|
boolean |
isDirty()
|
boolean |
isTempCollection()
Returns true if this is a temporary collection. |
java.util.Iterator |
iterator(DBBroker broker)
Returns an iterator on the child-documents in this collection. |
void |
read(DBBroker broker,
VariableByteInput istream)
Read collection contents from the stream. |
void |
release()
Closes the collection, i.e. |
void |
releaseDocument(DocumentImpl doc)
Release any locks held on the document. |
void |
removeBinaryResource(Txn transaction,
DBBroker broker,
DocumentImpl doc)
|
void |
removeBinaryResource(Txn transaction,
DBBroker broker,
XmldbURI uri)
|
void |
removeCollection(XmldbURI name)
Remove the specified sub-collection. |
void |
removeXMLResource(Txn transaction,
DBBroker broker,
XmldbURI docUri)
Remove the specified document from the collection. |
org.xml.sax.InputSource |
resolveEntity(java.lang.String publicId,
java.lang.String systemId)
Try to resolve external entities. |
void |
setAddress(long addr)
Set the internal storage address of the collection data. |
void |
setConfigEnabled(boolean enabled)
Should the collection configuration document be enabled for this collection? Called by NativeBroker
before doing a reindex. |
void |
setCreationTime(long ms)
|
void |
setId(short id)
|
void |
setPath(XmldbURI path)
|
void |
setPermissions(int mode)
|
void |
setPermissions(Permission permissions)
Set permissions for the collection. |
void |
setPermissions(java.lang.String mode)
|
void |
setReader(org.xml.sax.XMLReader reader)
set user-defined Reader |
void |
setReferenceCount(int count)
Set the reference count of this object. |
void |
setTimestamp(int timestamp)
Set the timestamp marker. |
void |
setTriggersEnabled(boolean enabled)
|
void |
store(Txn transaction,
DBBroker broker,
IndexInfo info,
org.xml.sax.InputSource source,
boolean privileged)
|
void |
store(Txn transaction,
DBBroker broker,
IndexInfo info,
org.w3c.dom.Node node,
boolean privileged)
|
void |
store(Txn transaction,
DBBroker broker,
IndexInfo info,
java.lang.String data,
boolean privileged)
|
boolean |
sync(boolean syncJournal)
Called before the object is released by the cache. |
java.lang.String |
toString()
|
void |
unlinkDocument(DocumentImpl doc)
Removes the document from the internal list of resources, but doesn't delete the document object itself. |
void |
update(Collection child)
Update the specified child-collection. |
IndexInfo |
validateXMLResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
org.xml.sax.InputSource source)
|
IndexInfo |
validateXMLResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
org.w3c.dom.Node node)
|
IndexInfo |
validateXMLResource(Txn transaction,
DBBroker broker,
XmldbURI docUri,
java.lang.String data)
|
void |
write(DBBroker broker,
VariableByteOutputStream ostream)
Write collection contents to stream. |
Methods inherited from class java.util.Observable |
countObservers, deleteObserver, hasChanged, notifyObservers, notifyObservers |
Methods inherited from class java.lang.Object |
getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final short UNKNOWN_COLLECTION_ID
Constructor Detail |
public Collection()
public Collection(XmldbURI path)
Method Detail |
public void setPath(XmldbURI path)
public Lock getLockOld()
public Lock getLock()
public void addCollection(DBBroker broker, Collection child, boolean isNew)
public boolean hasChildCollection(XmldbURI path)
public boolean isTempCollection()
public void release()
public void update(Collection child)
child
- public void addDocument(Txn transaction, DBBroker broker, DocumentImpl doc)
doc
- public void unlinkDocument(DocumentImpl doc)
doc
- public java.util.Iterator collectionIterator()
public java.util.List getDescendants(DBBroker broker, User user)
public DocumentSet allDocs(DBBroker broker, DocumentSet docs, boolean recursive, boolean checkPermissions)
broker
- docs
- recursive
- checkPermissions
-
public DocumentSet getDocuments(DBBroker broker, DocumentSet docs, boolean checkPermissions)
docs
- public boolean allowUnload()
allowUnload
in interface Cacheable
public int compareTo(java.lang.Object obj)
compareTo
in interface java.lang.Comparable
public boolean equals(java.lang.Object obj)
public int getChildCollectionCount()
public DocumentImpl getDocument(DBBroker broker, XmldbURI path)
broker
- path
- The name of the document (without collection path)
public DocumentImpl getDocumentWithLock(DBBroker broker, XmldbURI name) throws LockException
broker
- name
-
LockException
public DocumentImpl getDocumentWithLock(DBBroker broker, XmldbURI uri, int lockMode) throws LockException
broker
- uri
- lockMode
-
LockException
public void releaseDocument(DocumentImpl doc)
doc
- public int getDocumentCount()
public short getId()
public XmldbURI getURI()
public XmldbURI getParentURI()
public Permission getPermissions()
public boolean hasDocument(XmldbURI uri)
uri
- the name (without path) of the document
public boolean hasSubcollection(XmldbURI name)
name
- the name of the subcollection (without path).
public java.util.Iterator iterator(DBBroker broker)
public void read(DBBroker broker, VariableByteInput istream) throws java.io.IOException
istream
-
java.io.IOException
public void removeCollection(XmldbURI name) throws LockException
name
- Description of the Parameter
LockException
public void removeXMLResource(Txn transaction, DBBroker broker, XmldbURI docUri) throws PermissionDeniedException, TriggerException, LockException
transaction
- broker
- docUri
-
PermissionDeniedException
TriggerException
LockException
public void removeBinaryResource(Txn transaction, DBBroker broker, XmldbURI uri) throws PermissionDeniedException, LockException, TriggerException
PermissionDeniedException
LockException
TriggerException
public void removeBinaryResource(Txn transaction, DBBroker broker, DocumentImpl doc) throws PermissionDeniedException, LockException, TriggerException
PermissionDeniedException
LockException
TriggerException
public void store(Txn transaction, DBBroker broker, IndexInfo info, org.xml.sax.InputSource source, boolean privileged) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public void store(Txn transaction, DBBroker broker, IndexInfo info, java.lang.String data, boolean privileged) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public void store(Txn transaction, DBBroker broker, IndexInfo info, org.w3c.dom.Node node, boolean privileged) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public IndexInfo validateXMLResource(Txn transaction, DBBroker broker, XmldbURI docUri, java.lang.String data) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public IndexInfo validateXMLResource(Txn transaction, DBBroker broker, XmldbURI docUri, org.xml.sax.InputSource source) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public IndexInfo validateXMLResource(Txn transaction, DBBroker broker, XmldbURI docUri, org.w3c.dom.Node node) throws EXistException, PermissionDeniedException, TriggerException, org.xml.sax.SAXException, LockException
EXistException
PermissionDeniedException
TriggerException
org.xml.sax.SAXException
LockException
public BinaryDocument addBinaryResource(Txn transaction, DBBroker broker, XmldbURI docUri, byte[] data, java.lang.String mimeType) throws EXistException, PermissionDeniedException, LockException, TriggerException
EXistException
PermissionDeniedException
LockException
TriggerException
public BinaryDocument addBinaryResource(Txn transaction, DBBroker broker, XmldbURI docUri, byte[] data, java.lang.String mimeType, java.util.Date created, java.util.Date modified) throws EXistException, PermissionDeniedException, LockException, TriggerException
EXistException
PermissionDeniedException
LockException
TriggerException
public BinaryDocument addBinaryResource(Txn transaction, DBBroker broker, XmldbURI docUri, java.io.InputStream is, java.lang.String mimeType, int size) throws EXistException, PermissionDeniedException, LockException, TriggerException
EXistException
PermissionDeniedException
LockException
TriggerException
public BinaryDocument addBinaryResource(Txn transaction, DBBroker broker, XmldbURI docUri, java.io.InputStream is, java.lang.String mimeType, int size, java.util.Date created, java.util.Date modified) throws EXistException, PermissionDeniedException, LockException, TriggerException
EXistException
PermissionDeniedException
LockException
TriggerException
public void setId(short id)
public void setPermissions(int mode) throws LockException
LockException
public void setPermissions(java.lang.String mode) throws SyntaxException, LockException
SyntaxException
LockException
public void setPermissions(Permission permissions) throws LockException
permissions
-
LockException
public void write(DBBroker broker, VariableByteOutputStream ostream) throws java.io.IOException
ostream
-
java.io.IOException
public CollectionConfiguration getConfiguration(DBBroker broker)
public void setConfigEnabled(boolean enabled)
NativeBroker
before doing a reindex.
enabled
- public void invalidateConfiguration()
public void setAddress(long addr)
addr
- public long getAddress()
public void setCreationTime(long ms)
public long getCreationTime()
public void setTriggersEnabled(boolean enabled)
public void setReader(org.xml.sax.XMLReader reader)
public org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId) throws org.xml.sax.SAXException, java.io.IOException
resolveEntity
in interface org.xml.sax.EntityResolver
org.xml.sax.SAXException
java.io.IOException
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
public void addObserver(java.util.Observer o)
public void deleteObservers()
public long getKey()
Cacheable
getKey
in interface Cacheable
public int getReferenceCount()
Cacheable
getReferenceCount
in interface Cacheable
public int incReferenceCount()
Cacheable
incReferenceCount
in interface Cacheable
public int decReferenceCount()
Cacheable
decReferenceCount
in interface Cacheable
public void setReferenceCount(int count)
Cacheable
setReferenceCount
in interface Cacheable
count
- public void setTimestamp(int timestamp)
Cacheable
setTimestamp
in interface Cacheable
timestamp
- public int getTimestamp()
Cacheable
getTimestamp
in interface Cacheable
public boolean sync(boolean syncJournal)
Cacheable
sync
in interface Cacheable
public boolean isDirty()
isDirty
in interface Cacheable
public java.lang.String toString()
public IndexSpec getIdxConf(DBBroker broker)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |