Move Neon SR2 tokens into its own class
[controller.git] / opendaylight / md-sal / sal-clustering-commons / src / main / java / org / opendaylight / controller / cluster / datastore / node / utils / stream / AbstractLithiumDataOutput.java
index 3a3015bb1af210896df9fc965664b3bad0b3c1bf..95c62fc4c793df43b522bfff93ffa217dfc24b1e 100644 (file)
@@ -58,17 +58,17 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     private static final Logger LOG = LoggerFactory.getLogger(AbstractLithiumDataOutput.class);
     private static final TransformerFactory TF = TransformerFactory.newInstance();
     private static final ImmutableMap<Class<?>, Byte> KNOWN_TYPES = ImmutableMap.<Class<?>, Byte>builder()
-            .put(String.class, ValueTypes.STRING_TYPE)
-            .put(Byte.class, ValueTypes.BYTE_TYPE)
-            .put(Integer.class, ValueTypes.INT_TYPE)
-            .put(Long.class, ValueTypes.LONG_TYPE)
-            .put(Boolean.class, ValueTypes.BOOL_TYPE)
-            .put(QName.class, ValueTypes.QNAME_TYPE)
-            .put(Short.class, ValueTypes.SHORT_TYPE)
-            .put(BigInteger.class, ValueTypes.BIG_INTEGER_TYPE)
-            .put(BigDecimal.class, ValueTypes.BIG_DECIMAL_TYPE)
-            .put(byte[].class, ValueTypes.BINARY_TYPE)
-            .put(Empty.class, ValueTypes.EMPTY_TYPE)
+            .put(String.class, LithiumValue.STRING_TYPE)
+            .put(Byte.class, LithiumValue.BYTE_TYPE)
+            .put(Integer.class, LithiumValue.INT_TYPE)
+            .put(Long.class, LithiumValue.LONG_TYPE)
+            .put(Boolean.class, LithiumValue.BOOL_TYPE)
+            .put(QName.class, LithiumValue.QNAME_TYPE)
+            .put(Short.class, LithiumValue.SHORT_TYPE)
+            .put(BigInteger.class, LithiumValue.BIG_INTEGER_TYPE)
+            .put(BigDecimal.class, LithiumValue.BIG_DECIMAL_TYPE)
+            .put(byte[].class, LithiumValue.BINARY_TYPE)
+            .put(Empty.class, LithiumValue.EMPTY_TYPE)
             .build();
 
     private final Map<String, Integer> stringCodeMap = new HashMap<>();
@@ -83,20 +83,20 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     @Override
     public final void startLeafNode(final NodeIdentifier name) throws IOException {
         LOG.trace("Starting a new leaf node");
-        startNode(name, NodeTypes.LEAF_NODE);
+        startNode(name, LithiumNode.LEAF_NODE);
         inSimple = true;
     }
 
     @Override
     public final void startLeafSet(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new leaf set");
-        commonStartLeafSet(name, NodeTypes.LEAF_SET);
+        commonStartLeafSet(name, LithiumNode.LEAF_SET);
     }
 
     @Override
     public final void startOrderedLeafSet(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new ordered leaf set");
-        commonStartLeafSet(name, NodeTypes.ORDERED_LEAF_SET);
+        commonStartLeafSet(name, LithiumNode.ORDERED_LEAF_SET);
     }
 
     private void commonStartLeafSet(final NodeIdentifier name, final byte nodeType) throws IOException {
@@ -108,7 +108,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     public final void startLeafSetEntryNode(final NodeWithValue<?> name) throws IOException {
         LOG.trace("Starting a new leaf set entry node");
 
-        output.writeByte(NodeTypes.LEAF_SET_ENTRY_NODE);
+        output.writeByte(LithiumNode.LEAF_SET_ENTRY_NODE);
 
         // lastLeafSetQName is set if the parent LeafSetNode was previously written. Otherwise this is a
         // stand alone LeafSetEntryNode so write out it's name here.
@@ -121,52 +121,52 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     @Override
     public final void startContainerNode(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new container node");
-        startNode(name, NodeTypes.CONTAINER_NODE);
+        startNode(name, LithiumNode.CONTAINER_NODE);
     }
 
     @Override
     public final void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint)
             throws IOException {
         LOG.trace("Starting a new yang modeled anyXml node");
-        startNode(name, NodeTypes.YANG_MODELED_ANY_XML_NODE);
+        startNode(name, LithiumNode.YANG_MODELED_ANY_XML_NODE);
     }
 
     @Override
     public final void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new unkeyed list");
-        startNode(name, NodeTypes.UNKEYED_LIST);
+        startNode(name, LithiumNode.UNKEYED_LIST);
     }
 
     @Override
     public final void startUnkeyedListItem(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new unkeyed list item");
-        startNode(name, NodeTypes.UNKEYED_LIST_ITEM);
+        startNode(name, LithiumNode.UNKEYED_LIST_ITEM);
     }
 
     @Override
     public final void startMapNode(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new map node");
-        startNode(name, NodeTypes.MAP_NODE);
+        startNode(name, LithiumNode.MAP_NODE);
     }
 
     @Override
     public final void startMapEntryNode(final NodeIdentifierWithPredicates identifier, final int childSizeHint)
             throws IOException {
         LOG.trace("Starting a new map entry node");
-        startNode(identifier, NodeTypes.MAP_ENTRY_NODE);
+        startNode(identifier, LithiumNode.MAP_ENTRY_NODE);
         writeKeyValueMap(identifier.entrySet());
     }
 
     @Override
     public final void startOrderedMapNode(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new ordered map node");
-        startNode(name, NodeTypes.ORDERED_MAP_NODE);
+        startNode(name, LithiumNode.ORDERED_MAP_NODE);
     }
 
     @Override
     public final void startChoiceNode(final NodeIdentifier name, final int childSizeHint) throws IOException {
         LOG.trace("Starting a new choice node");
-        startNode(name, NodeTypes.CHOICE_NODE);
+        startNode(name, LithiumNode.CHOICE_NODE);
     }
 
     @Override
