##### Coverage Report - org.apache.commons.configuration.tree.ConfigurationNodeVisitor

Classes in this File | Line Coverage | Branch Coverage | Complexity

ConfigurationNodeVisitor

N/A | N/A

N/A | N/A

1.0;1

1

     /*

2

      * Licensed to the Apache Software Foundation (ASF) under one or more

3

      * contributor license agreements.  See the NOTICE file distributed with

4

      * this work for additional information regarding copyright ownership.

5

      * The ASF licenses this file to You under the Apache License, Version 2.0

6

      * (the "License"); you may not use this file except in compliance with

7

      * the License.  You may obtain a copy of the License at

8

      *

9

      *     http://www.apache.org/licenses/LICENSE-2.0

10

      *

11

      * Unless required by applicable law or agreed to in writing, software

12

      * distributed under the License is distributed on an "AS IS" BASIS,

13

      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

14

      * See the License for the specific language governing permissions and

15

      * limitations under the License.

16

      */

17

     package org.apache.commons.configuration.tree;

18

19

     /**

20

      * <p>

21

      * Definition of a <em>Visitor</em> interface for a configuration node

22

      * structure.

23

      * </p>

24

      * <p>

25

      * The <code>ConfigurationNode</code> interface defines a <code>visit()</code>,

26

      * which simplifies traversal of a complex node hierarchy. A configuration node

27

      * implementation must provide a way of visiting all nodes in the current

28

      * hierarchy. This is a typical application of the GoF <em>Visitor</em>

29

      * pattern.

30

      * </p>

31

      *

32

      * @since 1.3

33

      * @see ConfigurationNode

34

      * @author Oliver Heger

35

      */

36

     public interface ConfigurationNodeVisitor

37

     {

38

         /**

39

          * Visits the specified node. This method is called before eventually

40

          * existing children of this node are processed.

41

          *

42

          * @param node the node to be visited

43

          */

44

         void visitBeforeChildren(ConfigurationNode node);

45

46

         /**

47

          * Visits the specified node. This method is called after eventually

48

          * existing children of this node have been processed.

49

          *

50

          * @param node the node to be visited

51

          */

52

         void visitAfterChildren(ConfigurationNode node);

53

54

         /**

55

          * Returns a flag whether the actual visit process should be aborted. This

56

          * method allows a visitor implementation to state that it does not need any

57

          * further data. It may be used e.g. by visitors that search for a certain

58

          * node in the hierarchy. After that node was found, there is no need to

59

          * process the remaining nodes, too.

60

          *

61

          * @return a flag if the visit process should be stopped

62

          */

63

         boolean terminate();

64

     }