Clover Coverage Report - KS Common 1.2-M4-SNAPSHOT (Aggregated)
Coverage timestamp: Wed Jul 20 2011 12:23:34 EDT
../../../../../../img/srcFileCovDistChart5.png 22% of files have more coverage
37   177   20   2.18
6   96   0.54   17
17     1.18  
1    
 
  QueryPath       Line # 32 37 0% 20 31 48.3% 0.48333332
 
  (4)
 
1    /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10    * software distributed under the License is distributed on an "AS IS"
11    * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12    * or implied. See the License for the specific language governing
13    * permissions and limitations under the License.
14    */
15   
16    /**
17    *
18    */
19    package org.kuali.student.common.assembly.data;
20   
21    import java.util.ArrayList;
22    import java.util.Collection;
23   
24    import org.kuali.student.common.assembly.data.Data.Key;
25    /**
26    * QueryPath is used for retrieving and storing data in the DataModel. A path is can be represented with
27    * a "/" separated string.
28    *
29    * @author Kuali Student Team
30    *
31    */
 
32    public class QueryPath extends ArrayList<Key> {
33    //private static final PathParser parser = GWT.create(PathParser.class);
34    private static final PathParser parser = new DefaultPathParser();
35   
36    private static final long serialVersionUID = 1L;
37   
 
38  6 toggle public static String getWildCard() {
39  6 return parser.getWildCard();
40    }
41   
 
42  0 toggle public static String getPathSeparator(){
43  0 return parser.getPathSeparator();
44    }
45   
 
46  36 toggle public static QueryPath parse(final String path) {
47  36 return parser.parse(path);
48    }
49   
50    private String stringPath = null;
51   
52    /* (non-Javadoc)
53    * @see java.util.ArrayList#add(int, java.lang.Object)
54    */
 
55  0 toggle @Override
56    public void add(final int index, final Key element) {
57  0 stringPath = null;
58  0 super.add(index, element);
59    }
60   
61    /* (non-Javadoc)
62    * @see java.util.ArrayList#add(java.lang.Object)
63    */
 
64  179 toggle @Override
65    public boolean add(final Key e) {
66  179 stringPath = null;
67  179 return super.add(e);
68    }
69   
70    /* (non-Javadoc)
71    * @see java.util.ArrayList#addAll(java.util.Collection)
72    */
 
73  22 toggle @Override
74    public boolean addAll(final Collection<? extends Key> c) {
75  22 stringPath = null;
76  22 return super.addAll(c);
77    }
78   
79    /* (non-Javadoc)
80    * @see java.util.ArrayList#addAll(int, java.util.Collection)
81    */
 
82  0 toggle @Override
83    public boolean addAll(final int index, final Collection<? extends Key> c) {
84  0 stringPath = null;
85  0 return super.addAll(index, c);
86    }
87   
88    /* (non-Javadoc)
89    * @see java.util.ArrayList#clear()
90    */
 
91  0 toggle @Override
92    public void clear() {
93  0 stringPath = null;
94  0 super.clear();
95    }
96   
97    /* (non-Javadoc)
98    * @see java.util.ArrayList#remove(int)
99    */
 
100  0 toggle @Override
101    public Key remove(final int index) {
102  0 stringPath = null;
103  0 return super.remove(index);
104    }
105   
106    /* (non-Javadoc)
107    * @see java.util.ArrayList#remove(java.lang.Object)
108    */
 
109  0 toggle @Override
110    public boolean remove(final Object o) {
111  0 stringPath = null;
112  0 return super.remove(o);
113    }
114   
115    /* (non-Javadoc)
116    * @see java.util.AbstractCollection#removeAll(java.util.Collection)
117    */
 
118  0 toggle @Override
119    public boolean removeAll(final Collection<?> c) {
120  0 stringPath = null;
121  0 return super.removeAll(c);
122    }
123   
124    /* (non-Javadoc)
125    * @see java.util.ArrayList#removeRange(int, int)
126    */
 
127  0 toggle @Override
128    protected void removeRange(final int fromIndex, final int toIndex) {
129  0 stringPath = null;
130  0 super.removeRange(fromIndex, toIndex);
131    }
132   
133    /* (non-Javadoc)
134    * @see java.util.AbstractCollection#retainAll(java.util.Collection)
135    */
 
136  0 toggle @Override
137    public boolean retainAll(final Collection<?> c) {
138  0 stringPath = null;
139  0 return super.retainAll(c);
140    }
141   
142    /* (non-Javadoc)
143    * @see java.util.ArrayList#set(int, java.lang.Object)
144    */
 
145  0 toggle @Override
146    public Key set(final int index, final Key element) {
147  0 stringPath = null;
148  0 return super.set(index, element);
149    }
150   
 
151  12 toggle public QueryPath subPath(final int fromIndex, final int toIndex) {
152    // TODO revamp this method to use subList once GWT issue 1791 is fixed
153  12 final QueryPath result = new QueryPath();
154  24 for (int i = fromIndex; i < toIndex; i++) {
155  12 result.add(this.get(i));
156    }
157  12 return result;
158    }
159   
 
160  16 toggle @Override
161    public String toString() {
162  16 if (stringPath == null) {
163  16 stringPath = parser.format(this);
164    }
165  16 return stringPath;
166    }
167   
 
168  11 toggle public static QueryPath concat(String... paths) {
169  11 QueryPath result = new QueryPath();
170  11 for (String path : paths) {
171  22 if (path != null) {
172  22 result.addAll(QueryPath.parse(path));
173    }
174    }
175  11 return result;
176    }
177    }