package com.revolsys.geometry.cs; import java.io.Serializable; import com.revolsys.datatype.DataType; public class PrimeMeridian implements Serializable { /** * */ private static final long serialVersionUID = -2580130961723669616L; private final Authority authority; private boolean deprecated; private final double longitude; private final String name; public PrimeMeridian(final String name, final double longitude, final Authority authority) { this.name = name; this.longitude = longitude; this.authority = authority; } public PrimeMeridian(final String name, final double longitude, final Authority authority, final boolean deprecated) { this.name = name; this.longitude = longitude; this.authority = authority; this.deprecated = deprecated; } @Override public boolean equals(final Object object) { if (object == null) { return false; } else if (object == this) { return true; } else if (object instanceof PrimeMeridian) { final PrimeMeridian primeMeridian = (PrimeMeridian)object; return this.longitude == primeMeridian.longitude; } return false; } public boolean equalsExact(final PrimeMeridian primeMeridian) { if (!DataType.equal(this.authority, primeMeridian.authority)) { return false; } else if (this.deprecated != primeMeridian.deprecated) { return false; } else if (this.longitude != this.longitude) { return false; } else if (!DataType.equal(this.name, primeMeridian.name)) { return false; } else { return true; } } public Authority getAuthority() { return this.authority; } public double getLongitude() { return this.longitude; } public String getName() { return this.name; } @Override public int hashCode() { final long temp = Double.doubleToLongBits(this.longitude); return (int)(temp ^ temp >>> 32); } public boolean isDeprecated() { return this.deprecated; } @Override public String toString() { return this.name; } }