Add generalized CanonicalValue YANG concept 89/70989/6
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 16 Apr 2018 15:54:17 +0000 (17:54 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 17 Apr 2018 00:26:49 +0000 (02:26 +0200)
commit1d2fe1ada4e60b4b64f7a2f61766196e1ec8d391
treee02b9eae4d71db8698b94b1bb78192f4c4194654
parentb63f01cde253e7f721494b583680bfc3814d2750
Add generalized CanonicalValue YANG concept

The parsing and validation concepts in DerivedString are really
useful in expressing that a particular value has been validated
to conform to some abstract contract.

This facility will allow us to side-step validation when moving
data between classes, especially when we can prove requried
validation has already been done.

This patch introduces CanonicalValue and support interfaces, so
it can be used more widely.

JIRA: YANGTOOLS-418
Change-Id: Ib3f8723facd60c6737351d863ad0f9cef6c4a5da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/AbstractCanonicalValueImplementationValidator.java [new file with mode: 0644]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/AbstractCanonicalValueSupport.java [moved from yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/AbstractDerivedStringSupport.java with 60% similarity]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/AbstractCanonicalValueValidator.java [moved from yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/AbstractDerivedStringValidator.java with 59% similarity]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/CachingDerivedString.java
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/CanonicalValue.java [new file with mode: 0644]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/CanonicalValueSupport.java [moved from yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/DerivedStringSupport.java with 61% similarity]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/CanonicalValueValidator.java [moved from yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/DerivedStringValidator.java with 61% similarity]
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/DerivedString.java
yang/yang-common/src/test/java/org/opendaylight/yangtools/yang/common/DerivedStringTest.java