Update the API generation code and code generation sample
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / yang / model / util / Leafref.java
index 21fdbde5fea6b7ede3d3ee8da8afa06e7e80c9d4..32181162906b2d1ade73af544d883b61e7348282 100644 (file)
-/*
-  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
-  *
-  * This program and the accompanying materials are made available under the
-  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
-  * and is available at http://www.eclipse.org/legal/epl-v10.html
-  */
-package org.opendaylight.controller.yang.model.util;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.opendaylight.controller.yang.common.QName;
-import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;
-import org.opendaylight.controller.yang.model.api.SchemaPath;
-import org.opendaylight.controller.yang.model.api.Status;
-import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
-import org.opendaylight.controller.yang.model.api.type.LeafrefTypeDefinition;
-
-/**
- * The <code>default</code> implementation of Instance Leafref Type Definition interface.
- *
- * @see LeafrefTypeDefinition
- */
-public class Leafref implements LeafrefTypeDefinition {
-    private static final QName name = BaseTypes.constructQName("leafref");
-    private static final String description = "The leafref type is used to reference a " +
-               "particular leaf instance in the data tree.";
-    private static final String reference = "https://tools.ietf.org/html/rfc6020#section-9.9";
-    private final SchemaPath path = BaseTypes.schemaPath(name);
-    private final RevisionAwareXPath xpath;
-    private final String units = "";
-
-    public Leafref(RevisionAwareXPath xpath) {
-        super();
-        this.xpath = xpath;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()
-     */
-    @Override
-    public LeafrefTypeDefinition getBaseType() {
-        return this;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()
-     */
-    @Override
-    public String getUnits() {
-        return units;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()
-     */
-    @Override
-    public Object getDefaultValue() {
-        return this;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()
-     */
-    @Override
-    public QName getQName() {
-        return name;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()
-     */
-    @Override
-    public SchemaPath getPath() {
-        return path;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()
-     */
-    @Override
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()
-     */
-    @Override
-    public String getReference() {
-        return reference;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()
-     */
-    @Override
-    public Status getStatus() {
-        return Status.CURRENT;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getExtensionSchemaNodes()
-     */
-    @Override
-    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-        return Collections.emptyList();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.opendaylight.controller.yang.model.api.type.LeafrefTypeDefinition#getPathStatement()
-     */
-    @Override
-    public RevisionAwareXPath getPathStatement() {
-        return xpath;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((path == null) ? 0 : path.hashCode());
-        result = prime * result + ((units == null) ? 0 : units.hashCode());
-        result = prime * result + ((xpath == null) ? 0 : xpath.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        Leafref other = (Leafref) obj;
-        if (path == null) {
-            if (other.path != null) {
-                return false;
-            }
-        } else if (!path.equals(other.path)) {
-            return false;
-        }
-        if (units == null) {
-            if (other.units != null) {
-                return false;
-            }
-        } else if (!units.equals(other.units)) {
-            return false;
-        }
-        if (xpath == null) {
-            if (other.xpath != null) {
-                return false;
-            }
-        } else if (!xpath.equals(other.xpath)) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append("Leafref [path=");
-        builder.append(path);
-        builder.append(", xpath=");
-        builder.append(xpath);
-        builder.append(", units=");
-        builder.append(units);
-        builder.append("]");
-        return builder.toString();
-    }
-}
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.controller.yang.model.util;\r
+\r
+import java.net.URI;\r
+import java.util.Collections;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import org.opendaylight.controller.yang.common.QName;\r
+import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;\r
+import org.opendaylight.controller.yang.model.api.SchemaPath;\r
+import org.opendaylight.controller.yang.model.api.Status;\r
+import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;\r
+import org.opendaylight.controller.yang.model.api.type.LeafrefTypeDefinition;\r
+\r
+/**\r
+ * The <code>default</code> implementation of Instance Leafref Type Definition\r
+ * interface.\r
+ * \r
+ * @see LeafrefTypeDefinition\r
+ */\r
+public class Leafref implements LeafrefTypeDefinition {\r
+    private static final QName name = BaseTypes.constructQName("leafref");\r
+    private static final String description = "The leafref type is used to reference a "\r
+            + "particular leaf instance in the data tree.";\r
+    private static final String reference = "https://tools.ietf.org/html/rfc6020#section-9.9";\r
+    private final SchemaPath path;\r
+    private final RevisionAwareXPath xpath;\r
+    private final String units = "";\r
+    private final LeafrefTypeDefinition baseType;\r
+\r
+    private Leafref(final RevisionAwareXPath xpath) {\r
+        this.xpath = xpath;\r
+        this.path = BaseTypes.schemaPath(name);\r
+        this.baseType = this;\r
+    }\r
+    \r
+    public Leafref(final List<String> actualPath, final URI namespace,\r
+            final Date revision, final RevisionAwareXPath xpath) {\r
+        super();\r
+        this.path = BaseTypes.schemaPath(actualPath, namespace, revision);\r
+        this.xpath = xpath;\r
+        baseType = new Leafref(xpath);\r
+    }\r
+    \r
+    public Leafref(final List<String> actualPath, final URI namespace,\r
+            final Date revision, final LeafrefTypeDefinition baseType,\r
+            final RevisionAwareXPath xpath) {\r
+        super();\r
+        this.path = BaseTypes.schemaPath(actualPath, namespace, revision);\r
+        this.xpath = xpath;\r
+        this.baseType = baseType;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see\r
+     * org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
+     */\r
+    @Override\r
+    public LeafrefTypeDefinition getBaseType() {\r
+        return baseType;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()\r
+     */\r
+    @Override\r
+    public String getUnits() {\r
+        return units;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see\r
+     * org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue\r
+     * ()\r
+     */\r
+    @Override\r
+    public Object getDefaultValue() {\r
+        return this;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()\r
+     */\r
+    @Override\r
+    public QName getQName() {\r
+        return name;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()\r
+     */\r
+    @Override\r
+    public SchemaPath getPath() {\r
+        return path;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see\r
+     * org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()\r
+     */\r
+    @Override\r
+    public String getDescription() {\r
+        return description;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()\r
+     */\r
+    @Override\r
+    public String getReference() {\r
+        return reference;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()\r
+     */\r
+    @Override\r
+    public Status getStatus() {\r
+        return Status.CURRENT;\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see\r
+     * org.opendaylight.controller.yang.model.api.SchemaNode#getExtensionSchemaNodes\r
+     * ()\r
+     */\r
+    @Override\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
+        return Collections.emptyList();\r
+    }\r
+\r
+    /*\r
+     * (non-Javadoc)\r
+     * \r
+     * @see\r
+     * org.opendaylight.controller.yang.model.api.type.LeafrefTypeDefinition\r
+     * #getPathStatement()\r
+     */\r
+    @Override\r
+    public RevisionAwareXPath getPathStatement() {\r
+        return xpath;\r
+    }\r
+\r
+    @Override\r
+    public int hashCode() {\r
+        final int prime = 31;\r
+        int result = 1;\r
+        result = prime * result + ((path == null) ? 0 : path.hashCode());\r
+        result = prime * result + ((units == null) ? 0 : units.hashCode());\r
+        result = prime * result + ((xpath == null) ? 0 : xpath.hashCode());\r
+        return result;\r
+    }\r
+\r
+    @Override\r
+    public boolean equals(Object obj) {\r
+        if (this == obj) {\r
+            return true;\r
+        }\r
+        if (obj == null) {\r
+            return false;\r
+        }\r
+        if (getClass() != obj.getClass()) {\r
+            return false;\r
+        }\r
+        Leafref other = (Leafref) obj;\r
+        if (path == null) {\r
+            if (other.path != null) {\r
+                return false;\r
+            }\r
+        } else if (!path.equals(other.path)) {\r
+            return false;\r
+        }\r
+        if (units == null) {\r
+            if (other.units != null) {\r
+                return false;\r
+            }\r
+        } else if (!units.equals(other.units)) {\r
+            return false;\r
+        }\r
+        if (xpath == null) {\r
+            if (other.xpath != null) {\r
+                return false;\r
+            }\r
+        } else if (!xpath.equals(other.xpath)) {\r
+            return false;\r
+        }\r
+        return true;\r
+    }\r
+\r
+    @Override\r
+    public String toString() {\r
+        StringBuilder builder = new StringBuilder();\r
+        builder.append("Leafref [path=");\r
+        builder.append(path);\r
+        builder.append(", xpath=");\r
+        builder.append(xpath);\r
+        builder.append(", units=");\r
+        builder.append(units);\r
+        builder.append("]");\r
+        return builder.toString();\r
+    }\r
+}\r