Pick up byte-buddy from yangtools
[mdsal.git] / binding / mdsal-binding-generator / src / main / java / org / opendaylight / mdsal / binding / generator / impl / reactor / CollisionDomain.java
index ea6453e76ac546d4e4f1b46439474f5cb5c56f9e..83819f402af6debff9b0d4b02881327dd1d76d8a 100644 (file)
@@ -14,20 +14,19 @@ import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map.Entry;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
+import org.opendaylight.yangtools.yang.binding.contract.Naming;
 import org.opendaylight.yangtools.yang.common.AbstractQName;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 
 final class CollisionDomain {
-    abstract class Member {
+    abstract sealed class Member {
         private final Generator gen;
 
         private List<Secondary> secondaries = List.of();
@@ -87,7 +86,7 @@ final class CollisionDomain {
         }
     }
 
-    private class Primary extends Member {
+    private sealed class Primary extends Member {
         private ClassNamingStrategy strategy;
 
         Primary(final Generator gen, final ClassNamingStrategy strategy) {
@@ -102,7 +101,7 @@ final class CollisionDomain {
 
         @Override
         final String computeCurrentPackage() {
-            return packageString(strategy.nodeIdentifier());
+            return strategy.childPackage();
         }
 
         @Override
@@ -123,8 +122,7 @@ final class CollisionDomain {
 
         @Override
         boolean equalRoot(final Member other) {
-            return other instanceof Primary && strategy.nodeIdentifier().getLocalName().equals(
-                ((Primary) other).strategy.nodeIdentifier().getLocalName());
+            return other instanceof Primary primary && strategy.rootName().equals(primary.strategy.rootName());
         }
     }
 
@@ -134,9 +132,9 @@ final class CollisionDomain {
         }
     }
 
-    private abstract class Secondary extends Member {
+    private abstract sealed class Secondary extends Member {
         private final String classSuffix;
-        final Member classPrimary;
+        final @NonNull Member classPrimary;
 
         Secondary(final Generator gen, final Member primary, final String classSuffix) {
             super(gen);
@@ -161,11 +159,8 @@ final class CollisionDomain {
 
         @Override
         final boolean equalRoot(final Member other) {
-            if (other instanceof Secondary) {
-                final Secondary sec = (Secondary) other;
-                return classPrimary.equalRoot(sec.classPrimary) && classSuffix.equals(sec.classSuffix);
-            }
-            return false;
+            return other instanceof Secondary sec
+                && classPrimary.equalRoot(sec.classPrimary) && classSuffix.equals(sec.classSuffix);
         }
     }
 
@@ -240,13 +235,13 @@ final class CollisionDomain {
         return addMember(new LeafSecondary(memberGen, primary, classSuffix));
     }
 
-    @NonNull Member addSecondary(final RpcInputGenerator memberGen, final Member primary) {
-        return addMember(new SuffixSecondary(memberGen, primary, BindingMapping.RPC_INPUT_SUFFIX,
+    @NonNull Member addSecondary(final InputGenerator memberGen, final Member primary) {
+        return addMember(new SuffixSecondary(memberGen, primary, Naming.RPC_INPUT_SUFFIX,
             memberGen.statement().argument()));
     }
 
-    @NonNull Member addSecondary(final RpcOutputGenerator memberGen, final Member primary) {
-        return addMember(new SuffixSecondary(memberGen, primary, BindingMapping.RPC_OUTPUT_SUFFIX,
+    @NonNull Member addSecondary(final OutputGenerator memberGen, final Member primary) {
+        return addMember(new SuffixSecondary(memberGen, primary, Naming.RPC_OUTPUT_SUFFIX,
             memberGen.statement().argument()));
     }
 
@@ -327,8 +322,6 @@ final class CollisionDomain {
         return MoreObjects.toStringHelper(this).add("gen", gen).toString();
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-        justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private @NonNull Member addMember(final @NonNull Member member) {
         if (members.isEmpty()) {
             members = new ArrayList<>();
@@ -337,10 +330,8 @@ final class CollisionDomain {
         return member;
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-        justification = "https://github.com/spotbugs/spotbugs/issues/811")
-    private static @NonNull String packageString(final AbstractQName component) {
-        // Replace dashes with dots, as dashes are not allowed in package names
+    // Replace dashes with dots, as dashes are not allowed in package names
+    static @NonNull String packageString(final AbstractQName component) {
         return component.getLocalName().replace('-', '.');
     }
 }