[ONOS-4650][ONOS-4726][ONOS-4727] [ONOS-4728]Implement must parser + when parser + feature + if-feature + revision defect fix
Change-Id: I0a3aee6c1c6b72ef7da7f7f565fd0f149fe3fd42
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
index 0391518..0c717a6 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangLeaf.java
@@ -17,7 +17,8 @@
package org.onosproject.yangutils.datamodel;
import java.io.Serializable;
-
+import java.util.LinkedList;
+import java.util.List;
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.Parsable;
import org.onosproject.yangutils.datamodel.utils.YangConstructType;
@@ -43,16 +44,16 @@
* | substatement | section | cardinality |data model mapping|
* +--------------+---------+-------------+------------------+
* | config | 7.19.1 | 0..1 | - boolean |
- * | default | 7.6.4 | 0..1 | - TODO |
+ * | default | 7.6.4 | 0..1 | - string |
* | description | 7.19.3 | 0..1 | - string |
- * | if-feature | 7.18.2 | 0..n | - TODO |
+ * | if-feature | 7.18.2 | 0..n | - YangIfFeature |
* | mandatory | 7.6.5 | 0..1 | - boolean |
- * | must | 7.5.3 | 0..n | - TODO |
+ * | must | 7.5.3 | 0..n | - YangMust |
* | reference | 7.19.4 | 0..1 | - string |
* | status | 7.19.2 | 0..1 | - YangStatus |
* | type | 7.6.3 | 1 | - YangType |
* | units | 7.3.3 | 0..1 | - String |
- * | when | 7.19.5 | 0..1 | - TODO |
+ * | when | 7.19.5 | 0..1 | - YangWhen |
* +--------------+---------+-------------+------------------+
*/
@@ -60,7 +61,8 @@
* Represents leaf data represented in YANG.
*/
public class YangLeaf
- implements YangCommonInfo, Parsable, Cloneable, Serializable {
+ implements YangCommonInfo, Parsable, Cloneable, Serializable,
+ YangMustHolder, YangIfFeatureHolder, YangWhenHolder {
private static final long serialVersionUID = 806201635L;
@@ -111,11 +113,26 @@
private String defaultValueInString;
/**
+ * When data of the leaf.
+ */
+ private YangWhen when;
+
+ /**
* YANG Node in which the leaf is contained.
*/
private transient YangLeavesHolder containedIn;
/**
+ * List of must statement constraints.
+ */
+ private List<YangMust> mustConstraintList;
+
+ /**
+ * List of if-feature.
+ */
+ private List<YangIfFeature> ifFeatureList;
+
+ /**
* Creates a YANG leaf.
*/
public YangLeaf() {
@@ -158,6 +175,26 @@
}
/**
+ * Returns the when.
+ *
+ * @return the when
+ */
+ @Override
+ public YangWhen getWhen() {
+ return when;
+ }
+
+ /**
+ * Sets the when.
+ *
+ * @param when the when to set
+ */
+ @Override
+ public void setWhen(YangWhen when) {
+ this.when = when;
+ }
+
+ /**
* Returns the description.
*
* @return the description
@@ -346,4 +383,40 @@
// TODO auto-generated method stub, to be implemented by parser
}
+
+ @Override
+ public List<YangMust> getListOfMust() {
+ return mustConstraintList;
+ }
+
+ @Override
+ public void setListOfMust(List<YangMust> mustConstraintList) {
+ this.mustConstraintList = mustConstraintList;
+ }
+
+ @Override
+ public void addMust(YangMust must) {
+ if (getListOfMust() == null) {
+ setListOfMust(new LinkedList<>());
+ }
+ getListOfMust().add(must);
+ }
+
+ @Override
+ public List<YangIfFeature> getIfFeatureList() {
+ return ifFeatureList;
+ }
+
+ @Override
+ public void addIfFeatureList(YangIfFeature ifFeature) {
+ if (getIfFeatureList() == null) {
+ setIfFeatureList(new LinkedList<>());
+ }
+ getIfFeatureList().add(ifFeature);
+ }
+
+ @Override
+ public void setIfFeatureList(List<YangIfFeature> ifFeatureList) {
+ this.ifFeatureList = ifFeatureList;
+ }
}