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
Datatypes 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. Datatypes such as String, Long, etc. as well as
Collections 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.