blob: 53655cd5c3241a2a87f75d4c12c639c53cd51f06 [file] [log] [blame]
Gaurav Agrawald9d6cc82016-03-29 02:17:23 +05301/*
2 * Copyright 2016 Open Networking Laboratory
3 *
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 */
16
17package org.onosproject.yangutils.datamodel;
18
19/**
20 * Maintains the derived information.
21 *
22 * @param <T> extended information.
23 */
24public class YangDerivedInfo<T> {
25
26 /**
27 * YANG typedef reference.
28 */
29 private YangTypeDef referredTypeDef;
30
31 /**
32 * Resolved additional information about data type after linking, example
33 * restriction info, named values, etc. The extra information is based
34 * on the data type. Based on the data type, the extended info can vary.
35 */
36 private T resolvedExtendedInfo;
37
38 /**
39 * Additional information about data type, example restriction info, named
40 * values, etc. The extra information is based on the data type. Based on
41 * the data type, the extended info can vary.
42 */
43 private T extendedInfo;
44
45 /**
46 * Returns the referred typedef reference.
47 *
48 * @return referred typedef reference
49 */
50 public YangTypeDef getReferredTypeDef() {
51 return referredTypeDef;
52 }
53
54 /**
55 * Set the referred typedef reference.
56 *
57 * @param referredTypeDef referred typedef reference
58 */
59 public void setReferredTypeDef(YangTypeDef referredTypeDef) {
60 this.referredTypeDef = referredTypeDef;
61 }
62
63 /**
64 * Returns resolved extended information after successful linking.
65 *
66 * @return resolved extended information
67 */
68 public T getResolvedExtendedInfo() {
69 return resolvedExtendedInfo;
70 }
71
72 /**
73 * Set resolved extended information after successful linking.
74 *
75 * @param resolvedExtendedInfo resolved extended information
76 */
77 public void setResolvedExtendedInfo(T resolvedExtendedInfo) {
78 this.resolvedExtendedInfo = resolvedExtendedInfo;
79 }
80
81 /**
82 * Returns extended information.
83 *
84 * @return extended information
85 */
86 public T getExtendedInfo() {
87 return extendedInfo;
88 }
89
90 /**
91 * Set extended information.
92 *
93 * @param extendedInfo extended information
94 */
95 public void setExtendedInfo(T extendedInfo) {
96 this.extendedInfo = extendedInfo;
97 }
98}