/*\r
- * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>\r
+ * Copyright (C) 2007-2012 Mathieu Baudier\r
*\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
* See the License for the specific language governing permissions and\r
* limitations under the License.\r
*/\r
-\r
package org.argeo.slc.diff;\r
\r
+import java.util.ArrayList;\r
import java.util.List;\r
-import java.util.Vector;\r
+import java.util.Map;\r
+import java.util.TreeMap;\r
\r
/** A basic implementation of <code>DiffResult</code>. */\r
public class SimpleDiffResult implements DiffResult {\r
- private List<DiffIssue> issues = new Vector<DiffIssue>();\r
+ private final List<DiffIssue> issues;\r
+ private final Map<String, String> summary;\r
+\r
+ /** Empty constructor */\r
+ public SimpleDiffResult() {\r
+ this(new TreeMap<String, String>(), new ArrayList<DiffIssue>());\r
+ }\r
+\r
+ /** Initialize from existing data */\r
+ public SimpleDiffResult(Map<String, String> summary, List<DiffIssue> issues) {\r
+ this.summary = summary;\r
+ this.issues = issues;\r
+ }\r
+\r
+ /**\r
+ * Initialize from existing {@link DiffResult}, the collections are NOT\r
+ * cloned for performance purposes.\r
+ */\r
+ public SimpleDiffResult(DiffResult diffResult) {\r
+ this.summary = diffResult.getSummary();\r
+ this.issues = diffResult.getIssues();\r
+ }\r
+\r
+ /** Summary information, alphabetically ordered key/value pairs */\r
+ public Map<String, String> getSummary() {\r
+ return summary;\r
+ }\r
\r
+ /** The diff issues. */\r
public List<DiffIssue> getIssues() {\r
return issues;\r
}\r