Package Name | Comment |
de.nava.informa.core |
This package contains interfaces for the news channel objects, it
builds the core API for all news channel storage implementation. This
separation enables applications to be written without any dependencies
on storage-specific backends.
To make it clear again, this package contains no implementations of
the declared interfaces. All implementations can be found in separate
packages with the de.nava.informa.impl prefix. In addition to
interfaces there are also exceptions defined by this package that are
raised when violations of the news channel model occur.
|
de.nava.informa.exporters |
This package contains exporter classes to writing out news channels
in various formats.
Note: Do not expect that the serialized form of the channel will be
identical to the original document instance, since the news channel
object model is taken into account for serialization.
|
de.nava.informa.impl.basic |
Provides an in-memory implementation of the core news channel
interfaces.
For further information please consult the documentation of the
package de.nava.informa.core.
|
de.nava.informa.impl.hibernate |
Provides an implementation of the core news channel
interfaces using persistence mechanism provided by Hibernate (for
more see http://www.hibernate.org.
For further information please consult the documentation of the
package de.nava.informa.core.
|
de.nava.informa.parsers |
This package defines parsers for reading in news channels.
In the future it is planned to add support for news channel meta
data formats (like OCS) to ease finding an appropriate channel.
|
de.nava.informa.search |
This package contains classes for creating and searching news items
through a full-text index.
Currently this implementation uses Lucene as the full-text engine.
|
de.nava.informa.test | |
de.nava.informa.utils |
Provides utility classes that are convenient when handling the news
channel object model. These can be seen as a tollkit when working with
core interfaces of the news channel model.
|
de.nava.informa.utils.cleaner |
This package contains classes of Cleaner utility. This utility is intended to help
applications with controling their channels and keeping them in clean state.
|
de.nava.informa.utils.manager |
This package contains definition of Persistence Manager interface. It
also holds configuration class (PersistentManagerConfig), which should
be used to establish instances of managers indirectly.
Persistence Manager is a front-end for persistence model implemented
in Informa. It provides convenient and implementation independend ways
to operate with data located in persistent storage. Different
implementations of interface can be provided to support different
types of storage (Memory, Database, plain and XML files, etc).
Concrete implementations of manager interface reside deeper in
package hierarchy, but can be easily moved anywhere in code.
Note for Persistence Manager implementation developers!
There's an acceptance test developed to help you with making sure
that your implementation does what's expected. When you develop your
own implementation make sure that it passes at least the acceptance test.
In order to do so you should create your own test case and extend
TestAbstractPersistenceManager with it, like below.
// header skipped
package de.nava.informa.utils.manager.memory;
// imports skipped
/**
* In-Memory persistence manager test.
*
* @see PersistenceManager
* @author Aleksey Gureev (spyromus@noizeramp.com)
*/
public class TestMemoryPersistenceManager extends TestAbstractPersistenceManager {
/**
* Returns manager to be tested.
*
* @return manager to be tested.
*/
protected PersistenceManagerIF getManager() {
return new PersistenceManager();
}
}
You can see that this is very simple. If you need your own additional
tests to be run then just put them below as usual.
|
de.nava.informa.utils.manager.hibernate |
This package contains Hibernate implementation of Persistence Manager interface.
It uses Hibernate services to store data in outer databases and other storage types.
|
de.nava.informa.utils.manager.memory |
This package contains in-memory implementation of Persistence Manager interface.
Sometimes it's useful to store data in memory only as it's fast and easy way to try
how things work.
|
de.nava.informa.utils.poller |
This package contains Poller utility. General intention is to simplify at maximum
background polling of channels, make it easy and efficient. Most of time people
"invent the wheel" creating similar code again and again. Having this code in the
library will greatly save time and will help to avoid many pitfalls.
|
de.nava.informa.utils.toolkit |
This package contains helper classes necessary both for Poller, Cleaner
and other utilities. It contains scheduler of channel-based tasks. It also
features flexible multi-threaded channel-based worker manager, which is
capable to conveniently distribute custom tasks between available worker
threads and maintain queue of tasks.
|