Coverage report

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

org.apache.commons.jelly.tags.core.WhenTag

92%

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

19

     import org.apache.commons.jelly.TagSupport;

20

     import org.apache.commons.jelly.XMLOutput;

21

     import org.apache.commons.jelly.expression.Expression;

22

23

     /** A tag which conditionally evaluates its body based on some condition

24

       *

25

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

26

       * @version $Revision: 155420 $

27

       */

28

     public class WhenTag extends TagSupport {

29

30

         /** The expression to evaluate. */

31

         private Expression test;

32

33

156

         public WhenTag() {

34

156

         }

35

36

         // Tag interface

37

         //-------------------------------------------------------------------------

38

         public void doTag(XMLOutput output) throws JellyTagException {

39

299

             ChooseTag tag = (ChooseTag) findAncestorWithClass( ChooseTag.class );

40

260

             if ( tag == null ) {

41

0

                 throw new JellyTagException( "This tag must be enclosed inside a <choose> tag" );

42

             }

43

260

             if ( ! tag.isBlockEvaluated() && test != null ) {

44

221

                 if ( test.evaluateAsBoolean( context ) ) {

45

91

                     tag.setBlockEvaluated(true);

46

91

                     invokeBody(output);

47

                 }

48

             }

49

260

         }

50

51

         // Properties

52

         //-------------------------------------------------------------------------

53

54

         /** Sets the expression to evaluate. */

55

         public void setTest(Expression test) {

56

260

             this.test = test;

57

260

         }

58

59

     }

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