From 4b951dcb7592189337104056d98fa733acccee19 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 1 Dec 2019 23:13:35 +0100 Subject: [PATCH] Add package-info documentation --- .../messenger/data/mapping/package-info.java | 11 +++++++++++ .../messenger/data/model/package-info.java | 12 ++++++++++++ .../messenger/data/repository/package-info.java | 11 +++++++++++ 3 files changed, 34 insertions(+) create mode 100644 data/src/main/java/org/mercury_im/messenger/data/mapping/package-info.java create mode 100644 data/src/main/java/org/mercury_im/messenger/data/model/package-info.java create mode 100644 data/src/main/java/org/mercury_im/messenger/data/repository/package-info.java diff --git a/data/src/main/java/org/mercury_im/messenger/data/mapping/package-info.java b/data/src/main/java/org/mercury_im/messenger/data/mapping/package-info.java new file mode 100644 index 0000000..83aa1c8 --- /dev/null +++ b/data/src/main/java/org/mercury_im/messenger/data/mapping/package-info.java @@ -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
entity
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; diff --git a/data/src/main/java/org/mercury_im/messenger/data/model/package-info.java b/data/src/main/java/org/mercury_im/messenger/data/model/package-info.java new file mode 100644 index 0000000..77cc9dd --- /dev/null +++ b/data/src/main/java/org/mercury_im/messenger/data/model/package-info.java @@ -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 + *
build/generated/sources/annotationProcessor/java/main/...
. + * + * The structure of the model classes closely mimics the structure of their entity pendants + * declared in the
entity
module. + * + * @see requery wiki on model definitions + */ +package org.mercury_im.messenger.data.model; diff --git a/data/src/main/java/org/mercury_im/messenger/data/repository/package-info.java b/data/src/main/java/org/mercury_im/messenger/data/repository/package-info.java new file mode 100644 index 0000000..3dfd22e --- /dev/null +++ b/data/src/main/java/org/mercury_im/messenger/data/repository/package-info.java @@ -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;