blob: 0a5342c12c41b496ba6a2b209fe99524c13e0e1f [file] [log] [blame]
Vinod Kumar S17711e52016-02-09 20:02:43 +05301/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Vinod Kumar S17711e52016-02-09 20:02:43 +05303 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.yangutils.datamodel;
17
Bharat saraswal96dfef02016-06-16 00:29:12 +053018import java.io.Serializable;
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053019import java.util.Date;
Vinod Kumar S17711e52016-02-09 20:02:43 +053020import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
Bharat saraswal96dfef02016-06-16 00:29:12 +053021import org.onosproject.yangutils.datamodel.utils.Parsable;
22import org.onosproject.yangutils.datamodel.utils.YangConstructType;
Vinod Kumar S17711e52016-02-09 20:02:43 +053023
24/*
25 * Reference:RFC 6020.
26 * The "revision" statement specifies the editorial revision history of
27 * the module, including the initial revision. A series of revision
28 * statements detail the changes in the module's definition. The
29 * argument is a date string in the format "YYYY-MM-DD", followed by a
30 * block of sub-statements that holds detailed revision information. A
31 * module SHOULD have at least one initial "revision" statement. For
32 * every published editorial change, a new one SHOULD be added in front
33 * of the revisions sequence, so that all revisions are in reverse
34 * chronological order.
35 * The revision's sub-statement
36 *
37 * +--------------+---------+-------------+------------------+
38 * | substatement | section | cardinality |data model mapping|
39 * +--------------+---------+-------------+------------------+
40 * | description | 7.19.3 | 0..1 |string |
41 * | reference | 7.19.4 | 0..1 |sring |
42 * +--------------+---------+-------------+------------------+
43 */
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053044
Vinod Kumar S17711e52016-02-09 20:02:43 +053045/**
Bharat saraswald9822e92016-04-05 15:13:44 +053046 * Represents the information about the revision.
Vinod Kumar S17711e52016-02-09 20:02:43 +053047 */
Bharat saraswal96dfef02016-06-16 00:29:12 +053048public class YangRevision implements YangDesc, YangReference, Parsable, Serializable {
49
50 private static final long serialVersionUID = 8062016052L;
Vinod Kumar S17711e52016-02-09 20:02:43 +053051
52 /**
53 * Revision date. Date string in the format "YYYY-MM-DD"
54 */
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053055 private Date revDate;
Vinod Kumar S17711e52016-02-09 20:02:43 +053056
57 /**
58 * Description of revision.
59 */
60 private String description;
61
62 /**
63 * Textual reference for revision.
64 */
65 private String reference;
66
67 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053068 * Creates a YANG revision object.
Vinod Kumar S17711e52016-02-09 20:02:43 +053069 */
70 public YangRevision() {
71 }
72
73 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053074 * Returns the revision date.
Vinod Kumar S17711e52016-02-09 20:02:43 +053075 *
76 * @return the revision date
77 */
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053078 public Date getRevDate() {
Vinod Kumar S17711e52016-02-09 20:02:43 +053079 return revDate;
80 }
81
82 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053083 * Sets the revision date.
Vinod Kumar S17711e52016-02-09 20:02:43 +053084 *
85 * @param revDate the revision date to set
86 */
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053087 public void setRevDate(Date revDate) {
Vinod Kumar S17711e52016-02-09 20:02:43 +053088 this.revDate = revDate;
89 }
90
91 /**
Bharat saraswald9822e92016-04-05 15:13:44 +053092 * Returns the description.
Vinod Kumar S17711e52016-02-09 20:02:43 +053093 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +053094 * @return the description
Vinod Kumar S17711e52016-02-09 20:02:43 +053095 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +053096 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +053097 public String getDescription() {
98 return description;
99 }
100
101 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530102 * Sets the description.
Vinod Kumar S17711e52016-02-09 20:02:43 +0530103 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530104 * @param description set the description
Vinod Kumar S17711e52016-02-09 20:02:43 +0530105 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530106 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +0530107 public void setDescription(String description) {
108 this.description = description;
109 }
110
111 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530112 * Returns the textual reference.
Vinod Kumar S17711e52016-02-09 20:02:43 +0530113 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530114 * @return the reference
Vinod Kumar S17711e52016-02-09 20:02:43 +0530115 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530116 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +0530117 public String getReference() {
118 return reference;
119 }
120
121 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530122 * Sets the textual reference.
Vinod Kumar S17711e52016-02-09 20:02:43 +0530123 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530124 * @param reference the reference to set
Vinod Kumar S17711e52016-02-09 20:02:43 +0530125 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530126 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +0530127 public void setReference(String reference) {
128 this.reference = reference;
129 }
130
131 /**
132 * Returns the type of the parsed data.
133 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530134 * @return returns REVISION_DATA
Vinod Kumar S17711e52016-02-09 20:02:43 +0530135 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530136 @Override
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530137 public YangConstructType getYangConstructType() {
138 return YangConstructType.REVISION_DATA;
Vinod Kumar S17711e52016-02-09 20:02:43 +0530139 }
140
141 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530142 * Validates the data on entering the corresponding parse tree node.
Vinod Kumar S17711e52016-02-09 20:02:43 +0530143 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530144 * @throws DataModelException a violation of data model rules
Vinod Kumar S17711e52016-02-09 20:02:43 +0530145 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530146 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +0530147 public void validateDataOnEntry() throws DataModelException {
148 // TODO auto-generated method stub, to be implemented by parser
149
150 }
151
152 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530153 * Validates the data on exiting the corresponding parse tree node.
Vinod Kumar S17711e52016-02-09 20:02:43 +0530154 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530155 * @throws DataModelException a violation of data model rules
Vinod Kumar S17711e52016-02-09 20:02:43 +0530156 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530157 @Override
Vinod Kumar S17711e52016-02-09 20:02:43 +0530158 public void validateDataOnExit() throws DataModelException {
159 // TODO auto-generated method stub, to be implemented by parser
160
161 }
162}