Separate out YangIdentifierClassNamingStrategy 07/104207/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 31 Jan 2023 22:13:23 +0000 (23:13 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 31 Jan 2023 23:05:51 +0000 (00:05 +0100)
commiteaaa3351c6209d15a0884639c48d0cf11b4f3e7f
tree311ef6623fe1ce4a65f506d1abd82d9fae7291dd
parent6cbbcf75beb6e0cf0c5cb8f82dc5f6b75f21dc9a
Separate out YangIdentifierClassNamingStrategy

Our current ClassNamingStrategies rely on the fact that each YANG
statement's argument provides an AbstractQName from which we can extract
a YANG identifier (i.e. AbstractQName.getLocalName()).

ietf-restconf:yang-data's argument is any non-empty String, so we just
cannot keep this contract.

Separate current handing into a separate class, which inherits the
notion of having a nodeIdentifier(), except that fact is purely internal
field. This also neatly re-joins Module and CamelCase to use the same
simpleClassName() method.

JIRA: MDSAL-675
Change-Id: Iaa1a43ba865ff78aa98ac69459e16373634eff40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseWithNamespaceNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ClassNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangIdentifierClassNamingStrategy.java [new file with mode: 0644]