Add package-info documentation

This commit is contained in:
Paul Schaub 2019-12-01 23:13:35 +01:00
parent 7a216fed9d
commit 4b951dcb75
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,11 @@
/**
* The mapping package contains mapper classes that map database models to entities.
* The models can be found in {@link org.mercury_im.messenger.data.model} in this module,
* while the entity classes are located in the <pre>entity</pre> module.
*
* The mapper classes define an architectural boundary that separates the entities from
* their database model counterparts. This is done in order to keep the database logic separated
* from the domain logic and to allow for quick replacement of the database implementation.
*
*/
package org.mercury_im.messenger.data.mapping;

View File

@ -0,0 +1,12 @@
/**
* The model package contains requery model definitions.
* All of those classes are abstract, since the requery framework generates concrete implementations
* during compilation. Those files can later be found in
* <pre>build/generated/sources/annotationProcessor/java/main/...</pre>.
*
* The structure of the model classes closely mimics the structure of their entity pendants
* declared in the <pre>entity</pre> module.
*
* @see <a href="https://github.com/requery/requery/wiki/Defining-Entities">requery wiki on model definitions</a>
*/
package org.mercury_im.messenger.data.model;

View File

@ -0,0 +1,11 @@
/**
* The repository package contains implementations of the repositories defined in the domain
* module.
*
* While the data module uses requery to store data in an SQL database, the repositories use
* mappers defined in the mapping package to map the requery models to entities.
*
* Since the application itself only ever uses entities, it doesn't have to know about the database
* at all.
*/
package org.mercury_im.messenger.data.repository;