Holger's Java API

## Uses of Interface
com.antelmann.db.Database

Packages that use Database
com.antelmann.crm: Provides interfaces and classes for implementing applications dealing with Customer Relationship Management (CRM).
com.antelmann.db: This package contains generally useful classes for generic database management.
com.antelmann.db.remote: This package contains classes that add remote capacities to the database concept of the super package.
com.antelmann.genealogy.db: This package provides implementations that manage the persistence for the genealogy package.
com.antelmann.image: This package contains classes for more easily dealing with images.
com.antelmann.io: This package contains classes that are concerned with input/output operations.
com.antelmann.net.mail: The classes in this package are designed to ease the handling of emails.
com.antelmann.opengeodb: This package contains classes easing to deal with geological data as provided by http://opengeodb.org/.
com.antelmann.servlet: This package contains classes to help with the implementation of servlets.
com.antelmann.sql: This package contains classes to ease JDBC development and also provides useful SQL-based implementations for com.antelmann.db classes
com.antelmann.util: This package contains generally useful classes that are used throughout the other packages in this framework.
com.antelmann.util.gui: This package contains utility classes for GUI related implementations.

Uses of Database in com.antelmann.crm

Constructors in com.antelmann.crm with parameters of type Database
`FriendsEntryStore(Database<Connection> db, String table, String idColumn, String fromColumn, String toColumn, String commentColumn, IDFactory idFactory, Class<T> type, Class<? extends DBEntry> entriesWhoAreFriendsClass)`

Uses of Database in com.antelmann.db

Classes in com.antelmann.db that implement Database
`class` `AbstractDatabase<S>` a base class for implementing a database.

Fields in com.antelmann.db declared as Database
`protected Database<?>` `AbstractDBTransaction.database`

Methods in com.antelmann.db that return Database
`Database<?>` `WrappedDBClassStore.getDatabase()`
`Database<?>` `SessionIdGenerator.getDatabase()`
`Database<?>` `ReadOnlyCacheStore.getDatabase()`
`Database<?>` `DBTransaction.getDatabase()` gives access to the associated Database
`Database<?>` `DBClassStore.getDatabase()` provides access to the database instance that also coordinates the transaction management.
`Database<?>` `CollectionClassStore.getDatabase()`
`Database<?>` `AbstractDBTransaction.getDatabase()`
`Database<?>` `AbstractDBClassStore.getDatabase()`
`Database<?>[]` `DatabaseChangeMonitor.getDatabases()` returns all databases that are monitored

Methods in com.antelmann.db that return types with arguments of type Database
`MutableCategory<Database<?>>` `MutableCategory.Entry.getParentCategory()`
`Category<Database<?>>` `Category.Entry.getParentCategory()`
`List<? extends MutableCategory<Database<?>>>` `MutableCategory.Entry.getSubCategories(Database<?> context)`
`List<? extends Category<Database<?>>>` `Category.Entry.getSubCategories(Database<?> context)`

Methods in com.antelmann.db with parameters of type Database
`boolean` `DatabaseChangeMonitor.addDatabase(Database<?> db)` starts monitoring the given database; changes of any ongoing transaction may not trigger a notification from this monitor.
`static DBStoreProfiler` `DBStoreProfiler.addNewProfiler(Database<?> db)`
`void` `DBConfigListener.availableStoresChanged(Database<?> db)` called when the availability of class store changes
`static void` `DBUtils.commitEntries(Database<?> db, Iterator<? extends DBEntry> it)`

`static

`<T extends DBEntry> T`

`

`DBUtils.commitEntry(Database<?> db, T entry)`
commits the given entry to the database and returns the given entry

