/* * Geotoolkit - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2008 - 2009, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotoolkit.wms.xml.v111; import java.util.Objects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import org.geotoolkit.wms.xml.AbstractBoundingBox; /** * <p>Java class for anonymous complex type. * @author Guilhem Legal * @module */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "") @XmlRootElement(name = "BoundingBox") public class BoundingBox implements AbstractBoundingBox{ @XmlAttribute(name = "SRS") private String srs; @XmlAttribute(required = true) private double minx; @XmlAttribute(required = true) private double miny; @XmlAttribute(required = true) private double maxx; @XmlAttribute(required = true) private double maxy; @XmlAttribute private Double resx; @XmlAttribute private Double resy; /** * An empty constructor used by JAXB. */ BoundingBox() { } /** * Build a new bounding box version 1.1.1 * * @param crs * @param minx * @param miny * @param maxx * @param maxy * @param resx * @param resy */ public BoundingBox(final String crs, final double minx, final double miny, final double maxx, final double maxy, final Double resx, final Double resy) { this.maxx = maxx; this.maxy = maxy; this.minx = minx; this.miny = miny; this.srs = crs; this.resx = resx; this.resy = resy; } /** * Gets the value of the srs property. */ public String getSRS() { return srs; } /** * {@inheritDoc} */ @Override public double getMinx() { return minx; } /** * {@inheritDoc} */ @Override public double getMiny() { return miny; } /** * {@inheritDoc} */ @Override public double getMaxx() { return maxx; } /** * {@inheritDoc} */ @Override public double getMaxy() { return maxy; } /** * {@inheritDoc} */ @Override public Double getResx() { return resx; } /** * {@inheritDoc} */ @Override public Double getResy() { return resy; } /** * {@inheritDoc} */ @Override public String getCRSCode() { return getSRS(); } /** * Verifie si cette entree est identique a l'objet specifie. */ @Override public boolean equals(final Object object) { if (object == this) { return true; } if (object instanceof BoundingBox) { final BoundingBox that = (BoundingBox) object; return Objects.equals(this.maxx, that.maxx) && Objects.equals(this.maxy, that.maxy) && Objects.equals(this.minx, that.minx) && Objects.equals(this.miny, that.miny) && Objects.equals(this.resx, that.resx) && Objects.equals(this.resy, that.resy) && Objects.equals(this.srs, that.srs); } return false; } @Override public int hashCode() { int hash = 7; hash = 97 * hash + (this.srs != null ? this.srs.hashCode() : 0); hash = 97 * hash + (int) (Double.doubleToLongBits(this.minx) ^ (Double.doubleToLongBits(this.minx) >>> 32)); hash = 97 * hash + (int) (Double.doubleToLongBits(this.miny) ^ (Double.doubleToLongBits(this.miny) >>> 32)); hash = 97 * hash + (int) (Double.doubleToLongBits(this.maxx) ^ (Double.doubleToLongBits(this.maxx) >>> 32)); hash = 97 * hash + (int) (Double.doubleToLongBits(this.maxy) ^ (Double.doubleToLongBits(this.maxy) >>> 32)); hash = 97 * hash + (this.resx != null ? this.resx.hashCode() : 0); hash = 97 * hash + (this.resy != null ? this.resy.hashCode() : 0); return hash; } @Override public String toString() { final StringBuilder s = new StringBuilder("[BoundingBox]\n"); s.append("minx=").append(minx).append(" maxx=").append(maxx).append(" miny=").append(miny).append(" maxy=").append(maxy); if (srs != null) { s.append("srs:").append(srs).append('\n'); } if (resx != null) { s.append("resx:").append(resx).append('\n'); } if (resy != null) { s.append("resy:").append(resy).append('\n'); } return s.toString(); } }