##### Coverage Report - org.apache.commons.configuration.tree.xpath.ConfigurationNodePointerFactory

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

ConfigurationNodePointerFactory

50% | 4/8

50% | 1/2

2.3333333333333335;2,333

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.xpath;

18

19

     import java.util.Locale;

20

21

     import org.apache.commons.configuration.tree.ConfigurationNode;

22

     import org.apache.commons.jxpath.ri.QName;

23

     import org.apache.commons.jxpath.ri.model.NodePointer;

24

     import org.apache.commons.jxpath.ri.model.NodePointerFactory;

25

26

     /**

27

      * Implementation of the <code>NodePointerFactory</code> interface for

28

      * configuration nodes.

29

      *

30

      * @since 1.3

31

      * @author Oliver Heger

32

      * @version $Id: ConfigurationNodePointerFactory.java 439648 2006-09-02 20:42:10Z oheger $

33

      */

34

11

     public class ConfigurationNodePointerFactory implements NodePointerFactory

35

     {

36

         /** Constant for the order of this factory. */

37

         public static final int CONFIGURATION_NODE_POINTER_FACTORY_ORDER = 200;

38

39

         /**

40

          * Returns the order of this factory between other factories.

41

          *

42

          * @return this order's factory

43

          */

44

         public int getOrder()

45

         {

46

101

             return CONFIGURATION_NODE_POINTER_FACTORY_ORDER;

47

         }

48

49

         /**

50

          * Creates a node pointer for the specified bean. If the bean is a

51

          * configuration node, a corresponding pointer is returned.

52

          *

53

          * @param name the name of the node

54

          * @param bean the bean

55

          * @param locale the locale

56

          * @return a pointer for a configuration node if the bean is such a node

57

          */

58

         public NodePointer createNodePointer(QName name, Object bean, Locale locale)

59

         {

60

176

             if (bean instanceof ConfigurationNode)

61

             {

62

176

                 return new ConfigurationNodePointer((ConfigurationNode) bean,

63

                         locale);

64

             }

65

0

             return null;

66

         }

67

68

         /**

69

          * Creates a node pointer for the specified bean. If the bean is a

70

          * configuration node, a corresponding pointer is returned.

71

          *

72

          * @param parent the parent node

73

          * @param name the name

74

          * @param bean the bean

75

          * @return a pointer for a configuration node if the bean is such a node

76

          */

77

         public NodePointer createNodePointer(NodePointer parent, QName name,

78

                 Object bean)

79

         {

80

0

             if (bean instanceof ConfigurationNode)

81

             {

82

0

                 return new ConfigurationNodePointer(parent,

83

                         (ConfigurationNode) bean);

84

             }

85

0

             return null;

86

         }

87

     }