Coverage report

| %line | %branch
--- | --- | ---

org.apache.commons.jelly.tags.core.BaseClassLoaderTag

44%

100%

1

     /*

2

      * Copyright 2002,2004 The Apache Software Foundation.

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

     package org.apache.commons.jelly.tags.core;

17

18

     import org.apache.commons.jelly.TagSupport;

19

     import org.apache.commons.jelly.util.ClassLoaderUtils;

20

21

     /** Abstract base tag providing {@link ClassLoader} support.

22

       *

23

       * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>

24

       * @author Rodney Waldhoff

25

       * @version $Revision: 155420 $

26

       */

27

1105

     public abstract class BaseClassLoaderTag extends TagSupport {

28

         /**

29

          * The class loader to use for instantiating application objects.

30

          * If not specified, the context class loader, or the class loader

31

          * used to load XMLParser itself, is used, based on the value of the

32

          * <code>useContextClassLoader</code> variable.

33

          */

34

1105

         protected ClassLoader classLoader = null;

35

36

         /**

37

          * Do we want to use the Context ClassLoader when loading classes

38

          * for instantiating new objects?  Default is <code>false</code>.

39

          */

40

1105

         protected boolean useContextClassLoader = false;

41

42

         /**

43

          * Return the class loader to be used for instantiating application objects

44

          * when required.  This is determined based upon the following rules:

45

          * <ul>

46

          * <li>The class loader set by <code>setClassLoader()</code>, if any</li>

47

          * <li>The thread context class loader, if it exists and the

48

          *     <code>useContextClassLoader</code> property is set to true</li>

49

          * <li>The class loader used to load the XMLParser class itself.

50

          * </ul>

51

          */

52

         public ClassLoader getClassLoader() {

53

507

             return ClassLoaderUtils.getClassLoader(classLoader, useContextClassLoader, getClass());

54

         }

55

56

         /**

57

          * Set the class loader to be used for instantiating application objects

58

          * when required.

59

          *

60

          * @param classLoader The new class loader to use, or <code>null</code>

61

          *  to revert to the standard rules

62

          */

63

         public void setClassLoader(ClassLoader classLoader) {

64

0

             this.classLoader = classLoader;

65

0

         }

66

67

         /**

68

          * Return the boolean as to whether the context classloader should be used.

69

          */

70

         public boolean getUseContextClassLoader() {

71

0

             return useContextClassLoader;

72

         }

73

74

         /**

75

          * Determine whether to use the Context ClassLoader (the one found by

76

          * calling <code>Thread.currentThread().getContextClassLoader()</code>)

77

          * to resolve/load classes.  If not

78

          * using Context ClassLoader, then the class-loading defaults to

79

          * using the calling-class' ClassLoader.

80

          *

81

          * @param boolean determines whether to use JellyContext ClassLoader.

82

          */

83

         public void setUseContextClassLoader(boolean use) {

84

0

             useContextClassLoader = use;

85

0

         }

86

     }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.