This is an old revision of the document!
5.1.10 Encapsulation
Encapsulation separates externally observable behavior and Interfaces from implementation internals. This separation supports independently developed implementations that can interoperate and, when they satisfy the same applicable contracts and conformance conditions, substitute for one another.
Requirements
-
GPR-018 — Independent, Substitutable, and Interoperable Implementations: The proposed specification SHALL define externally observable behavior, Interfaces, and conformance conditions that permit independently developed implementations to be substitutable and Interoperable
-
GPR-019 — Implementation Replacement Without Client Changes: An implementation SHOULD be replaceable by an alternative implementation satisfying the same applicable Interface Contracts and conformance conditions without requiring changes to conforming clients
Notes for Editors
GPR-018 is mandatory because it uses SHALL.
GPR-019 is recommended because it uses SHOULD.
Substitutability does not require implementations to have identical internal designs, technologies, performance characteristics, or deployment configurations. It requires them to satisfy the same applicable externally observable behavior, Interface Contracts, and conformance conditions.
GPR-019 applies to conforming clients that use only the standardized Interfaces and behavior defined by the proposed specification. A client that depends on implementation-specific extensions may require changes when the implementation is replaced.
After the Annex C records are created and reviewed, replace each locally maintained Statement with a transclusion of its authoritative Statement.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.