public interface Api
component
. The main idea is to abstract from the
implementation of the component so it gets replaceable and the design is maintainable. interface
. However an API may
also consist of Enum
types or Pojo
classes
and
Datatype
s that are accepted as arguments by an interface. The actual API of
a component
is therefore the combination of all these
types. It has to be self-contained what means that it only contains references to types legally considered
as part of the API. With references we are NOT talking about JavaDoc-links. Datatype
s such as String
, Long
, etc. as well as
Collection
s especially List
. All these types are considered as legal parts that
do NOT influence if API is considered as self-contained. Cdi
Modifier and Type | Field and Description |
---|---|
static String |
EXTENDABLE_INTERFACE
This is used to mark interfaces of the
API that may potentially be extended. |
static final String EXTENDABLE_INTERFACE
API
that may potentially be extended. With extended we
mean that new methods will be added. This is no problem for the user of the interface but for implementors. To
prevent implementors from incompatibilities on updates of components provided by this project, we provide abstract
base implementations in the base
packages that are located as siblings of the api
packages.
Typically that Class
is named like the interface with the prefix Abstract
. You are strongly
encouraged to extend these base implementations rather than directly implementing the interface to gain
compatibility in case of an extension. The latter is still allowed but you have to be aware of the consequences
that you may have to fix compile errors after upgrading and your code may NOT work across different releases. Copyright © 2001–2016 mmm-Team. All rights reserved.