⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 location.java

📁 google的gdata api包
💻 JAVA
字号:
/* Copyright (c) 2006 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.google.api.gbase.client;/** * Object representation of a location; an address and * optionally latitude and longitude. * *  */public class Location {  private boolean hasCoordinates;  private float latitude;  private float longitude;  private String address;  /**   * Creates an address location.   *   * @param address   */  public Location(String address) {    setAddress(address);  }  /**   * Creates a location with latitude, longitude and address.   * @param address   * @param latitude   * @param longitude   */  public Location(String address, float latitude, float longitude) {    setAddress(address);    setLatitude(latitude);    setLongitude(longitude);  }  /**   * Check whether coordinates have been defined.   *   * @return true if coordinates have been defined   */  public boolean hasCoordinates() {    return hasCoordinates;  }  /**   * Unset latitude and longitude..   */  public void clearCoordinates() {    this.hasCoordinates = false;    this.latitude = 0.0f;    this.longitude = 0.0f;  }  /**   * Gets latitude, if it has been defined.   *   * @return latitude   * @exception IllegalStateException if no coordinates have   *   been defined (check with {@link #hasCoordinates()}.   */  public float getLatitude() {    assertHasCoordinates();    return latitude;  }  /**   * Gets the longitude, if it has been defined.   *   * @return the longitude   * @exception IllegalStateException if no coordinates have   *   been defined (check with {@link #hasCoordinates()}.   */  public float getLongitude() {    assertHasCoordinates();    return longitude;  }  private void assertHasCoordinates() {    if (!hasCoordinates) {      throw new IllegalStateException("No coordinates have been defined. " +          "(Check with hasCoordinates() first)");    }  }  /**   * Sets longitude.   *   * @param longitude   */  public void setLongitude(float longitude) {    this.hasCoordinates = true;    this.longitude = longitude;  }  /**   * Sets latitude.   *   * @param latitude   */  public void setLatitude(float latitude) {    this.hasCoordinates = true;    this.latitude = latitude;  }  /**   * Gets the address.   *   * @return address or null   */  public String getAddress() {    return address;  }  /**   * Sets the address.   *   * @param address an address   * @exception NullPointerException if the   *   address is null   */  public void setAddress(String address) {    if (address == null) {      throw new NullPointerException("address cannot be null");    }    this.address = address;  }  public boolean equals(Object o) {    if (this == o) {      return true;    }    if (!(o instanceof Location)) {      return false;    }    final Location location = (Location) o;    if (hasCoordinates != location.hasCoordinates) {      return false;    }    if (hasCoordinates) {      if (Float.compare(location.latitude, latitude) != 0) {        return false;      }      if (Float.compare(location.longitude, longitude) != 0) {        return false;      }    }    return address.equals(location.address);  }  public int hashCode() {    int result = address.hashCode();    if (hasCoordinates) {      result = 29 * result + Float.floatToIntBits(latitude);      result = 29 * result + Float.floatToIntBits(longitude);    }    return result;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -