Clover coverage report - Code Coverage for hivemind release 1.1-beta-2
Coverage timestamp: Tue Jun 28 2005 10:28:23 EDT
file stats: LOC: 136   Methods: 11
NCLOC: 91   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ElementImpl.java 94.4% 97.3% 90.9% 95.5%
coverage coverage
 1    // Copyright 2004, 2005 The Apache Software Foundation
 2    //
 3    // Licensed under the Apache License, Version 2.0 (the "License");
 4    // you may not use this file except in compliance with the License.
 5    // You may obtain a copy of the License at
 6    //
 7    // http://www.apache.org/licenses/LICENSE-2.0
 8    //
 9    // Unless required by applicable law or agreed to in writing, software
 10    // distributed under the License is distributed on an "AS IS" BASIS,
 11    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    // See the License for the specific language governing permissions and
 13    // limitations under the License.
 14   
 15    package org.apache.hivemind.impl;
 16   
 17    import java.util.ArrayList;
 18    import java.util.Collections;
 19    import java.util.HashMap;
 20    import java.util.List;
 21    import java.util.Map;
 22   
 23    import org.apache.hivemind.Attribute;
 24    import org.apache.hivemind.Element;
 25    import org.apache.hivemind.util.ToStringBuilder;
 26   
 27    /**
 28    * Implementation of {@link org.apache.hivemind.Element}.
 29    *
 30    * @author Howard Lewis Ship
 31    */
 32    public final class ElementImpl extends BaseLocatable implements Element
 33    {
 34    private String _elementName;
 35    private String _content;
 36    private List _elements;
 37    private List _safeElements;
 38    private List _attributes;
 39    private Map _attributesMap;
 40    private List _safeAttributes;
 41   
 42  5607 public void setElementName(String elementName)
 43    {
 44  5607 _elementName = elementName;
 45    }
 46   
 47  3840 public String getElementName()
 48    {
 49  3840 return _elementName;
 50    }
 51   
 52  9586 public void addAttribute(Attribute attribute)
 53    {
 54  9586 if (_attributes == null)
 55    {
 56  5448 _attributes = new ArrayList();
 57  5448 _attributesMap = new HashMap();
 58    }
 59   
 60  9586 _attributes.add(attribute);
 61  9586 _attributesMap.put(attribute.getName(), attribute);
 62    }
 63   
 64  1186 public void addElement(Element element)
 65    {
 66  1186 if (_elements == null)
 67  1163 _elements = new ArrayList();
 68   
 69  1186 _elements.add(element);
 70    }
 71   
 72  3822 public synchronized List getAttributes()
 73    {
 74  3822 if (_attributes == null)
 75  66 return Collections.EMPTY_LIST;
 76   
 77  3756 if (_safeAttributes == null)
 78  3756 _safeAttributes = Collections.unmodifiableList(_attributes);
 79   
 80  3756 return _safeAttributes;
 81    }
 82   
 83  25 public String getContent()
 84    {
 85  25 if (_content == null)
 86  1 return "";
 87   
 88  24 return _content;
 89    }
 90   
 91  3820 public synchronized List getElements()
 92    {
 93  3820 if (_elements == null)
 94  3340 return Collections.EMPTY_LIST;
 95   
 96  480 if (_safeElements == null)
 97  479 _safeElements = Collections.unmodifiableList(_elements);
 98   
 99  480 return _safeElements;
 100    }
 101   
 102  11987 public String getAttributeValue(String attributeName)
 103    {
 104  11987 if (_attributesMap == null)
 105  2 return null;
 106   
 107  11985 Attribute a = (Attribute) _attributesMap.get(attributeName);
 108   
 109  11985 if (a == null)
 110  5313 return null;
 111   
 112  6672 return a.getValue();
 113    }
 114   
 115  0 public boolean isEmpty()
 116    {
 117  0 return _elements == null || _elements.size() == 0;
 118    }
 119   
 120  5600 public void setContent(String string)
 121    {
 122  5600 _content = string;
 123    }
 124   
 125  235 public String toString()
 126    {
 127  235 ToStringBuilder builder = new ToStringBuilder(this);
 128   
 129  235 builder.append("elementName", _elementName);
 130  235 builder.append("attributes", _attributes);
 131  235 builder.append("elements", _elements);
 132  235 builder.append("content", _content);
 133   
 134  235 return builder.toString();
 135    }
 136    }