`void` `DatabaseChangeListener.committedDatabaseChanges(Database<?> db, DBUpdateEvent... events)` called after successfully committing the given DBUpdateEvents on the database.
`void` `DatabaseChangeListener.ClassListener.committedDatabaseChanges(Database<?> db, DBUpdateEvent... events)`
`void` `DatabaseChangeListener.LoggerListener.committedDatabaseChanges(Database<?> db, DBUpdateEvent... events)`
`static TableModel` `DBUtils.createMappingInfoModel(Database<?> db)`
`static TableModel` `DBUtils.createMappingInfoModel(Database<?> db, Monitor mon)`
`void` `DBConfigListener.currentDBUserChanged(Database<?> db)` called upon `setCurrentUser(User)`

`static

`<T extends DBEntry> int`

`

`DBUtils.delete(Database<?> db, Iterable<? extends DBReference> list)`
deletes the given entries from the database

`DBEntry` `DefaultDBReference.dereference(Database<?> db)`
`void` `Stub.ensureReferenceString(Database<?> db)`
`void` `DefaultDBReference.ensureReferenceString(Database<?> db)`
`static DBReference` `DBUtils.ensureReferenceString(Database<?> db, DBReference ref)`
`static void` `DefaultDBReference.ensureReferenceString(DBReference ref, Database<?> db)`
`static boolean` `DBUtils.exists(Database<?> db, DBReference ref)` determines whether there is a relevant store that contains the relevant id for the given reference in the given database
`static ArrayList<DBEntry>` `DBEntrySelection.extractEntries(Transferable t, Database<?> db)`
`static HashSet<DatabaseChangeMonitor>` `DatabaseChangeMonitor.findAllMonitors(Database<?> db)` convenience method to find all monitors on the given database that are added as both, store listener and transaction listener
`static Set<Class<? extends DBEntry>>` `DBUtils.findStoresWithID(Database<?> db, Object id)`
`protected void` `DatabaseChangeMonitor.fireChanges(Database<?> db, DBUpdateEvent... events)`
`static DBEntry` `DBUtils.get(Database<?> db, DBReference ref)` determines whether there is a relevant store that contains the relevant id for the given reference in the given database.
`protected DBUpdateEvent[]` `DatabaseChangeMonitor.getCurrentUpdates(Database<?> db)`
`T` `Stub.getOriginalInstance(Database<?> db)` retrieves and returns the original object for this stub
`static DBStoreProfiler` `DBStoreProfiler.getProfiler(Database<?> db)`
`T` `EntryHeader.getReferenceEntry(Database<?> db)` retrieves and returns the original object for this EntryHeader
`List<? extends MutableCategory<Database<?>>>` `MutableCategory.Entry.getSubCategories(Database<?> context)`
`List<? extends Category<Database<?>>>` `Category.Entry.getSubCategories(Database<?> context)`
`boolean` `DefaultEntryRelationship.isBroken(Database<?> db)` a relationship is NOT broken only if the following applies for both, the from-reference and the to-reference: there is a store in the database for the specified type there exists an entry with the id of the reference in the store
`static DatabaseChangeMonitor` `DBUtils.listenWhileVisible(JComponent c, Database<?> db, DatabaseChangeListener listener)` uses an `AncestorListener` on the given component to enable the listener only while it is displayed
`static Stub<?>` `DBUtils.loadStub(Database<?> db, DBReference ref)` reloads a reference as a stub, so that the display value is properly initialized.
`static DBStoreProfiler` `DBStoreProfiler.obtainProfiler(Database<?> db)`
`void` `Stub.reloadDisplayValue(Database<?> db)`
`Stub<T>` `Stub.reloadInstance(Database<?> db)`
`boolean` `DatabaseChangeMonitor.removeDatabase(Database<?> db)` stops monitoring the given database
`static DBEntry` `DBEntrySelection.resolve(DBReference ref, Database<?> db)`
`static void` `DBUtils.store(Database<?> db, DBEntry... entries)`
`static void` `DBUtils.store(Database<?> db, Iterator<? extends DBEntry> i)`