@@ -174,14 +174,14 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
         requireNonNull(identifier, "Node identifier should not be null");
         LOG.trace("Starting a new augmentation node");
 
-        output.writeByte(NodeTypes.AUGMENTATION_NODE);
+        output.writeByte(LithiumNode.AUGMENTATION_NODE);
         writeAugmentationIdentifier(identifier);
     }
 
     @Override
     public final void startAnyxmlNode(final NodeIdentifier name) throws IOException {
         LOG.trace("Starting any xml node");
-        startNode(name, NodeTypes.ANY_XML_NODE);
+        startNode(name, LithiumNode.ANY_XML_NODE);
         inSimple = true;
     }
 
@@ -206,7 +206,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
         LOG.trace("Ending the node");
         if (!inSimple) {
             lastLeafSetQName = null;
-            output.writeByte(NodeTypes.END_NODE);
+            output.writeByte(LithiumNode.END_NODE);
         }
         inSimple = false;
     }
@@ -215,26 +215,26 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST",
             justification = "The casts in the switch clauses are indirectly confirmed via the determination of 'type'.")
     final void writePathArgumentInternal(final PathArgument pathArgument) throws IOException {
-        final byte type = PathArgumentTypes.getSerializablePathArgumentType(pathArgument);
+        final byte type = LithiumPathArgument.getSerializablePathArgumentType(pathArgument);
         output.writeByte(type);
 
         switch (type) {
-            case PathArgumentTypes.NODE_IDENTIFIER:
+            case LithiumPathArgument.NODE_IDENTIFIER:
                 NodeIdentifier nodeIdentifier = (NodeIdentifier) pathArgument;
                 writeQNameInternal(nodeIdentifier.getNodeType());
                 break;
-            case PathArgumentTypes.NODE_IDENTIFIER_WITH_PREDICATES:
+            case LithiumPathArgument.NODE_IDENTIFIER_WITH_PREDICATES:
                 NodeIdentifierWithPredicates nodeIdentifierWithPredicates =
                     (NodeIdentifierWithPredicates) pathArgument;
                 writeQNameInternal(nodeIdentifierWithPredicates.getNodeType());
                 writeKeyValueMap(nodeIdentifierWithPredicates.entrySet());
                 break;
-            case PathArgumentTypes.NODE_IDENTIFIER_WITH_VALUE:
+            case LithiumPathArgument.NODE_IDENTIFIER_WITH_VALUE:
                 NodeWithValue<?> nodeWithValue = (NodeWithValue<?>) pathArgument;
                 writeQNameInternal(nodeWithValue.getNodeType());
                 writeObject(nodeWithValue.getValue());
                 break;
-            case PathArgumentTypes.AUGMENTATION_IDENTIFIER:
+            case LithiumPathArgument.AUGMENTATION_IDENTIFIER:
                 // No Qname in augmentation identifier
                 writeAugmentationIdentifier((AugmentationIdentifier) pathArgument);
                 break;
@@ -279,7 +279,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
         if (revision.isPresent()) {
             writeString(revision.get().toString());
         } else {
-            writeByte(TokenTypes.IS_NULL_VALUE);
+            writeByte(LithiumTokens.IS_NULL_VALUE);
         }
     }
 
@@ -311,38 +311,38 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
         output.writeByte(type);
 
         switch (type) {
-            case ValueTypes.BOOL_TYPE:
+            case LithiumValue.BOOL_TYPE:
                 output.writeBoolean((Boolean) value);
                 break;
-            case ValueTypes.QNAME_TYPE:
+            case LithiumValue.QNAME_TYPE:
                 writeQNameInternal((QName) value);
                 break;
-            case ValueTypes.INT_TYPE:
+            case LithiumValue.INT_TYPE:
                 output.writeInt((Integer) value);
                 break;
-            case ValueTypes.BYTE_TYPE:
+            case LithiumValue.BYTE_TYPE:
                 output.writeByte((Byte) value);
                 break;
-            case ValueTypes.LONG_TYPE:
+            case LithiumValue.LONG_TYPE:
                 output.writeLong((Long) value);
                 break;
-            case ValueTypes.SHORT_TYPE:
+            case LithiumValue.SHORT_TYPE:
                 output.writeShort((Short) value);
                 break;
-            case ValueTypes.BITS_TYPE:
+            case LithiumValue.BITS_TYPE:
                 writeObjSet((Set<?>) value);
                 break;
-            case ValueTypes.BINARY_TYPE:
+            case LithiumValue.BINARY_TYPE:
                 byte[] bytes = (byte[]) value;
                 output.writeInt(bytes.length);
                 output.write(bytes);
                 break;
-            case ValueTypes.YANG_IDENTIFIER_TYPE:
+            case LithiumValue.YANG_IDENTIFIER_TYPE:
                 writeYangInstanceIdentifierInternal((YangInstanceIdentifier) value);
                 break;
-            case ValueTypes.EMPTY_TYPE:
+            case LithiumValue.EMPTY_TYPE:
                 break;
-            case ValueTypes.STRING_BYTES_TYPE:
+            case LithiumValue.STRING_BYTES_TYPE:
                 final byte[] valueBytes = value.toString().getBytes(StandardCharsets.UTF_8);
                 output.writeInt(valueBytes.length);
                 output.write(valueBytes);
@@ -369,10 +369,10 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
         final Integer value = stringCodeMap.get(verifyNotNull(string));
         if (value == null) {
             stringCodeMap.put(string, stringCodeMap.size());
-            writeByte(TokenTypes.IS_STRING_VALUE);
+            writeByte(LithiumTokens.IS_STRING_VALUE);
             writeUTF(string);
         } else {
-            writeByte(TokenTypes.IS_CODE_VALUE);
+            writeByte(LithiumTokens.IS_CODE_VALUE);
             writeInt(value);
         }
     }
@@ -381,19 +381,19 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu
     static final byte getSerializableType(final Object node) {
         final Byte type = KNOWN_TYPES.get(requireNonNull(node).getClass());
         if (type != null) {
-            if (type == ValueTypes.STRING_TYPE
-                    && ((String) node).length() >= ValueTypes.STRING_BYTES_LENGTH_THRESHOLD) {
-                return ValueTypes.STRING_BYTES_TYPE;
+            if (type == LithiumValue.STRING_TYPE
+                    && ((String) node).length() >= LithiumValue.STRING_BYTES_LENGTH_THRESHOLD) {
+                return LithiumValue.STRING_BYTES_TYPE;
             }
             return type;
         }
 
         if (node instanceof Set) {
-            return ValueTypes.BITS_TYPE;
+            return LithiumValue.BITS_TYPE;
         }
 
         if (node instanceof YangInstanceIdentifier) {
-            return ValueTypes.YANG_IDENTIFIER_TYPE;
+            return LithiumValue.YANG_IDENTIFIER_TYPE;
         }
 
         throw new IllegalArgumentException("Unknown value type " + node.getClass().getSimpleName());