blob: 64c13edc1ae87163fbb19c1bd8d5c189eda68835 [file] [log] [blame]
Vinod Kumar S2ff139c2016-02-16 01:37:16 +05301/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
Vinod Kumar S2ff139c2016-02-16 01:37:16 +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
18import java.util.LinkedList;
19import java.util.List;
20
21import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
Bharat saraswal96dfef02016-06-16 00:29:12 +053022import org.onosproject.yangutils.datamodel.utils.Parsable;
Bharat saraswalb1170bd2016-07-14 13:26:18 +053023import org.onosproject.yangutils.datamodel.utils.ResolvableStatus;
Bharat saraswal96dfef02016-06-16 00:29:12 +053024import org.onosproject.yangutils.datamodel.utils.YangConstructType;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053025
Vidyashree Rama25bf4d02016-03-29 14:37:02 +053026import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.detectCollidingChildUtil;
27
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053028/*-
29 * Reference RFC 6020.
30 *
31 * The "augment" statement allows a module or submodule to add to the
32 * schema tree defined in an external module, or the current module and
33 * its submodules, and to add to the nodes from a grouping in a "uses"
34 * statement. The argument is a string that identifies a node in the
35 * schema tree. This node is called the augment's target node. The
36 * target node MUST be either a container, list, choice, case, input,
37 * output, or notification node. It is augmented with the nodes defined
38 * in the sub-statements that follow the "augment" statement.
39 *
40 * The argument string is a schema node identifier.
41 * If the "augment" statement is on the top level in a module or
42 * submodule, the absolute form of a schema node identifier
43 * MUST be used. If the "augment" statement is a sub-statement to the
44 * "uses" statement, the descendant form MUST be used.
45 *
46 * If the target node is a container, list, case, input, output, or
47 * notification node, the "container", "leaf", "list", "leaf-list",
48 * "uses", and "choice" statements can be used within the "augment"
49 * statement.
50 *
51 * If the target node is a choice node, the "case" statement, or a case
52 * shorthand statement can be used within the "augment" statement.
53 *
54 * If the target node is in another module, then nodes added by the
55 * augmentation MUST NOT be mandatory nodes.
56 *
57 * The "augment" statement MUST NOT add multiple nodes with the same
58 * name from the same module to the target node.
59 * The augment's sub-statements
60 *
61 * +--------------+---------+-------------+------------------+
62 * | substatement | section | cardinality |data model mapping|
63 * +--------------+---------+-------------+------------------+
64 * | anyxml | 7.10 | 0..n |-not supported |
65 * | case | 7.9.2 | 0..n |-child nodes |
66 * | choice | 7.9 | 0..n |-child nodes |
67 * | container | 7.5 | 0..n |-child nodes |
68 * | description | 7.19.3 | 0..1 |-string |
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053069 * | if-feature | 7.18.2 | 0..n |-YangIfFeature |
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053070 * | leaf | 7.6 | 0..n |-YangLeaf |
71 * | leaf-list | 7.7 | 0..n |-YangLeafList |
72 * | list | 7.8 | 0..n |-child nodes |
73 * | reference | 7.19.4 | 0..1 |-String |
74 * | status | 7.19.2 | 0..1 |-YangStatus |
75 * | uses | 7.12 | 0..n |-child nodes |
Vidyashree Ramadeac28b2016-06-20 15:12:43 +053076 * | when | 7.19.5 | 0..1 |-YangWhen |
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053077 * +--------------+---------+-------------+------------------+
78 */
Vinod Kumar Sd4deb062016-04-15 18:08:57 +053079
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053080/**
Bharat saraswald9822e92016-04-05 15:13:44 +053081 * Representation of data model node to maintain information defined in YANG augment.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053082 */
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +053083public class YangAugment
84 extends YangNode
Bharat saraswalb1170bd2016-07-14 13:26:18 +053085 implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector, YangAugmentedInfo, Resolvable,
Bharat saraswalb551aae2016-07-14 15:18:20 +053086 YangXPathResolver, YangWhenHolder, YangIfFeatureHolder {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053087
Bharat saraswal96dfef02016-06-16 00:29:12 +053088 private static final long serialVersionUID = 806201602L;
89
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053090 /**
91 * Augment target node.
92 */
Vidyashree Rama25bf4d02016-03-29 14:37:02 +053093 private String name;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053094
95 /**
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +053096 * Description of augment.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +053097 */
98 private String description;
99
100 /**
101 * List of leaves.
102 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530103 private List<YangLeaf> listOfLeaf;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530104
105 /**
106 * List of leaf-lists.
107 */
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530108 private List<YangLeafList> listOfLeafList;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530109
110 /**
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530111 * List of node identifiers.
112 */
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530113 private List<YangAtomicPath> targetNode;
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530114
115 /**
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530116 * Reference of the YANG augment.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530117 */
118 private String reference;
119
120 /**
121 * Status of the node.
122 */
123 private YangStatusType status;
124
125 /**
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530126 * Resolved augmented node.
127 */
128 private YangNode augmentedNode;
129
130 /**
Bharat saraswalb551aae2016-07-14 15:18:20 +0530131 * Status of resolution. If completely resolved enum value is "RESOLVED", if not enum value is "UNRESOLVED", in case
132 * reference of grouping/typedef is added to uses/type but it's not resolved value of enum should be
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530133 * "INTRA_FILE_RESOLVED".
134 */
135 private ResolvableStatus resolvableStatus;
136
137 /**
Vidyashree Ramadeac28b2016-06-20 15:12:43 +0530138 * When data of the node.
139 */
140 private YangWhen when;
141
142 /**
143 * List of if-feature.
144 */
145 private List<YangIfFeature> ifFeatureList;
146
147 /**
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530148 * Create a YANG augment node.
149 */
150 public YangAugment() {
151 super(YangNodeType.AUGMENT_NODE);
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530152 resolvableStatus = ResolvableStatus.UNRESOLVED;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530153 }
154
155 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530156 * Returns the augmented node.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530157 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530158 * @return the augmented node
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530159 */
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530160 public List<YangAtomicPath> getTargetNode() {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530161 return targetNode;
162 }
163
164 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530165 * Sets the augmented node.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530166 *
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530167 * @param nodeIdentifiers the augmented node
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530168 */
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530169 public void setTargetNode(List<YangAtomicPath> nodeIdentifiers) {
Bharat saraswal96dfef02016-06-16 00:29:12 +0530170 targetNode = nodeIdentifiers;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530171 }
172
173 /**
Vidyashree Ramadeac28b2016-06-20 15:12:43 +0530174 * Returns the when.
175 *
176 * @return the when
177 */
178 @Override
179 public YangWhen getWhen() {
180 return when;
181 }
182
183 /**
184 * Sets the when.
185 *
186 * @param when the when to set
187 */
188 @Override
189 public void setWhen(YangWhen when) {
190 this.when = when;
191 }
192
193 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530194 * Returns the description.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530195 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530196 * @return the description
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530197 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530198 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530199 public String getDescription() {
200 return description;
201 }
202
203 /**
204 * Set the description.
205 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530206 * @param description set the description
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530207 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530208 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530209 public void setDescription(String description) {
210 this.description = description;
211 }
212
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530213 @Override
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530214 public void detectCollidingChild(String identifierName, YangConstructType dataType)
215 throws DataModelException {
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530216 // Detect colliding child.
217 detectCollidingChildUtil(identifierName, dataType, this);
218 }
219
220 @Override
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530221 public void detectSelfCollision(String identifierName, YangConstructType dataType)
222 throws DataModelException {
Bharat saraswal96dfef02016-06-16 00:29:12 +0530223 if (getName().equals(identifierName)) {
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530224 throw new DataModelException("YANG file error: Duplicate input identifier detected, same as input \""
Bharat saraswal96dfef02016-06-16 00:29:12 +0530225 + getName() + "\"");
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530226 }
227 }
228
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530229 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530230 * Returns the list of leaves.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530231 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530232 * @return the list of leaves
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530233 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530234 @Override
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530235 public List<YangLeaf> getListOfLeaf() {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530236 return listOfLeaf;
237 }
238
239 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530240 * Sets the list of leaves.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530241 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530242 * @param leafsList the list of leaf to set
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530243 */
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530244 @Override
245 public void setListOfLeaf(List<YangLeaf> leafsList) {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530246 listOfLeaf = leafsList;
247 }
248
249 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530250 * Adds a leaf.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530251 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530252 * @param leaf the leaf to be added
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530253 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530254 @Override
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530255 public void addLeaf(YangLeaf leaf) {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530256 if (getListOfLeaf() == null) {
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530257 setListOfLeaf(new LinkedList<YangLeaf>());
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530258 }
259
260 getListOfLeaf().add(leaf);
261 }
262
263 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530264 * Returns the list of leaf-list.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530265 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530266 * @return the list of leaf-list
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530267 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530268 @Override
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530269 public List<YangLeafList> getListOfLeafList() {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530270 return listOfLeafList;
271 }
272
273 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530274 * Sets the list of leaf-list.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530275 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530276 * @param listOfLeafList the list of leaf-list to set
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530277 */
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530278 @Override
279 public void setListOfLeafList(List<YangLeafList> listOfLeafList) {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530280 this.listOfLeafList = listOfLeafList;
281 }
282
283 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530284 * Adds a leaf-list.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530285 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530286 * @param leafList the leaf-list to be added
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530287 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530288 @Override
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530289 public void addLeafList(YangLeafList leafList) {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530290 if (getListOfLeafList() == null) {
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530291 setListOfLeafList(new LinkedList<YangLeafList>());
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530292 }
293
294 getListOfLeafList().add(leafList);
295 }
296
297 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530298 * Returns the textual reference.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530299 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530300 * @return the reference
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530301 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530302 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530303 public String getReference() {
304 return reference;
305 }
306
307 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530308 * Sets the textual reference.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530309 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530310 * @param reference the reference to set
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530311 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530312 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530313 public void setReference(String reference) {
314 this.reference = reference;
315 }
316
317 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530318 * Returns the status.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530319 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530320 * @return the status
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530321 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530322 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530323 public YangStatusType getStatus() {
324 return status;
325 }
326
327 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530328 * Sets the status.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530329 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530330 * @param status the status to set
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530331 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530332 @Override
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530333 public void setStatus(YangStatusType status) {
334 this.status = status;
335 }
336
337 /**
338 * Returns the type of the data as belongs-to.
339 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530340 * @return returns AUGMENT_DATA
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530341 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530342 @Override
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530343 public YangConstructType getYangConstructType() {
344 return YangConstructType.AUGMENT_DATA;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530345 }
346
347 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530348 * Validates the data on entering the corresponding parse tree node.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530349 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530350 * @throws DataModelException a violation of data model rules
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530351 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530352 @Override
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530353 public void validateDataOnEntry()
354 throws DataModelException {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530355 // TODO auto-generated method stub, to be implemented by parser
356 }
357
358 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530359 * Validates the data on exiting the corresponding parse tree node.
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530360 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530361 * @throws DataModelException a violation of data model rules
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530362 */
Bharat saraswal870c56f2016-02-20 21:57:16 +0530363 @Override
VinodKumarS-Huawei2ee9e7e2016-06-01 14:30:22 +0530364 public void validateDataOnExit()
365 throws DataModelException {
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530366 // TODO auto-generated method stub, to be implemented by parser
367 }
368
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530369 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530370 * Returns the target nodes name where the augmentation is being done.
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530371 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530372 * @return target nodes name where the augmentation is being done
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530373 */
374 @Override
375 public String getName() {
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530376 return name;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530377 }
378
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530379 /**
Bharat saraswald9822e92016-04-05 15:13:44 +0530380 * Sets the target nodes name where the augmentation is being done.
Vinod Kumar S0c330cd2016-02-23 22:36:57 +0530381 *
Gaurav Agrawal8e8770a2016-02-27 03:57:50 +0530382 * @param name target nodes name where the augmentation is being done
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530383 */
384 @Override
385 public void setName(String name) {
Vidyashree Rama25bf4d02016-03-29 14:37:02 +0530386 this.name = name;
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530387 }
388
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530389 /**
390 * Returns augmented node.
391 *
392 * @return augmented node
393 */
394 public YangNode getAugmentedNode() {
395 return augmentedNode;
396 }
397
398 /**
399 * Sets augmented node.
400 *
401 * @param augmentedNode augmented node
402 */
403 public void setAugmentedNode(YangNode augmentedNode) {
404 this.augmentedNode = augmentedNode;
405 }
406
Vidyashree Ramadeac28b2016-06-20 15:12:43 +0530407 @Override
408 public List<YangIfFeature> getIfFeatureList() {
409 return ifFeatureList;
410 }
411
412 @Override
Bharat saraswalb551aae2016-07-14 15:18:20 +0530413 public void setIfFeatureList(List<YangIfFeature> ifFeatureList) {
414 this.ifFeatureList = ifFeatureList;
415 }
416
417 @Override
Vidyashree Ramadeac28b2016-06-20 15:12:43 +0530418 public void addIfFeatureList(YangIfFeature ifFeature) {
419 if (getIfFeatureList() == null) {
420 setIfFeatureList(new LinkedList<>());
421 }
422 getIfFeatureList().add(ifFeature);
423 }
424
425 @Override
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530426 public ResolvableStatus getResolvableStatus() {
427 return resolvableStatus;
428 }
429
430 @Override
431 public void setResolvableStatus(ResolvableStatus resolvableStatus) {
432 this.resolvableStatus = resolvableStatus;
433
434 }
435
436 @Override
janani b23ccc312016-07-14 19:35:22 +0530437 public Object resolve() throws DataModelException {
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530438 // Resolving of target node is being done in XPathLinker.
janani b23ccc312016-07-14 19:35:22 +0530439 return null;
Bharat saraswalb1170bd2016-07-14 13:26:18 +0530440 }
Bharat saraswalb551aae2016-07-14 15:18:20 +0530441
Vinod Kumar S2ff139c2016-02-16 01:37:16 +0530442}