2023-05-03 11:06:20 +02:00
== Why is this an issue?
2020-12-21 15:38:52 +01:00
A source code comply to an architectural model when it fully adheres to a set of architectural constraints. A constraint allows to deny references between classes by pattern.
2021-02-02 15:02:10 +01:00
2020-12-21 15:38:52 +01:00
You can for instance use this rule to :
2021-02-02 15:02:10 +01:00
2021-01-27 13:42:22 +01:00
* forbid access to ``++**.web.**++`` from ``++**.dao.**++`` classes
* forbid access to ``++java.util.Vector++``, ``++java.util.Hashtable++`` and ``++java.util.Enumeration++`` from any classes
* forbid access to ``++java.sql.**++`` from ``++**.ui.**++`` and ``++**.web.**++`` classes
2020-12-21 15:38:52 +01:00
2022-01-25 18:36:46 +01:00
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== Parameters
.fromClasses
****
Optional. If this property is not defined, all classes should adhere to this constraint. Ex : **.web.**
****
.toClasses
****
Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration
****
2022-01-25 18:36:46 +01:00
'''
== Comments And Links
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== on 8 Jul 2016, 13:50:54 Ann Campbell wrote:
Since references are dropped from deprecated rules, copying to comment for posterity:
Checkstyle: IllegalType, ImportControl, IllegalImport
PMD: LoosePackageCoupling
=== on 7 Dec 2017, 14:44:19 Ann Campbell wrote:
Rule initially deprecated as part of the drop of design services.
2022-01-25 18:36:46 +01:00
endif::env-github,rspecator-view[]