Holger's
Java API

com.antelmann.sql
Class SortedGroupableSQLStore<T extends DBEntry & SortedGroupable<G>,G extends Keyword>

java.lang.Object
  extended by com.antelmann.db.WrappedDBClassStore<T>
      extended by com.antelmann.sql.WrappedDBClassStoreMapping<T>
          extended by com.antelmann.sql.TaggableSQLStore<T,G>
              extended by com.antelmann.sql.SortedGroupableSQLStore<T,G>
All Implemented Interfaces:
DBClassStore<T>, ProcessedFilterOption<T>, TransactionRequired, MappingInfo, TaggableMapping, ProcessorHook<T,DatabaseException>, Wrapped<DBClassStore<T>>

public class SortedGroupableSQLStore<T extends DBEntry & SortedGroupable<G>,G extends Keyword>
extends TaggableSQLStore<T,G>

a special store that supports SortedGroupable DBEntry instances

Since:
22.04.2009, 17:42:37
Author:
Holger Antelmann

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.antelmann.db.DBClassStore
DBClassStore.DBMethod
 
Field Summary
static Object INDEX_COLUMN
          allows to retrieve the index column through MappingInfo.getMappingForTopic(Object)
 
Fields inherited from class com.antelmann.sql.TaggableSQLStore
gmi
 
Fields inherited from class com.antelmann.db.WrappedDBClassStore
store
 
Constructor Summary
SortedGroupableSQLStore(DBClassStore<T> store, String groupTable, String idColumn, String groupColumn, String indexColumn, Class<G> groupType)
           
 
Method Summary
 String getIndexColumn()
           
 String getMappingForTopic(Object topic)
          allows to determine whether a specific given topic maps to a distinct table, query or column name.
protected  ArrayList<G> retrieveGroups(Object id)
           
protected  void storeGroups(T entry)
           
 
Methods inherited from class com.antelmann.sql.TaggableSQLStore
createGroup, deleteEntry, deleteGroups, deleteTag, getExistingTags, getGroupNameColumn, getTagIdColumn, getTagTable, getTagType, initGroups, renameTag
 
Methods inherited from class com.antelmann.sql.WrappedDBClassStoreMapping
addColumnsForTopic, addTopicMapping, getColumnDisplayMapping, getColumnNames, getColumnsForTopic, getColumnSize, getDisplayColumn, getDisplayNameForColumn, getIDColumn, getSQLTypeforColumn, getSupportedTopicColumns, getTableName, getTableQuery, removeColumnTopics, removeTopicMapping, setColumnsForTopic
 
Methods inherited from class com.antelmann.db.WrappedDBClassStore
add, checkReadAccess, checkWriteAccess, containsID, deleteEntries, deleteEntriesIndividually, exposesInterfaces, fetch, fetchStubs, generateNewID, getAccessFilter, getAccessStubFilter, getDatabase, getEntry, getEntryClass, getFetchProcessor, getPreStoreHandler, getStoreHandler, getStub, getStubProcessor, insert, insertAsNew, isApplyFilterProcessingRecursively, isDeleteEntriesIndividually, isEnsureTransactionsOnFetch, isProcessBeforeFiltering, queryForInterface, remove, setAccessFilter, setAccessStubFilter, setApplyFilterProcessingRecursively, setDeleteEntriesIndividually, setEnsureTransactionsOnFetch, setExposesInterfaces, setFetchProcessor, setPreStoreHandler, setProcessBeforeFiltering, setProcessBeforeFiltering, setStoreHandler, setStubProcessor, size, unwrap, update, wrapFilterForProcessing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INDEX_COLUMN

public static final Object INDEX_COLUMN
allows to retrieve the index column through MappingInfo.getMappingForTopic(Object)

Constructor Detail

SortedGroupableSQLStore

public SortedGroupableSQLStore(DBClassStore<T> store,
                               String groupTable,
                               String idColumn,
                               String groupColumn,
                               String indexColumn,
                               Class<G> groupType)
Method Detail

getIndexColumn

public String getIndexColumn()

getMappingForTopic

public String getMappingForTopic(Object topic)
Description copied from interface: MappingInfo
allows to determine whether a specific given topic maps to a distinct table, query or column name.

Specified by:
getMappingForTopic in interface MappingInfo
Overrides:
getMappingForTopic in class WrappedDBClassStoreMapping<T extends DBEntry & SortedGroupable<G>>
Returns:
either a table name, a column name, a query string or null - depending on the given topic

storeGroups

protected void storeGroups(T entry)
                    throws DatabaseException
Overrides:
storeGroups in class TaggableSQLStore<T extends DBEntry & SortedGroupable<G>,G extends Keyword>
Throws:
DatabaseException

retrieveGroups

protected ArrayList<G> retrieveGroups(Object id)
                                               throws SQLException
Overrides:
retrieveGroups in class TaggableSQLStore<T extends DBEntry & SortedGroupable<G>,G extends Keyword>
Throws:
SQLException


(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads