Updated YANG Type definitions and documentation in YANG Model Utils.
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / model / util / BinaryType.java
index 7429c015314317d1a5a2bcbb473d949e9955c729..2ee873b33a762b8d1401102ea49cce61c589a4c4 100644 (file)
@@ -7,6 +7,7 @@
   */\r
 package org.opendaylight.controller.model.util;\r
 \r
+import java.util.ArrayList;\r
 import java.util.Collections;\r
 import java.util.List;\r
 \r
@@ -17,30 +18,54 @@ import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.Status;\r
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;\r
 \r
+/**\r
+ * The <code>default</code> implementation of Binary Type Definition interface.\r
+ * \r
+ * @see BinaryTypeDefinition\r
+ */\r
 public class BinaryType implements BinaryTypeDefinition {\r
 \r
     private final QName name = BaseTypes.constructQName("binary");\r
     private final SchemaPath path = BaseTypes.schemaPath(name);\r
-    private final String description = "";\r
-    private final String reference = "";\r
+    private final String description = "The binary built-in type represents any binary data, i.e., a sequence of octets.";\r
+    private final String reference = "https://tools.ietf.org/html/rfc6020#section-9.8";\r
 \r
     private List<Byte> bytes;\r
     private final List<LengthConstraint> lengthConstraints;\r
     private String units = "";\r
 \r
+    /**\r
+     * \r
+     */\r
     public BinaryType() {\r
         super();\r
-\r
-        lengthConstraints = Collections.emptyList();\r
+        \r
+        final List<LengthConstraint> constraints = new ArrayList<LengthConstraint>();\r
+        constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", ""));\r
+        lengthConstraints = Collections.unmodifiableList(constraints);\r
         bytes = Collections.emptyList();\r
-        bytes = Collections.unmodifiableList(bytes);\r
     }\r
 \r
+    /**\r
+     * \r
+     * \r
+     * @param bytes\r
+     * @param lengthConstraints\r
+     * @param units\r
+     */\r
     public BinaryType(final List<Byte> bytes,\r
             final List<LengthConstraint> lengthConstraints, final String units) {\r
         super();\r
-        this.bytes = bytes;\r
-        this.lengthConstraints = lengthConstraints;\r
+        \r
+        if ((lengthConstraints == null) || (lengthConstraints.isEmpty())) {\r
+            final List<LengthConstraint> constraints = new ArrayList<LengthConstraint>();\r
+            constraints.add(BaseConstraints.lengthConstraint(0, Long.MAX_VALUE, "", ""));\r
+            this.lengthConstraints = Collections.unmodifiableList(constraints);\r
+        } else {\r
+            this.lengthConstraints = Collections.unmodifiableList(lengthConstraints);\r
+        }\r
+        \r
+        this.bytes = Collections.unmodifiableList(bytes);\r
         this.units = units;\r
     }\r
 \r