Package dev.archunitjava.rules


package dev.archunitjava.rules
  • Class
    Description
    Required and forbidden annotation moods evaluated by one assertion implementation.
    Annotation rules over declarations, parameters, packages, and exact type-use sites.
    Immutable annotation relationship, mood, typed values, and traversal-gap policy.
    One typed condition over an explicitly encoded annotation element.
    Deterministic operations over explicitly encoded, typed annotation elements.
    Immutable architecture rule with uniform metadata decoration.
    Factory for immutable rule values; later rule DSLs share this metadata behavior.
    Explicit treatment of accesses originating in synthetic types, methods, or bridges.
    Exhaustive, exactly-one assignment checks over imported types, packages, or modules.
    Explicit dependency semantics and output bounds for type and package cycle rules.
    Cycle-free type and package rules with induced selections and bounded representative evidence.
    Shared dependency assertion moods evaluated by one graph engine.
    Positive and negative dependency rules over deterministic type or package projections.
    Immutable dependency mood and edge-boundary policies.
    Match policy for a boolean JPMS directive modifier.
    Qualified-target shape required of an exports or opens directive.
    Treatment of graph targets absent from the imported type/package model.
    Whether a hierarchy rule inspects only declarations or the complete reachable hierarchy.
    Java hierarchy relationship kept distinct instead of being flattened into dependencies.
    Positive and negative moods evaluated by the same hierarchy assertion.
    Immutable relationship, traversal, mood, and unknown-ancestor policy.
    Deterministic inheritance, implementation, assignability, and sealed-hierarchy rules.
    Java/JVM access classification kept separate from JPMS package exports.
    Named-layer access policies sharing one deterministic type/member evidence projection.
    Negative, constrained, group-positive, and per-caller member-access policies.
    Policies over exact bytecode member references without runtime dispatch inference.
    Immutable access mood, independently selected opcode kinds, and compiler-artifact policy.
    A named, inspectable policy assignment for imported JPMS module identities.
    Detached comparison of declared readability and bytecode-observed module dependencies.
    Pure comparison of Module-attribute requires declarations and observed graph edges.
    One detached declared or observed module dependency with its evidence domain kept explicit.
    JPMS Module-attribute policies, deliberately separate from observed bytecode dependencies.
    JPMS export classification for a resolved cross-boundary access.
    Stable result identity that cannot collapse explicit, automatic, and unnamed modules.
    Exports/opens mode with qualification and optional qualified target matching.
    Requires-directive mode plus exact transitive/static-phase modifier constraints.
    Negative, allow-list, or existence semantics for module descriptor declarations.
    Explicit opt-ins for subjects commonly created by compilers or generators.
    Deterministic positive and negative conventions over distinct Java name/location targets.
    Distinct Java naming and provenance values; each has one required pattern domain.
    Explicit caller decision for automatic and unnamed modules, which have no Module attribute.
    A named, inspectable policy assignment for imported Java packages.
    Positive and negative pattern assertions sharing one implementation.
    Adheres selected layer or slice components to a safely parsed PlantUML graph.
    Rules that keep cross-package consumers on an explicitly approved public interface.
    Declared interpretation of configured graph entry points.
    Explicit dependency semantics and finding bounds for reachability rules.
    Bounded graph reachability rules that never claim whole-program runtime liveness.
    Pure rule terminal supplied with the immutable metadata that must be attached to its result.
    Builds the ordinary result while retaining diagnostics supplied by the shared terminal.
    One named selector/count pair inspected by the shared rule terminal.
    The single empty-selection gate shared by every architecture-rule terminal.
    Whether an edge whose projected origin equals its target participates in a rule.
    Directional and pairwise independence rules over stable, non-overlapping slices.
    A bytecode member reference that deliberately does not claim a resolved runtime declaration.
    Whether evidence owned only by synthetic types, synthetic members, or bridge methods is used.
    A named, inspectable policy assignment for imported Java types.
    Whether declaration/signature and other non-call type-use edges participate in cycle rules.
    Treatment of a meta-annotation or inherited-annotation traversal gap.
    Policy for a transitive conclusion whose external inheritance is not fully known.