EMMA Coverage Report (generated Fri Feb 21 04:03:47 CET 2014)
[all classes][org.jomc.model]

COVERAGE SUMMARY FOR SOURCE FILE [Properties.java]

nameclass, %method, %block, %line, %
Properties.java100% (1/1)80%  (8/10)60%  (159/266)70%  (42/60)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Properties100% (1/1)80%  (8/10)60%  (159/266)70%  (42/60)
Properties (Properties): void 0%   (0/1)0%   (0/27)0%   (0/8)
getPropertiesByType (String): List 0%   (0/1)0%   (0/42)0%   (0/6)
copyProperty (List, List): void 100% (1/1)64%  (25/39)88%  (7/8)
copyReference (List, List): void 100% (1/1)64%  (25/39)88%  (7/8)
getProperty (String): Property 100% (1/1)85%  (28/33)86%  (6/7)
getReference (String): PropertyReference 100% (1/1)85%  (28/33)86%  (6/7)
Properties (): void 100% (1/1)100% (3/3)100% (2/2)
clone (): Properties 100% (1/1)100% (28/28)100% (8/8)
getProperty (): List 100% (1/1)100% (11/11)100% (3/3)
getReference (): List 100% (1/1)100% (11/11)100% (3/3)

1//
2// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2 
3// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
4// Any modifications to this file will be lost upon recompilation of the source schema. 
5// Generated on: 2014.02.21 at 04:13:17 AM CET 
6//
7 
8 
9package org.jomc.model;
10 
11import java.util.ArrayList;
12import java.util.Iterator;
13import java.util.List;
14import javax.annotation.Generated;
15import javax.xml.bind.annotation.XmlAccessType;
16import javax.xml.bind.annotation.XmlAccessorType;
17import javax.xml.bind.annotation.XmlElement;
18import javax.xml.bind.annotation.XmlType;
19 
20 
21/**
22 * List of properties.
23 * 
24 * <p>Java class for Properties complex type.
25 * 
26 * <p>The following schema fragment specifies the expected content contained within this class.
27 * 
28 * <pre>
29 * &lt;complexType name="Properties">
30 *   &lt;complexContent>
31 *     &lt;extension base="{http://jomc.org/model}ModelObject">
32 *       &lt;sequence>
33 *         &lt;element ref="{http://jomc.org/model}property" maxOccurs="unbounded" minOccurs="0"/>
34 *         &lt;element name="reference" type="{http://jomc.org/model}PropertyReference" maxOccurs="unbounded" minOccurs="0"/>
35 *       &lt;/sequence>
36 *     &lt;/extension>
37 *   &lt;/complexContent>
38 * &lt;/complexType>
39 * </pre>
40 * 
41 * 
42 */
43@XmlAccessorType(XmlAccessType.FIELD)
44@XmlType(name = "Properties", namespace = "http://jomc.org/model", propOrder = {
45    "property",
46    "reference"
47})
48@Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
49public class Properties
50    extends ModelObject
51    implements Cloneable
52{
53 
54    @XmlElement(namespace = "http://jomc.org/model")
55    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
56    protected List<Property> property;
57    @XmlElement(namespace = "http://jomc.org/model")
58    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
59    protected List<PropertyReference> reference;
60 
61    /**
62     * Creates a new {@code Properties} instance.
63     * 
64     */
65    public Properties() {
66        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
67        super();
68    }
69 
70    /**
71     * Creates a new {@code Properties} instance by deeply copying a given {@code Properties} instance.
72     * 
73     * 
74     * @param o
75     *     The instance to copy.
76     * @throws NullPointerException
77     *     if {@code o} is {@code null}.
78     */
79    public Properties(final Properties o) {
80        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
81        super(o);
82        if (o == null) {
83            throw new NullPointerException("Cannot create a copy of 'Properties' from 'null'.");
84        }
85        // 'Property' collection.
86        if (o.property!= null) {
87            copyProperty(o.getProperty(), this.getProperty());
88        }
89        // 'Reference' collection.
90        if (o.reference!= null) {
91            copyReference(o.getReference(), this.getReference());
92        }
93    }
94 
95    /**
96     * Gets the value of the property property.
97     * 
98     * <p>
99     * This accessor method returns a reference to the live list,
100     * not a snapshot. Therefore any modification you make to the
101     * returned list will be present inside the JAXB object.
102     * This is why there is not a <CODE>set</CODE> method for the property property.
103     * 
104     * <p>
105     * For example, to add a new item, do as follows:
106     * <pre>
107     *    getProperty().add(newItem);
108     * </pre>
109     * 
110     * 
111     * <p>
112     * Objects of the following type(s) are allowed in the list
113     * {@link Property }
114     * 
115     * 
116     */
117    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
118    public List<Property> getProperty() {
119        if (property == null) {
120            property = new ArrayList<Property>();
121        }
122        return this.property;
123    }
124 
125    /**
126     * Gets the value of the reference property.
127     * 
128     * <p>
129     * This accessor method returns a reference to the live list,
130     * not a snapshot. Therefore any modification you make to the
131     * returned list will be present inside the JAXB object.
132     * This is why there is not a <CODE>set</CODE> method for the reference property.
133     * 
134     * <p>
135     * For example, to add a new item, do as follows:
136     * <pre>
137     *    getReference().add(newItem);
138     * </pre>
139     * 
140     * 
141     * <p>
142     * Objects of the following type(s) are allowed in the list
143     * {@link PropertyReference }
144     * 
145     * 
146     */
147    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
148    public List<PropertyReference> getReference() {
149        if (reference == null) {
150            reference = new ArrayList<PropertyReference>();
151        }
152        return this.reference;
153    }
154 
155    /**
156     * Copies all values of property {@code Property} deeply.
157     * 
158     * @param source
159     *     The source to copy from.
160     * @param target
161     *     The target to copy {@code source} to.
162     * @throws NullPointerException
163     *     if {@code target} is {@code null}.
164     */
165    @SuppressWarnings("unchecked")
166    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
167    private static void copyProperty(final List<Property> source, final List<Property> target) {
168        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
169        if ((source!= null)&&(!source.isEmpty())) {
170            for (final Iterator<?> it = source.iterator(); it.hasNext(); ) {
171                final Object next = it.next();
172                if (next instanceof Property) {
173                    // CClassInfo: org.jomc.model.Property
174                    target.add(((Property) next).clone());
175                    continue;
176                }
177                // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
178                throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Property' of class 'org.jomc.model.Properties'."));
179            }
180        }
181    }
182 
183    /**
184     * Copies all values of property {@code Reference} deeply.
185     * 
186     * @param source
187     *     The source to copy from.
188     * @param target
189     *     The target to copy {@code source} to.
190     * @throws NullPointerException
191     *     if {@code target} is {@code null}.
192     */
193    @SuppressWarnings("unchecked")
194    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
195    private static void copyReference(final List<PropertyReference> source, final List<PropertyReference> target) {
196        // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
197        if ((source!= null)&&(!source.isEmpty())) {
198            for (final Iterator<?> it = source.iterator(); it.hasNext(); ) {
199                final Object next = it.next();
200                if (next instanceof PropertyReference) {
201                    // CClassInfo: org.jomc.model.PropertyReference
202                    target.add(((PropertyReference) next).clone());
203                    continue;
204                }
205                // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
206                throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Reference' of class 'org.jomc.model.Properties'."));
207            }
208        }
209    }
210 
211    /**
212     * Creates and returns a deep copy of this object.
213     * 
214     * 
215     * @return
216     *     A deep copy of this object.
217     */
218    @Override
219    @Generated(value = "com.sun.tools.xjc.Driver", date = "2014-02-21T04:13:17+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
220    public Properties clone() {
221        {
222            // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+0000
223            final Properties clone = ((Properties) super.clone());
224            // 'Property' collection.
225            if (this.property!= null) {
226                clone.property = null;
227                copyProperty(this.getProperty(), clone.getProperty());
228            }
229            // 'Reference' collection.
230            if (this.reference!= null) {
231                clone.reference = null;
232                copyReference(this.getReference(), clone.getReference());
233            }
234            return clone;
235        }
236    }
237    
238    /**
239     * Gets a property for a given name from the list of properties.
240     *
241     * @param name The name of the property to return.
242     *
243     * @return The first matching property or {@code null}, if no such property is found.
244     *
245     * @throws NullPointerException if {@code name} is {@code null}.
246     *
247     * @see #getProperty()
248     * @see Property#getName()
249     */
250    public Property getProperty( final String name )
251    {
252        if ( name == null )
253        {
254            throw new NullPointerException( "name" );
255        }
256 
257        for ( int i = 0, s0 = this.getProperty().size(); i < s0; i++ )
258        {
259            final Property p = this.getProperty().get( i );
260 
261            if ( name.equals( p.getName() ) )
262            {
263                return p;
264            }
265        }
266 
267        return null;
268    }
269 
270    /**
271     * Gets a property reference for a given name from the list of references.
272     *
273     * @param name The name of the property reference to return.
274     *
275     * @return The first matching property reference or {@code null}, if no such reference is found.
276     *
277     * @throws NullPointerException if {@code name} is {@code null}.
278     *
279     * @see #getReference()
280     * @see PropertyReference#getName()
281     */
282    public PropertyReference getReference( final String name )
283    {
284        if ( name == null )
285        {
286            throw new NullPointerException( "name" );
287        }
288 
289        for ( int i = 0, s0 = this.getReference().size(); i < s0; i++ )
290        {
291            final PropertyReference r = this.getReference().get( i );
292 
293            if ( name.equals( r.getName() ) )
294            {
295                return r;
296            }
297        }
298 
299        return null;
300    }
301 
302    /**
303     * Gets a list of properties of a given type.
304     *
305     * @param type The type of the properties to return or {@code null}, to return properties of the default type.
306     *
307     * @return An unmodifiable list holding all properties of {@code type}.
308     *
309     * @see #getProperty()
310     * @see Property#getType()
311     *
312     * @since 1.2
313     */
314    public List<Property> getPropertiesByType( final String type )
315    {
316        final List<Property> list = new ArrayList<Property>( this.getProperty().size() );
317 
318        for ( int i = 0, s0 = this.getProperty().size(); i < s0; i++ )
319        {
320            final Property p = this.getProperty().get( i );
321 
322            if ( type == null ? p.getType() == null : type.equals( p.getType() ) )
323            {
324                list.add( p );
325            }
326        }
327 
328        return java.util.Collections.unmodifiableList( list );
329    }
330      
331}

[all classes][org.jomc.model]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov