View Javadoc
1   /*
2    * Copyright (C) 2007-2012 Argeo GmbH
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   */
16  package org.argeo.slc.diff;
17  
18  /**
19   * <code>DiffMissing</code> using the XPath of the position as
20   * <code>DiffKey</code>
21   */
22  public class DiffMissingXml extends DiffMissing {
23  
24  	public DiffMissingXml(XPathDiffPosition position) {
25  		super(position, new DiffKeyXml(position.getXPath()));
26  	}
27  
28  	/** Implementation of <code>DiffKey</code> based on an XPath string. */
29  	protected static class DiffKeyXml implements DiffKey {
30  		private final String xPath;
31  
32  		public DiffKeyXml(String xPath) {
33  			this.xPath = xPath;
34  		}
35  
36  		public String getXPath() {
37  			return xPath;
38  		}
39  
40  		@Override
41  		public String toString() {
42  			return xPath;
43  		}
44  
45  		@Override
46  		public boolean equals(Object obj) {
47  			if (!(obj instanceof DiffKeyXml))
48  				return false;
49  			return xPath.equals(((DiffKeyXml) obj).xPath);
50  		}
51  
52  		@Override
53  		public int hashCode() {
54  			return xPath.hashCode();
55  		}
56  
57  	}
58  }