EMMA Coverage Report (generated Sat Apr 14 15:01:05 EDT 2012)
[all classes][org.deduced.viewer.web.shared]

COVERAGE SUMMARY FOR SOURCE FILE [ModelListModel.java]

nameclass, %method, %block, %line, %
ModelListModel.java100% (1/1)100% (8/8)100% (96/96)100% (30/30)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ModelListModel100% (1/1)100% (8/8)100% (96/96)100% (30/30)
ModelListModel (): void 100% (1/1)100% (3/3)100% (2/2)
add (Model): void 100% (1/1)100% (15/15)100% (6/6)
deleteChildModels (): void 100% (1/1)100% (17/17)100% (4/4)
handleRemoveEvent (ChangeEvent): void 100% (1/1)100% (6/6)100% (2/2)
modelChanged (Model): void 100% (1/1)100% (3/3)100% (2/2)
registerChildModels (): void 100% (1/1)100% (24/24)100% (6/6)
remove (Model): void 100% (1/1)100% (6/6)100% (3/3)
remove (String): void 100% (1/1)100% (22/22)100% (5/5)

1/**
2 *    Copyright 2005-2011 Steve McDuff d-duff@users.sourceforge.net
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 */
16package org.deduced.viewer.web.shared;
17 
18/**
19 * ModelListModel is a type of list that must contain model objects. It is able
20 * to handle add and remove signals from the server side list.
21 * 
22 * @author Steve McDuff
23 * 
24 * @param <c> the type of object contained within the model list. Must be a type
25 *            that matches or extends the base Model type.
26 */
27public class ModelListModel<c extends Model> extends ListModel<c> implements
28        ModelContainer
29{
30 
31        /**
32         * serialVersionUID
33         */
34        private static final long serialVersionUID = 7214277196578341583L;
35 
36        /**
37         * 
38         * ModelListModel constructor
39         */
40        public ModelListModel()
41        {
42 
43        }
44 
45        /**
46         * (non-JSDoc)
47         * 
48         * @see org.deduced.viewer.web.shared.Model#registerChildModels()
49         */
50        @Override
51        protected void registerChildModels()
52        {
53                ModelRegistry registry = getModelRegistry();
54                for (c itemElement : getList())
55                {
56                        itemElement.setParent(this);
57                        itemElement.registerModel(registry);
58                }
59                super.registerChildModels();
60        }
61 
62        /**
63         * (non-JSDoc)
64         * 
65         * @see org.deduced.viewer.web.shared.ListModel#handleRemoveEvent(org.deduced.viewer.web.shared.ChangeEvent)
66         */
67        @Override
68        public void handleRemoveEvent(
69                ChangeEvent event)
70        {
71                remove((String) event.getSerializableValue());
72        }
73 
74        /**
75         * remove an object from the list based on it's unique ID
76         * 
77         * @param removeID the ID to remove
78         */
79        public void remove(
80                String removeID)
81        {
82                for (c type : getList())
83                {
84                        if (Utilities.equals(removeID, type.getId()))
85                        {
86                                remove(type);
87                                break;
88                        }
89                }
90        }
91 
92        /**
93         * (non-JSDoc)
94         * 
95         * @see org.deduced.viewer.web.shared.ListModel#remove(org.deduced.viewer.web.shared.Model)
96         */
97        @Override
98        public void remove(
99                c modelToRemove)
100        {
101                modelToRemove.delete();
102 
103                super.remove(modelToRemove);
104        }
105 
106        /**
107         * (non-JSDoc)
108         * 
109         * @see org.deduced.viewer.web.shared.ListModel#add(org.deduced.viewer.web.shared.Model)
110         */
111        @Override
112        public void add(
113                c newModel)
114        {
115                newModel.setParent(this);
116                ModelRegistry modelRegistry = getModelRegistry();
117                if (modelRegistry != null)
118                {
119                        newModel.registerModel(modelRegistry);
120                }
121 
122                super.add(newModel);
123        }
124 
125        /**
126         * (non-JSDoc)
127         * 
128         * @see org.deduced.viewer.web.shared.Model#deleteChildModels()
129         */
130        @Override
131        protected void deleteChildModels()
132        {
133                for (c elementInList : getList())
134                {
135                        elementInList.delete();
136                }
137 
138                super.deleteChildModels();
139        }
140 
141        /**
142         * (non-JSDoc)
143         * 
144         * @see org.deduced.viewer.web.shared.ModelContainer#modelChanged(org.deduced.viewer.web.shared.Model)
145         */
146        @Override
147        public void modelChanged(
148                Model model)
149        {
150                // propagate the event
151                notifyParentThatModelChanged();
152        }
153 
154}

[all classes][org.deduced.viewer.web.shared]
EMMA 2.0.9525 (unsupported private build) (C) Vladimir Roubtsov