## gate.corpora
Class DatabaseDocumentImpl

    java.lang.Object
      |
      +--gate.util.AbstractFeatureBearer
            |
            +--gate.creole.AbstractResource
                  |
                  +--gate.creole.AbstractLanguageResource
                        |
                        +--gate.corpora.DocumentImpl
                              |
                              +--gate.corpora.DatabaseDocumentImpl

All Implemented Interfaces:
  Comparable, CreoleListener, DatastoreListener, Document, EventAwareDocument, EventAwareLanguageResource, EventListener, FeatureBearer, LanguageResource, NameBearer, Resource, Serializable

public class DatabaseDocumentImpl
extends DocumentImpl
implements DatastoreListener, Document, EventAwareDocument

See Also:
  Serialized Form

Inner Class Summary
`(package private) class` `DatabaseDocumentImpl.EventsHandler` All the events from the features are handled by this inner class.

Inner classes inherited from class gate.corpora.DocumentImpl
`DocumentImpl.AnnotationComparator`

Field Summary
`private Collection` `addedAnotationSets`
`private boolean` `contentChanged`
`private Object` `contentLock`
`private static boolean` `DEBUG`
`private boolean` `documentChanged`
`protected DatabaseDocumentImpl.EventsHandler` `eventHandler` The listener for the events coming from the features.
`private boolean` `featuresChanged`
`private boolean` `isContentRead`
`private Connection` `jdbcConn`
`private boolean` `nameChanged`
`private int` `poolMarker`
`private Collection` `removedAnotationSets`
`private static int` `SEQUENCE_POOL_SIZE`
`private Integer[]` `sequencePool`

Fields inherited from class gate.corpora.DocumentImpl
`addGatePreserveFormatTag, ASC, content, defaultAnnots, DESC, DOC_SIZE_MULTIPLICATION_FACTOR, documentListeners, encoding, entitiesMap, gateListeners, isRootTag, markupAware, namedAnnotSets, nextAnnotationId, nextNodeId, ORDER_ON_ANNOT_ID, ORDER_ON_END_OFFSET, ORDER_ON_START_OFFSET, serialVersionUID, sourceUrl, sourceUrlEndOffset, sourceUrlStartOffset, stringContent`

Fields inherited from class gate.creole.AbstractLanguageResource
`dataStore, lrPersistentId`

Fields inherited from class gate.creole.AbstractResource
`name`

Fields inherited from class gate.util.AbstractFeatureBearer
`features`

Fields inherited from interface gate.corpora.EventAwareLanguageResource
`DOC_CONTENT, DOC_MAIN, RES_FEATURES, RES_NAME`

Constructor Summary
`DatabaseDocumentImpl(Connection conn)`
`DatabaseDocumentImpl(Connection _conn, String _name, DatabaseDataStore _ds, Long _persistenceID, DocumentContent _content, FeatureMap _features, Boolean _isMarkupAware, URL _sourceURL, Long _urlStartOffset, Long _urlEndOffset, AnnotationSet _default, Map _named)`

Method Summary
`private void` `_getAnnotations(String name)`
`private void` `_readContent()`
`private HashMap` `_readFeatures(Long asetID)`
`private void` `_setAnnotations(String setName, Collection annotations)`
`void` `cleanup()` Overriden to remove the features listener, when the document is closed.
`Collection` `getAddedAnnotationSets()`
`AnnotationSet` `getAnnotations()` Get the default set of annotations.
`AnnotationSet` `getAnnotations(String name)` Get a named set of annotations.
`private List` `getAnnotationsForOffset(AnnotationSet aDumpAnnotSet, Long offset)` This method returns a list with annotations ordered that way that they can be serialized from left to right, at the offset.
`DocumentContent` `getContent()` The content of the document: a String for text; MPEG for video; etc.
`String` `getEncoding()` Get the encoding of the document content source
`Collection` `getLoadedAnnotationSets()`
`Map` `getNamedAnnotationSets()` Returns a map with the named annotation sets.
`Collection` `getRemovedAnnotationSets()`
`boolean` `isResourceChanged(int changeType)` Generate and return the next annotation ID
`void` `removeAnnotationSet(String name)` Removes one of the named annotation sets.
`void` `resourceAdopted(DatastoreEvent evt)` Called by a datastore when a new resource has been adopted
`void` `resourceDeleted(DatastoreEvent evt)` Called by a datastore when a resource has been deleted
`void` `resourceWritten(DatastoreEvent evt)` Called by a datastore when a resource has been wrote into the datastore
`void` `setContent(DocumentContent content)` Set method for the document content
`void` `setFeatures(FeatureMap features)` Set the feature set
`void` `setMarkupAware(Boolean newMarkupAware)` Make the document markup-aware.
`void` `setName(String name)` Sets the name of this resource
`void` `setSourceUrl(URL sourceUrl)` Set method for the document's URL
`void` `setSourceUrlEndOffset(Long sourceUrlEndOffset)` Documents may be packed within files; in this case an optional pair of offsets refer to the location of the document.
`void` `setSourceUrlStartOffset(Long sourceUrlStartOffset)` Documents may be packed within files; in this case an optional pair of offsets refer to the location of the document.

Methods inherited from class gate.corpora.DocumentImpl

`<clinit>, addDocumentListener, annotationSetToXml, buildEntityMapFromString, check, compareTo, datastoreClosed, datastoreCreated, datastoreOpened, edit, equals, featuresToXml, filterNonXmlChars, fireAnnotationSetAdded, fireAnnotationSetRemoved, getMarkupAware, getNextAnnotationId, getNextNodeId, getOrderingString, getSourceUrl, getSourceUrlEndOffset, getSourceUrlOffsets, getSourceUrlStartOffset, getStringContent, hashCode, init, insertsSafety, isValidOffset, isValidOffsetRange, isXmlChar, removeDocumentListener, replaceCharsWithEntities, resourceLoaded, resourceUnloaded, saveAnnotationSetAsXml, setEncoding, setLRPersistenceId, setNextAnnotationId, setStringContent, textWithNodes, toString, toXml, toXml, writeEmptyTag, writeEndTag, writeFeatures, writeStartTag`

Methods inherited from class gate.creole.AbstractLanguageResource
`getDataStore, getLRPersistenceId, setDataStore, sync`

Methods inherited from class gate.creole.AbstractResource
`checkParameterValues, getName, getParameterValue, getParameterValue, removeResourceListeners, setParameterValue, setParameterValue, setParameterValues, setParameterValues, setResourceListeners`

Methods inherited from class gate.util.AbstractFeatureBearer
`getFeatures`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait`

Methods inherited from interface gate.Document
`addDocumentListener, edit, getMarkupAware, getSourceUrl, getSourceUrlEndOffset, getSourceUrlOffsets, getSourceUrlStartOffset, removeDocumentListener, toXml, toXml`

Methods inherited from interface gate.LanguageResource
`getDataStore, getLRPersistenceId, setDataStore, setLRPersistenceId, sync`

Methods inherited from interface gate.Resource
`getParameterValue, init, setParameterValue, setParameterValues`

Methods inherited from interface gate.util.FeatureBearer
`getFeatures`

Methods inherited from interface gate.util.NameBearer
`getName`

Methods inherited from interface java.lang.Comparable
`compareTo`

Field Detail

### DEBUG

    private static final boolean DEBUG

### isContentRead

    private boolean isContentRead

### contentLock

    private Object contentLock

### jdbcConn

    private Connection jdbcConn

### contentChanged

    private boolean contentChanged

### featuresChanged

    private boolean featuresChanged

### nameChanged

    private boolean nameChanged

### documentChanged

    private boolean documentChanged

### removedAnotationSets

    private Collection removedAnotationSets

### addedAnotationSets

    private Collection addedAnotationSets

### SEQUENCE_POOL_SIZE

    private static final int SEQUENCE_POOL_SIZE

### sequencePool

    private Integer[] sequencePool

### poolMarker

    private int poolMarker

### eventHandler

    protected DatabaseDocumentImpl.EventsHandler eventHandler

  The listener for the events coming from the features.

Constructor Detail

### DatabaseDocumentImpl

    public DatabaseDocumentImpl(Connection conn)

### DatabaseDocumentImpl

    public DatabaseDocumentImpl(Connection _conn,
                                String _name,
                                DatabaseDataStore _ds,
                                Long _persistenceID,
                                DocumentContent _content,
                                FeatureMap _features,
                                Boolean _isMarkupAware,
                                URL _sourceURL,
                                Long _urlStartOffset,
                                Long _urlEndOffset,
                                AnnotationSet _default,
                                Map _named)

Method Detail

### getContent

    public DocumentContent getContent()

  The content of the document: a String for text; MPEG for video; etc.
  Specified by:
    `getContent` in interface `Document`
  Overrides:
    `getContent` in class `DocumentImpl`

### _readContent

    private void _readContent()

### getEncoding

    public String getEncoding()

  Get the encoding of the document content source
  Overrides:
    `getEncoding` in class `DocumentImpl`

### getNamedAnnotationSets

    public Map getNamedAnnotationSets()

  Returns a map with the named annotation sets. It returns `null` if no named annotaton set exists.
  Specified by:
    `getNamedAnnotationSets` in interface `Document`
  Overrides:
    `getNamedAnnotationSets` in class `DocumentImpl`

### getAnnotations

    public AnnotationSet getAnnotations()

  Get the default set of annotations. The set is created if it doesn't exist yet.
  Specified by:
    `getAnnotations` in interface `Document`
  Overrides:
    `getAnnotations` in class `DocumentImpl`

### getAnnotations

    public AnnotationSet getAnnotations(String name)

  Get a named set of annotations. Creates a new set if one with this name doesn't exist yet. If the provided name is null then it returns the default annotation set.
  Specified by:
    `getAnnotations` in interface `Document`
  Overrides:
    `getAnnotations` in class `DocumentImpl`

### _getAnnotations

    private void _getAnnotations(String name)

### _readFeatures

    private HashMap _readFeatures(Long asetID)

### setContent

    public void setContent(DocumentContent content)

  Set method for the document content
  Specified by:
    `setContent` in interface `Document`
  Overrides:
    `setContent` in class `DocumentImpl`

### setFeatures

    public void setFeatures(FeatureMap features)

  Set the feature set
  Specified by:
    `setFeatures` in interface `FeatureBearer`
  Overrides:
    `setFeatures` in class `AbstractFeatureBearer`

### setName

    public void setName(String name)

  Sets the name of this resource
  Specified by:
    `setName` in interface `NameBearer`
  Overrides:
    `setName` in class `AbstractResource`

### getAnnotationsForOffset

    private List getAnnotationsForOffset(AnnotationSet aDumpAnnotSet,
                                         Long offset)

  Description copied from class: `DocumentImpl`
  This method returns a list with annotations ordered that way that they can be serialized from left to right, at the offset. If one of the params is null then an empty list will be returned.
  Overrides:
    `getAnnotationsForOffset` in class `DocumentImpl`
  Following copied from class: `gate.corpora.DocumentImpl`
  Parameters:
    `aDumpAnnotSet` - is a set containing all annotations that will be dumped.
    `offset` - represent the offset at witch the annotation must start AND/OR end.
  Returns:
    a list with those annotations that need to be serialized.

### isResourceChanged

    public boolean isResourceChanged(int changeType)

  Generate and return the next annotation ID
  Specified by:
    `isResourceChanged` in interface `EventAwareLanguageResource`

### _setAnnotations

    private void _setAnnotations(String setName,
                                 Collection annotations)

### setSourceUrl

    public void setSourceUrl(URL sourceUrl)

  Set method for the document's URL
  Specified by:
    `setSourceUrl` in interface `Document`
  Overrides:
    `setSourceUrl` in class `DocumentImpl`

### setSourceUrlEndOffset

    public void setSourceUrlEndOffset(Long sourceUrlEndOffset)

  Documents may be packed within files; in this case an optional pair of offsets refer to the location of the document. This method sets the end offset.
  Specified by:
    `setSourceUrlEndOffset` in interface `Document`
  Overrides:
    `setSourceUrlEndOffset` in class `DocumentImpl`

### setSourceUrlStartOffset

    public void setSourceUrlStartOffset(Long sourceUrlStartOffset)

  Documents may be packed within files; in this case an optional pair of offsets refer to the location of the document. This method sets the start offset.
  Specified by:
    `setSourceUrlStartOffset` in interface `Document`
  Overrides:
    `setSourceUrlStartOffset` in class `DocumentImpl`

### setMarkupAware

    public void setMarkupAware(Boolean newMarkupAware)

  Make the document markup-aware. This will trigger the creation of a DocumentFormat object at Document initialisation time; the DocumentFormat object will unpack the markup in the Document and add it as annotations. Documents are not markup-aware by default.
  Specified by:
    `setMarkupAware` in interface `Document`
  Overrides:
    `setMarkupAware` in class `DocumentImpl`
  Parameters:
    `b` - markup awareness status.

### cleanup

    public void cleanup()

  Overriden to remove the features listener, when the document is closed.
  Specified by:
    `cleanup` in interface `Resource`
  Overrides:
    `cleanup` in class `DocumentImpl`

### resourceAdopted

    public void resourceAdopted(DatastoreEvent evt)

  Called by a datastore when a new resource has been adopted
  Specified by:
    `resourceAdopted` in interface `DatastoreListener`

### resourceDeleted

    public void resourceDeleted(DatastoreEvent evt)

  Called by a datastore when a resource has been deleted
  Specified by:
    `resourceDeleted` in interface `DatastoreListener`

### resourceWritten

    public void resourceWritten(DatastoreEvent evt)

  Called by a datastore when a resource has been wrote into the datastore
  Specified by:
    `resourceWritten` in interface `DatastoreListener`

### getLoadedAnnotationSets

    public Collection getLoadedAnnotationSets()

  Specified by:
    `getLoadedAnnotationSets` in interface `EventAwareDocument`

### getRemovedAnnotationSets

    public Collection getRemovedAnnotationSets()

  Specified by:
    `getRemovedAnnotationSets` in interface `EventAwareDocument`

### getAddedAnnotationSets

    public Collection getAddedAnnotationSets()

  Specified by:
    `getAddedAnnotationSets` in interface `EventAwareDocument`

### removeAnnotationSet

    public void removeAnnotationSet(String name)

  Description copied from interface: `Document`
  Removes one of the named annotation sets. Note that the default annotation set cannot be removed.
  Specified by:
    `removeAnnotationSet` in interface `Document`
  Overrides:
    `removeAnnotationSet` in class `DocumentImpl`
  Following copied from interface: `gate.Document`
  Parameters:
    `name` - the name of the annotation set to be removed