View Javadoc
1   /*
2    * Copyright (c) 2012, Dienst Landelijk Gebied - Ministerie van Economische Zaken
3    * 
4    * Gepubliceerd onder de BSD 2-clause licentie, 
5    * zie https://github.com/MinELenI/CBSviewer/blob/master/LICENSE.md voor de volledige licentie.
6    */
7   package nl.mineleni.cbsviewer.servlet.wms.cache;
8   
9   import nl.mineleni.cbsviewer.util.xml.LayerDescriptor;
10  
11  import org.opengis.geometry.BoundingBox;
12  
13  /**
14   * Een cache key bestaande uit een bounding box en een layer descriptor.
15   * 
16   * @author mprins
17   * @since 1.6
18   */
19  public class BboxLayerCacheKey {
20  
21  	/** de bounding box van dit object. */
22  	private final BoundingBox bbox;
23  	/** de layer descriptor van dit object. */
24  	private final LayerDescriptor ld;
25  
26  	/**
27  	 * Instantiates a new bbox layer cache key.
28  	 * 
29  	 * @param bbox
30  	 *            the bbox
31  	 * @param ld
32  	 *            the ld
33  	 */
34  	public BboxLayerCacheKey(final BoundingBox bbox, final LayerDescriptor ld) {
35  		this.bbox = bbox;
36  		this.ld = ld;
37  	}
38  
39  	/*
40  	 * (non-Javadoc)
41  	 * 
42  	 * @see java.lang.Object#equals(java.lang.Object)
43  	 */
44  	@Override
45  	public boolean equals(final Object obj) {
46  		if (this == obj) {
47  			return true;
48  		}
49  		if (obj == null) {
50  			return false;
51  		}
52  		if (getClass() != obj.getClass()) {
53  			return false;
54  		}
55  		final BboxLayerCacheKey other = (BboxLayerCacheKey) obj;
56  		if (bbox == null) {
57  			if (other.bbox != null) {
58  				return false;
59  			}
60  		} else if (!bbox.equals(other.bbox)) {
61  			return false;
62  		}
63  		if (ld == null) {
64  			if (other.ld != null) {
65  				return false;
66  			}
67  		} else if (!ld.equals(other.ld)) {
68  			return false;
69  		}
70  		return true;
71  	}
72  
73  	/**
74  	 * Gets het bbox deel van dit object.
75  	 * 
76  	 * @return the bbox
77  	 */
78  	public BoundingBox getBbox() {
79  		return bbox;
80  	}
81  
82  	/**
83  	 * Gets het layer descriptor deel van dit object.
84  	 * 
85  	 * @return the ld
86  	 */
87  	public LayerDescriptor getLd() {
88  		return ld;
89  	}
90  
91  	/*
92  	 * (non-Javadoc)
93  	 * 
94  	 * @see java.lang.Object#hashCode()
95  	 */
96  	@Override
97  	public int hashCode() {
98  		final int prime = 31;
99  		int result = 1;
100 		result = prime * result + ((bbox == null) ? 0 : bbox.hashCode());
101 		result = prime * result + ((ld == null) ? 0 : ld.hashCode());
102 		return result;
103 	}
104 }