Coverage report

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

org.apache.commons.jelly.tags.core.UseListTag

0%

0%

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 java.util.ArrayList;

19

     import java.util.Iterator;

20

     import java.util.List;

21

     import java.util.Map;

22

23

     import org.apache.commons.jelly.JellyTagException;

24

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

25

     import org.apache.commons.jelly.impl.CollectionTag;

26

27

     /**

28

      * A tag which creates a List implementation and optionally

29

      * adds all of the elements identified by the items attribute.

30

      * The exact implementation of List can be specified via the

31

      * class attribute

32

      * </pre>

33

      *

34

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

35

      * @version $Revision: 155420 $

36

      */

37

     public class UseListTag extends UseBeanTag implements CollectionTag {

38

39

         private Expression items;

40

41

0

         public UseListTag(){

42

0

         }

43

44

         public List getList() {

45

0

             return (List) getBean();

46

         }

47

48

49

         // CollectionTag interface

50

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

51

         public void addItem(Object value) {

52

0

             getList().add(value);

53

0

         }

54

55

         // DynaTag interface

56

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

57

         public Class getAttributeType(String name) throws JellyTagException {

58

0

             if (name.equals("items")) {

59

0

                 return Expression.class;

60

             }

61

0

             return super.getAttributeType(name);

62

         }

63

64

65

         // Implementation methods

66

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

67

68

         protected void setBeanProperties(Object bean, Map attributes) throws JellyTagException {

69

0

             items = (Expression) attributes.remove("items");

70

0

             super.setBeanProperties(bean, attributes);

71

0

         }

72

73

         protected void processBean(String var, Object bean) throws JellyTagException {

74

0

             super.processBean(var, bean);

75

76

0

             List list = getList();

77

78

             // if the items variable is specified lets append all the items

79

0

             if (items != null) {

80

0

                 Iterator iter = items.evaluateAsIterator(context);

81

0

                 while (iter.hasNext()) {

82

0

                     list.add( iter.next() );

83

0

                 }

84

             }

85

0

         }

86

87

         protected Class getDefaultClass() {

88

0

             return ArrayList.class;

89

         }

90

     }

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