EMMA Coverage Report (generated Thu Nov 26 15:54:18 CST 2009)
[all classes][org.eclipse.pde.api.tools.internal.search]

COVERAGE SUMMARY FOR SOURCE FILE [UseMetadata.java]

nameclass, %method, %block, %line, %
UseMetadata.java0%   (0/1)0%   (0/24)0%   (0/419)0%   (0/108)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class UseMetadata0%   (0/1)0%   (0/24)0%   (0/419)0%   (0/108)
UseMetadata (): void 0%   (0/1)0%   (0/33)0%   (0/10)
UseMetadata (int, String, String, String, String, String [], String [], Strin... 0%   (0/1)0%   (0/63)0%   (0/20)
getApiPatterns (): String [] 0%   (0/1)0%   (0/3)0%   (0/1)
getArchivePatterns (): String [] 0%   (0/1)0%   (0/3)0%   (0/1)
getBaselineLocation (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getDescription (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getInternalPatterns (): String [] 0%   (0/1)0%   (0/3)0%   (0/1)
getReferencePattern (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getReportLocation (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getRunAtDate (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getScopePattern (): String 0%   (0/1)0%   (0/3)0%   (0/1)
includesAPI (): boolean 0%   (0/1)0%   (0/9)0%   (0/1)
includesInternal (): boolean 0%   (0/1)0%   (0/9)0%   (0/1)
serializeToFile (File): void 0%   (0/1)0%   (0/238)0%   (0/55)
setApiPatterns (String []): void 0%   (0/1)0%   (0/4)0%   (0/2)
setArchivePatterns (String []): void 0%   (0/1)0%   (0/4)0%   (0/2)
setBaselineLocation (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setDescription (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setInternalPatterns (String []): void 0%   (0/1)0%   (0/4)0%   (0/2)
setReferencePattern (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setReportLocation (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setRunAtDate (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setScopePattern (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setSearchflags (int): void 0%   (0/1)0%   (0/4)0%   (0/2)

1/*******************************************************************************
2 * Copyright (c) 2009 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 *     IBM Corporation - initial API and implementation
10 *******************************************************************************/
11package org.eclipse.pde.api.tools.internal.search;
12 
13import java.io.BufferedWriter;
14import java.io.File;
15import java.io.FileWriter;
16import java.io.IOException;
17 
18import org.eclipse.core.runtime.CoreException;
19import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchRequestor;
20import org.eclipse.pde.api.tools.internal.provisional.search.IMetadata;
21import org.eclipse.pde.api.tools.internal.util.Util;
22import org.w3c.dom.Document;
23import org.w3c.dom.Element;
24 
25/**
26 * Implementation of {@link IMetadata} for API use scans
27 * 
28 * @since 1.0.1
29 */
30public class UseMetadata implements IMetadata {
31 
32        /**
33         * XML tag name for the date the scan was run
34         */
35        public static final String RUNATDATE = "runatdate"; //$NON-NLS-1$
36        /**
37         * XML tag name for the search flags
38         */
39        public static final String FLAGS = "flags"; //$NON-NLS-1$
40        /**
41         * XML tag name for the baseline location
42         */
43        public static final String BASELINELOCATION = "baselinelocation"; //$NON-NLS-1$
44        /**
45         * XML tag name for the report location
46         */
47        public static final String REPORTLOCATION = "reportlocation"; //$NON-NLS-1$
48        /**
49         * XML tag name for a scope pattern
50         */
51        public static final String SCOPEPATTERN = "scopepattern"; //$NON-NLS-1$
52        /**
53         * XML tag name reference pattern
54         */
55        public static final String REFERENCEPATTERN = "referencepattern"; //$NON-NLS-1$
56        /**
57         * XML tag name for API patterns
58         */
59        public static final String APIPATTERNS = "apipatterns"; //$NON-NLS-1$
60        /**
61         * XML tag name for internal patterns
62         */
63        public static final String INTERNALPATTERNS = "internalpatterns"; //$NON-NLS-1$
64        /**
65         * XML tag name for archive patterns
66         */
67        public static final String ARCHIVEPATTERNS = "archivepatterns"; //$NON-NLS-1$
68        /**
69         * XML tag name for a pattern
70         */
71        public static final String PATTERN = "pattern"; //$NON-NLS-1$
72        /**
73         * XML tag name for the value
74         */
75        public static final String VALUE = "value"; //$NON-NLS-1$
76        /**
77         * Root tag for the metadata file
78         */
79        public static final String METADATA = "metadata"; //$NON-NLS-1$
80        /**
81         * XML tag name for the description field
82         */
83        public static final String DESCRIPTION = "description"; //$NON-NLS-1$
84        
85        int searchflags = 0;
86        String[] apipatterns = null, intpatterns = null, archivepatterns = null;
87        String baselinelocation = null, 
88                        reportlocation = null, 
89                        scopepattern = null, 
90                        refpattern = null, 
91                        runatdate = null,
92                        description = null;
93        
94        /**
95         * Constructor
96         */
97        public UseMetadata() {
98                //create an empty metadata object
99        }
100        
101        /**
102         * Constructor
103         * @param searchflags
104         * @param scopepattern
105         * @param refpattern
106         * @param baselinelocation
107         * @param reportlocation
108         * @param apipatterns
109         * @param internalpatterns
110         * @param archivepatterns
111         * @param runatdate
112         * @param description
113         */
114        public UseMetadata(int searchflags, String scopepattern, String refpattern, 
115                        String baselinelocation, String reportlocation, String[] apipatterns, String[] internalpatterns, 
116                        String[] archivepatterns, String runatdate, String description) {
117                this.searchflags = searchflags;
118                this.scopepattern = scopepattern;
119                this.refpattern = refpattern;
120                this.baselinelocation = baselinelocation;
121                this.reportlocation = reportlocation;
122                this.apipatterns = apipatterns;
123                this.intpatterns = internalpatterns;
124                this.archivepatterns = archivepatterns;
125                this.runatdate = runatdate;
126                this.description = description;
127        }
128        
129        /* (non-Javadoc)
130         * @see org.eclipse.pde.api.tools.internal.provisional.search.IMetadata#serializeToFile(java.io.File)
131         */
132        public void serializeToFile(File file) throws IOException, CoreException {
133                BufferedWriter writer = null;
134                try {
135                        Document doc = Util.newDocument();
136                        Element root = doc.createElement(METADATA);
137                        doc.appendChild(root);
138                        Element child = doc.createElement(FLAGS);
139                        root.appendChild(child);
140                        child.setAttribute(VALUE, Integer.toString(this.searchflags));
141                        child = doc.createElement(RUNATDATE);
142                        root.appendChild(child);
143                        child.setAttribute(VALUE, this.runatdate);
144                        child = doc.createElement(DESCRIPTION);
145                        root.appendChild(child);
146                        child.setAttribute(VALUE, this.description);
147                        child = doc.createElement(BASELINELOCATION);
148                        root.appendChild(child);
149                        child.setAttribute(VALUE, this.baselinelocation);
150                        child = doc.createElement(REPORTLOCATION);
151                        root.appendChild(child);
152                        child.setAttribute(VALUE, this.reportlocation);
153                        child = doc.createElement(SCOPEPATTERN);
154                        root.appendChild(child);
155                        child.setAttribute(VALUE, this.scopepattern);
156                        child = doc.createElement(REFERENCEPATTERN);
157                        root.appendChild(child);
158                        child.setAttribute(VALUE, this.refpattern);
159                        child = doc.createElement(APIPATTERNS);
160                        root.appendChild(child);
161                        Element sub = null;
162                        if(this.apipatterns != null) {
163                                for (int i = 0; i < this.apipatterns.length; i++) {
164                                        sub = doc.createElement(PATTERN);
165                                        child.appendChild(sub);
166                                        sub.setAttribute(VALUE, apipatterns[i]);
167                                }
168                        }
169                        child = doc.createElement(INTERNALPATTERNS);
170                        root.appendChild(child);
171                        if(this.intpatterns != null) {
172                                for (int i = 0; i < this.intpatterns.length; i++) {
173                                        sub = doc.createElement(PATTERN);
174                                        child.appendChild(sub);
175                                        sub.setAttribute(VALUE, intpatterns[i]);
176                                }
177                        }
178                        child = doc.createElement(ARCHIVEPATTERNS);
179                        root.appendChild(child);
180                        if(this.archivepatterns != null) {
181                                for (int i = 0; i < this.archivepatterns.length; i++) {
182                                        sub = doc.createElement(PATTERN);
183                                        child.appendChild(sub);
184                                        sub.setAttribute(VALUE, archivepatterns[i]);
185                                }
186                        }
187                        writer = new BufferedWriter(new FileWriter(file));
188                        writer.write(Util.serializeDocument(doc));
189                        writer.flush();
190                }
191                finally {
192                        if(writer != null) {
193                                writer.close();
194                        }
195                }
196        }
197 
198        /**
199         * @return true if the search8 flags include searching for API references,
200         * false otherwise
201         */
202        public boolean includesAPI() {
203                return (this.searchflags & IApiSearchRequestor.INCLUDE_API) != 0;
204        }
205        
206        /**
207         * @return true if the search flags include searching for internal references, 
208         * false otherwise
209         */
210        public boolean includesInternal() {
211                return (this.searchflags & IApiSearchRequestor.INCLUDE_INTERNAL) != 0;
212        }
213        
214        /**
215         * Allows the run-at date to be set. This method accepts <code>null</code>
216         * @param date the date to set
217         */
218        public void setRunAtDate(String date) {
219                this.runatdate = date;
220        }
221        
222        /**
223         * Returns the run-at date set in this metadata or <code>null</code> if none.
224         * @return the run-at date or <code>null</code>
225         */
226        public String getRunAtDate() {
227                return this.runatdate;
228        }
229        
230        /**
231         * Returns the human-readable description of the scan
232         * @return the description
233         */
234        public String getDescription() {
235                return this.description;
236        }
237        
238        /**
239         * Allows the human-readable description to be set. This method accepts <code>null</code>
240         * @param description the description to set
241         */
242        public void setDescription(String description) {
243                this.description = description;
244        }
245        
246        /**
247         * Allows the combined search flags to be set.
248         * @param flags the search flags to set
249         */
250        public void setSearchflags(int flags) {
251                this.searchflags = flags;
252        }
253 
254        /**
255         * Returns the collection of API patterns set in this metadata or <code>null</code> if none.
256         * @return the API patterns or <code>null</code>
257         */
258        public String[] getApiPatterns() {
259                return apipatterns;
260        }
261        
262        /**
263         * Allows the API patterns to be set. This method accepts <code>null</code>
264         * @param patterns the patterns to set
265         */
266        public void setApiPatterns(String[] patterns) {
267                this.apipatterns = patterns;
268        }
269 
270        /**
271         * Returns the collection of internal patterns set in this metadata or <code>null</code> if none.
272         * @return the internal patterns or <code>null</code>
273         */
274        public String[] getInternalPatterns() {
275                return this.intpatterns;
276        }
277 
278        /**
279         * Allows the internal patterns to be set. This method accepts <code>null</code>.
280         * @param patterns the internal patterns to set
281         */
282        public void setInternalPatterns(String[] patterns) {
283                this.intpatterns = patterns;
284        }
285 
286        /**
287         * Returns the collection of archive patterns set in this metadata or <code>null</code> if none.
288         * @return the archive patterns or <code>null</code>
289         */
290        public String[] getArchivePatterns() {
291                return this.archivepatterns;
292        }
293 
294        /**
295         * Allows the set of archive patterns to be set. This method accepts <code>null</code>
296         * @param patterns the archive patterns to set
297         */
298        public void setArchivePatterns(String[] patterns) {
299                this.archivepatterns = patterns;
300        }
301 
302        /**
303         * Returns the baseline location set in this metadata or <code>null</code> if none.
304         * @return the baseline location or <code>null</code>
305         */
306        public String getBaselineLocation() {
307                return this.baselinelocation;
308        }
309 
310        /**
311         * Allows the baseline location to be set. This method accepts <code>null</code>.
312         * @param location the new location
313         */
314        public void setBaselineLocation(String location) {
315                this.baselinelocation = location;
316        }
317 
318        /**
319         * Returns the report location set in this metadata or <code>null</code> if none.
320         * @return the report location or <code>null</code>
321         */
322        public String getReportLocation() {
323                return this.reportlocation;
324        }
325 
326        /**
327         * Allows the report location to be set. This method accepts <code>null</code>.
328         * @param location the new report location
329         */
330        public void setReportLocation(String location) {
331                this.reportlocation = location;
332        }
333 
334        /**
335         * Allows the reference pattern to be set. This method accepts <code>null</code>
336         * @param pattern the new pattern
337         */
338        public void setReferencePattern(String pattern) {
339                this.refpattern = pattern;
340        }
341        
342        /**
343         * Returns the reference pattern set in this metadata or <code>null</code> if none.
344         * @return the reference pattern or <code>null</code>
345         */
346        public String getReferencePattern() {
347                return this.refpattern;
348        }
349        
350        /**
351         * Allows the scope pattern to be set. This method accepts <code>null</code>
352         * @param pattern the new pattern
353         */
354        public void setScopePattern(String pattern) {
355                this.scopepattern = pattern;
356        }
357        
358        /**
359         * Returns the scope pattern set in this metadata or <code>null</code> if none.
360         * @return the scope pattern or <code>null</code>
361         */
362        public String getScopePattern() {
363                return this.scopepattern;
364        }
365}

[all classes][org.eclipse.pde.api.tools.internal.search]
EMMA 2.0.5312 EclEmma Fix 1 (C) Vladimir Roubtsov