Method parameters in com.antelmann.db with type arguments of type Database
`protected void` `Category.Entry.setParentCategory(Category<Database<?>> parent)`
`void` `MutableCategory.Entry.setParentCategory(MutableCategory<Database<?>> parent)`

Constructors in com.antelmann.db with parameters of type Database
`AbstractDBClassStore(Database<?> db, Class<T> type)`
`AbstractDBTransaction(Database<?> database)`
`CollectionClassStore(Database<?> db, boolean serialize, Class<T> type, T... entries)`
`CollectionClassStore(Database<?> db, Class<T> type, boolean serialize)` use serialization for transactional consistent updates and leave it out for read-only stores.
`CollectionClassStore(Database<?> db, Class<T> type, boolean serialize, Collection<T> col)`
`DatabaseChangeMonitor(Database<?>... dbms)`
`DatabaseTableModel(Database<?> db)`
`DefaultDBReference(Database<?> db, Object referenceID, Class<? extends DBEntry> referenceClass)`
`EnumDBStore(Database<?> db, Class<T> type)`
`SessionIdGenerator(Database<?> db)`
`SessionIdGenerator(Database<?> db, int radix)` before any IDs can be retrieved, the instance must be initialized before use.

Constructor parameters in com.antelmann.db with type arguments of type Database
`Category.Entry(Object id, String categoryName, Category<Database<?>> parent)`
`MutableCategory.Entry(Object id, String categoryName, Category<Database<?>> parent)`

Uses of Database in com.antelmann.db.remote

Methods in com.antelmann.db.remote with parameters of type Database
`void` `RemoteDBChangeNotifier.committedDatabaseChanges(Database<?> db, DBUpdateEvent... events)`
`DBUpdateEvent` `RemoteDBUpdateEvent.makeDBUpdateEvent(Database<?> db)`

Constructors in com.antelmann.db.remote with parameters of type Database
`ChangeNotificationClient(NetConnection con, Database<?> db, boolean deliverChanges)` starts a client daemon thread that listens to changes; if `deliverChanges` is true, this client also propagates changes from the database to the server using a notifier.
`ChangeNotificationClient(String databaseName, Database<?> db, String server, boolean deliverChanges)`
`ChangeNotificationClient(String databaseName, Database<?> db, String server, int port, boolean deliverChanges)` creates a SocketConnection to the server based on the given parameters and calls the constructor that takes a NetConnection
`RemoteDatabaseChangeHandler(Database<?> db)`

Uses of Database in com.antelmann.genealogy.db

Classes in com.antelmann.genealogy.db that implement Database
`class` `GDB`

Methods in com.antelmann.genealogy.db with parameters of type Database
`static DBClassStore<GPerson.Header>` `GPersonStore.createHeaderStore(Database<Connection> db)`

Constructors in com.antelmann.genealogy.db with parameters of type Database
`GIDFactory(Database<Connection> db)`
`GPersonRelationStore(Database<Connection> db, IDFactory factory)`
`GPersonStore(Database<Connection> db, IDFactory idFactory)`

Uses of Database in com.antelmann.image

Methods in com.antelmann.image with parameters of type Database

`static

`<T extends ImageURLEntry.Thumbnail<?>> JDBCRowStore<T>`

`

`ThumbnailMapper.createStore(Database<Connection> db, Class<T> thumbnailType, Class<? extends ImageURLEntry> imageEntryType, String tableName, String idColumn, String thumbnailColumn, String urlColumn, String displayColumn)`

`protected void` `ImageURLEntrySQLStore.initKeys(Database<Connection> db, ObjectRowMapper<T> mapper, Class<T> type, Class<Keyword> groupType)` just provides some appropriate default names assumed to be generally useful in this case

