|
||||||||||
| 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(String, 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(java.lang.String name)
|
|
| Method Summary | |
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
java.lang.String name,
byte[] data,
java.lang.String mimeType)
|
BinaryDocument |
addBinaryResource(Txn transaction,
DBBroker broker,
java.lang.String name,
byte[] data,
java.lang.String mimeType,
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,
java.lang.String name)
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,
java.lang.String name)
Retrieve a child resource after putting a read lock on it. |
DocumentImpl |
getDocumentWithLock(DBBroker broker,
java.lang.String name,
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()
|
java.lang.String |
getName()
Get the name of this collection. |
java.lang.String |
getParentPath()
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. |
boolean |
hasChildCollection(java.lang.String name)
|
boolean |
hasDocument(java.lang.String name)
Check if the collection has a child document. |
boolean |
hasSubcollection(java.lang.String 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,
java.lang.String docName)
|
void |
removeCollection(java.lang.String name)
Remove the specified sub-collection. |
void |
removeXMLResource(Txn transaction,
DBBroker broker,
java.lang.String docname)
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 |
setName(java.lang.String name)
|
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,
java.lang.String docName,
org.xml.sax.InputSource source)
|
IndexInfo |
validateXMLResource(Txn transaction,
DBBroker broker,
java.lang.String docName,
org.w3c.dom.Node node)
|
IndexInfo |
validateXMLResource(Txn transaction,
DBBroker broker,
java.lang.String docName,
java.lang.String data)
|
void |
write(DBBroker broker,
VariableByteOutputStream ostream)
Write collection contents to stream. |
| Methods inherited from class java.util.Observable |
clearChanged, countObservers, deleteObserver, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final short UNKNOWN_COLLECTION_ID
| Constructor Detail |
public Collection()
public Collection(java.lang.String name)
| Method Detail |
public void setName(java.lang.String name)
public Lock getLockOld()
public Lock getLock()
public void addCollection(DBBroker broker,
Collection child,
boolean isNew)
public boolean hasChildCollection(java.lang.String name)
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)
recursive -
public DocumentSet getDocuments(DBBroker broker,
DocumentSet docs,
boolean checkPermissions)
docs - public boolean allowUnload()
allowUnload in interface Cacheablepublic int compareTo(java.lang.Object obj)
compareTo in interface java.lang.Comparablepublic boolean equals(java.lang.Object obj)
public int getChildCollectionCount()
public DocumentImpl getDocument(DBBroker broker,
java.lang.String name)
name - The name of the document (without collection path)
public DocumentImpl getDocumentWithLock(DBBroker broker,
java.lang.String name)
throws LockException
broker - name -
LockException
public DocumentImpl getDocumentWithLock(DBBroker broker,
java.lang.String name,
int lockMode)
throws LockException
broker - name -
LockExceptionpublic void releaseDocument(DocumentImpl doc)
doc - public int getDocumentCount()
public short getId()
public java.lang.String getName()
public java.lang.String getParentPath()
public Permission getPermissions()
public boolean hasDocument(java.lang.String name)
name - the name (without path) of the document
public boolean hasSubcollection(java.lang.String 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(java.lang.String name)
throws LockException
name - Description of the Parameter
LockException
public void removeXMLResource(Txn transaction,
DBBroker broker,
java.lang.String docname)
throws PermissionDeniedException,
TriggerException,
LockException
PermissionDeniedException
TriggerException
LockException
public void removeBinaryResource(Txn transaction,
DBBroker broker,
java.lang.String docName)
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,
java.lang.String docName,
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,
java.lang.String docName,
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,
java.lang.String docName,
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,
java.lang.String name,
byte[] data,
java.lang.String mimeType)
throws EXistException,
PermissionDeniedException,
LockException,
TriggerException
EXistException
PermissionDeniedException
LockException
TriggerException
public BinaryDocument addBinaryResource(Txn transaction,
DBBroker broker,
java.lang.String name,
byte[] data,
java.lang.String mimeType,
java.util.Date created,
java.util.Date modified)
throws EXistException,
PermissionDeniedException,
LockException,
TriggerException
EXistException
PermissionDeniedException
LockException
TriggerExceptionpublic 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.IOExceptionpublic 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.EntityResolverorg.xml.sax.SAXException
java.io.IOExceptionEntityResolver.resolveEntity(java.lang.String, java.lang.String)public void addObserver(java.util.Observer o)
public void deleteObservers()
public long getKey()
Cacheable
getKey in interface Cacheablepublic int getReferenceCount()
Cacheable
getReferenceCount in interface Cacheablepublic int incReferenceCount()
Cacheable
incReferenceCount in interface Cacheablepublic int decReferenceCount()
Cacheable
decReferenceCount in interface Cacheablepublic void setReferenceCount(int count)
Cacheable
setReferenceCount in interface Cacheablecount - public void setTimestamp(int timestamp)
Cacheable
setTimestamp in interface Cacheabletimestamp - public int getTimestamp()
Cacheable
getTimestamp in interface Cacheablepublic boolean sync(boolean syncJournal)
Cacheable
sync in interface Cacheablepublic boolean isDirty()
isDirty in interface Cacheablepublic 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 | |||||||||