Seal BinaryStringCodec 27/101327/5
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 18:23:52 +0000 (20:23 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 29 May 2022 19:14:41 +0000 (21:14 +0200)
We have only internal subclasses, seal the public class to prevent
misuse.

Change-Id: Id1b9a1cdac067d626af42c91e22b90fe40bf290e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/BinaryStringCodec.java

index bdc318347841502796efa56971bc7aa6fb56d7bc..b59ef43e80900e8988854b1cd2e88f30a98a484b 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
  * Do not use this class outside of yangtools, its presence does not fall into the API stability contract.
  */
 @Beta
-public abstract class BinaryStringCodec extends TypeDefinitionAwareCodec<byte[], BinaryTypeDefinition>
+public abstract sealed class BinaryStringCodec extends TypeDefinitionAwareCodec<byte[], BinaryTypeDefinition>
         implements BinaryCodec<String> {
     private static final class Restricted extends BinaryStringCodec {
         private final LengthConstraint lengthConstraint;
@@ -58,8 +58,8 @@ public abstract class BinaryStringCodec extends TypeDefinitionAwareCodec<byte[],
     }
 
     public static BinaryStringCodec from(final BinaryTypeDefinition type) {
-        final java.util.Optional<LengthConstraint> optConstraint = type.getLengthConstraint();
-        return optConstraint.isPresent() ? new Restricted(type, optConstraint.get()) : new Unrestricted(type);
+        final var optConstraint = type.getLengthConstraint();
+        return optConstraint.isPresent() ? new Restricted(type, optConstraint.orElseThrow()) : new Unrestricted(type);
     }
 
     @Override