blob: 1a3078dec64b623ece658a26fb2d4bbc71c517c0 [file] [log] [blame]
Shankara-Huaweid5823ab2016-11-22 10:14:52 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2016-present Open Networking Foundation
Shankara-Huaweid5823ab2016-11-22 10:14:52 +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 */
16
17package org.onosproject.yms.app.ych.defaultcodecs.xml;
18
19import org.dom4j.Element;
20
21/**
22 * Abstraction of an entity which provides interfaces for xml walk.
23 * This interface serve as common tools for anyone who needs to parse the xml
24 * node with depth-first algorithm.
25 */
26interface XmlWalker {
27 /**
28 * Walks the xml data tree. Protocols implements xml listener service
29 * and walks xml tree with input as implemented object. xml walker provides
30 * call backs to implemented methods.
31 *
32 * @param listener xml listener implemented by the protocol
33 * @param walkElement root node(element) of the xml data tree
34 * @param rootElement logical root node(element) of the xml data tree
35 */
36 void walk(XmlListener listener, Element walkElement, Element rootElement);
37}