Constructors in com.antelmann.image with parameters of type Database
`ImageURLEntryMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, Class<T> type)` uses `BaseRowMapper.getNextIntID()` as id-factory
`ImageURLEntryMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type)`
`ImageURLEntrySQLStore(Database<Connection> database, ObjectRowMapper<T> mapper, Class<T> type)`
`ImageURLEntrySQLStore(Database<Connection> database, String tableName, IDFactory idFactory, Class<T> type)` uses 'id' and 'title' for id and display column
`ImageURLEntrySQLStore(Database<Connection> database, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type)`
`ThumbnailMapper(Database<Connection> db, Class<T> thumbnailType, Class<? extends ImageURLEntry> imageEntryType, String tableName, String idColumn, String thumbnailColumn, String urlColumn, String displayColumn)`

Uses of Database in com.antelmann.io

Methods in com.antelmann.io that return Database
`Database<?>` `FileClassStore.getDatabase()`

Constructors in com.antelmann.io with parameters of type Database
`FileClassStore(Database<?> db, File directory, Class<T> type)`

Uses of Database in com.antelmann.net.mail

Constructors in com.antelmann.net.mail with parameters of type Database
`MessageEntryMapper(Database<Connection> db, MappingInfo mi, Class<M> type)`
`MessageEntryMapper(Database<Connection> db, MappingInfo mi, IDFactory idFactory, Class<M> type)`
`MessageEntryMapper(Database<Connection> db, String tableName, String idColumn, String contentColumn, Class<M> type, IDFactory idFactory)`

Uses of Database in com.antelmann.opengeodb

Classes in com.antelmann.opengeodb that implement Database
`class` `OpenGeoDB`

Uses of Database in com.antelmann.servlet

Methods in com.antelmann.servlet that return Database
`protected Database<?>` `DBEntryServlet.createDatabase()`
`Database<?>` `DBEntryServlet.getDatabase()`

Uses of Database in com.antelmann.sql

Classes in com.antelmann.sql that implement Database
`class` `SQLDatabase` implements a database using a SQLTransaction instance based on a JDBC connection.
`class` `SQLFactoryDatabase` provides a specialized sql database which only opens the connection upon transaction begin and then closes it on each commit/abort (and therefore uses a factory).

Fields in com.antelmann.sql declared as Database
`protected Database<Connection>` `JDBCRowStore.database`
`protected Database<Connection>` `BaseRowMapper.db`

Methods in com.antelmann.sql that return Database
`Database<Connection>` `SQLTransaction.getDatabase()`
`Database<Connection>` `JDBCRowStore.getDatabase()`

Methods in com.antelmann.sql with parameters of type Database
`void` `SQLEntryClassMapper.addDatabase(Database<?> db)`
`void` `SQLEntryClassMapper.availableStoresChanged(Database<?> db)` clears the existing mapping first and then adds the database

`static

`<T extends Category.Entry> BaseRowMapper<T>`

`

`CategoryStore.createDefaultMapper(Database<Connection> db, String table, String idColumn, String nameColumn, String parentColumn, IDFactory factory, Class<T> type)`

`static

`<T extends DBEntry> JDBCRowStore<T>`

`

`MappedEntryMapper.createStore(Database<Connection> db, Class<T> type)`
convenience method to easily create a store with no factory

`static

`<T extends DBEntry> JDBCRowStore<T>`

`

`MappedEntryMapper.createStore(Database<Connection> db, Class<T> type, boolean useNextIntForID)`
convenience method to easily create a store and use `BaseRowMapper.getNextIntID()` to implement `BaseRowMapper.generateNewID()`

`static

`<T extends DBEntry> JDBCRowStore<T>`

`

`MappedEntryMapper.createStore(Database<Connection> db, Class<T> type, boolean useNextIntForID, boolean fastDelete)`
convenience method to easily create a store and use `BaseRowMapper.getNextIntID()` to implement `BaseRowMapper.generateNewID()`

`static

`<T extends DBEntry> JDBCRowStore<T>`

`

`MappedEntryMapper.createStore(Database<Connection> db, Class<T> type, IDFactory factory, boolean enableFastDelete)`
convenience method to easily create a store

`void` `SQLEntryClassMapper.currentDBUserChanged(Database<?> db)`
`static int` `MySqlQueryToViewMapper.deleteAssociatedViews(Database<Connection> db)`
`static TableModelWrapper` `ForeignKeyMappingInfo.Analyzer.getForeignKeys(Database<Connection> db)`
`static Map<Class<? extends DBEntry>,Integer>` `ForeignKeyMappingInfo.Analyzer.getUsage(DBReference ref, Database<?> db)`
`protected void` `TaggablePropertyEntrySQLStore.initKeys(Database<Connection> db, ObjectRowMapper<T> mapper, Class<T> type, Class<G> groupType)` this method is called in the constructor and only allows to customize the protected member variables before they get used.
`static boolean` `ForeignKeyMappingInfo.Analyzer.isInUse(DBReference ref, Database<?> db)`

Constructors in com.antelmann.sql with parameters of type Database
`BaseDocumentMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)`
`BaseRowMapper(Database<Connection> db, MappingInfo mi, IDFactory idFactory, Class<T> type, Object... topics)` allows to initialize this MappingInfo with the given one.
`BaseRowMapper(Database<Connection> db, String tableName, String idColumn)` the idColumn is also used as the displayColumn
`BaseRowMapper(Database<Connection> db, String tableName, String idColumn, IDFactory idFactory, Class<T> type)`
`BaseRowMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn)`
`BaseRowMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type)`
`BaseRowMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)` this constructor is eventually called by all others
`BeanMapper(Database<Connection> db, MappingInfo mi, IDFactory idFactory, Class<T> type, Object... topics)`
`BeanMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)`
`DBDocumentStore.Mapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)`
`DBDocumentStore(Database<Connection> db, IDFactory idFactory, Class<T> type)` uses a table named 'dokumente'
`DBDocumentStore(Database<Connection> db, ObjectRowMapper<T> mapper, Class<T> type)`
`DBDocumentStore(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, String query, Class<T> type)`
`DetailRowStore(Database<Connection> db, ObjectRowMapper<T> flatMapper, Class<T> type, String detailTable, String detailIdColumn, String detailKeyColumn, String detailValueColumn)` Deprecated.
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, Class<T> type)` uses reflection to utilize the constructor that takes the ID and then the properties as a map
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, IDFactory idFactory, Class<T> type)`
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, PropertyEntryFactory<T> factory, Class<T> type)` uses the factory to generate instances; either factory or type must not be null
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, String displayColumn, Class<T> type)` uses reflection to utilize the constructor that takes the ID and then the properties as a map
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, String displayColumn, PropertyEntryFactory<T> factory, Class<T> type)` uses the factory to generate instances; either factory or type must not be null
`GenericPropertyEntryMapper(Database<Connection> db, String table, String idColumn, String displayColumn, PropertyEntryFactory<T> factory, Class<T> type, IDFactory idFactory)` uses the factory to generate instances; either factory or type must not be null
`GenericPropertyEntryStore(Database<Connection> database, GenericPropertyEntryMapper<T> mapper, Class<T> typeClass)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, Class<T> type)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, Class<T> type, IDFactory idFactory)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, PropertyEntryFactory<T> factory, Class<T> type)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, String displayColumn, Class<T> type)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, String displayColumn, PropertyEntryFactory<T> factory, Class<T> type)`
`GenericPropertyEntryStore(Database<Connection> db, String table, String idColumn, String displayColumn, PropertyEntryFactory<T> factory, Class<T> type, IDFactory idFactory)`
`JDBCRowStore(Database<Connection> database, ObjectRowMapper<T> mapper, Class<T> typeClass)` typeClass is used to specify the original class for the Stub objects
`JDBCRowStore(Database<Connection> database, ObjectRowMapper<T> mapper, Class<T> typeClass, boolean ignoreInvalidProperties)`
`JDBCRowStore(Database<Connection> database, ObjectRowMapper<T> mapper, Class<T> typeClass, boolean ignoreInvalidProperties, boolean fastDelete)`
`MappedEntryMapper(Database<Connection> db, Class<T> type)`
`MappedEntryMapper(Database<Connection> db, Class<T> type, IDFactory factory)`
`MySqlQueryToViewMapper(Database<Connection> db, MappingInfo mi, IDFactory idFactory, Class<T> type, Object... topics)`
`MySqlQueryToViewMapper(Database<Connection> db, String tableName, String idColumn)`
`MySqlQueryToViewMapper(Database<Connection> db, String tableName, String idColumn, IDFactory idFactory, Class<T> type)`
`MySqlQueryToViewMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn)`
`MySqlQueryToViewMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type)`
`MySqlQueryToViewMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)`
`PropertyMapper(Database<Connection> db, MappingInfo mi, IDFactory idFactory, Class<T> type, Object... topics)`
`PropertyMapper(Database<Connection> db, String tableName, String idColumn)`
`PropertyMapper(Database<Connection> db, String tableName, String idColumn, IDFactory idFactory, Class<T> type)`
`PropertyMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn)`
`PropertyMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type)`
`PropertyMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> type, String query)`
`RelationshipStore.Mapper(Database<Connection> db, String tableName, String idColumn, IDFactory idFactory, Class<T> type)`
`RelationshipStore.Mapper(Database<Connection> db, String tableName, String idColumn, Map<RelationshipManager.Column,String> config, IDFactory idFactory, Class<T> type)`
`RelationshipStore.Mapper(Database<Connection> db, String tableName, String idColumn, Map<RelationshipManager.Column,String> config, IDFactory idFactory, Class<T> type, String query)`
`RelationshipStore(Database<Connection> db, RelationshipStore.Mapper<T> mapper, Class<T> type)`
`RelationshipStore(Database<Connection> db, String tableName, String idColumn, Class<T> type, boolean useNextIntAsID)`
`RelationshipStore(Database<Connection> db, String tableName, String idColumn, IDFactory factory, Class<T> type)`
`RelationshipStore(Database<Connection> db, String tableName, String idColumn, Map<RelationshipManager.Column,String> config, Class<T> type, boolean useNextIntAsID)`
`RelationshipStore(Database<Connection> db, String tableName, String idColumn, Map<RelationshipManager.Column,String> config, IDFactory factory, Class<T> type)`
`RelationshipStore(Database<Connection> db, String tableName, String idColumn, Map<RelationshipManager.Column,String> config, IDFactory factory, Class<T> type, String query)`
`SerializedEntrySQLMapper(Database<Connection> db, String tableName, String idColumnName, String displayColumn, String objectStreamColumnName)`
`SQLEntryClassMapper(Database<?>... dbs)`
`SQLTransaction(Database<Connection> database)` the transaction within must support transactions and auto-commit must be set to false
`TaggablePropertyEntrySQLStore(Database<Connection> database, ObjectRowMapper<T> mapper, Class<T> type, Class<G> groupType)`
`UserImplMapper(Database<Connection> db, String tableName, String idColumn, String displayColumn, IDFactory idFactory, Class<T> userType)`
`UserImplStore(Database<Connection> db, UserImplMapper<T> mapper, Class<T> userType)`

Uses of Database in com.antelmann.util

Methods in com.antelmann.util that return Database
`Database<?>` `Country.Store.getDatabase()`

Methods in com.antelmann.util with parameters of type Database
`static DBClassStore<Country>` `Country.makeStore(Database<?> db, boolean readOnly)` returns a collection store containing all countries that is yet to be put into the database

Constructors in com.antelmann.util with parameters of type Database
`Country.Store(Database<?> db)`

Uses of Database in com.antelmann.util.gui

Constructors in com.antelmann.util.gui with parameters of type Database
`JPropertyEntryForm(T entry, Database<?> db)`

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