package com.flickr4java.flickr.places; /** * Describes a place inside a {@link Location}. * * Each place contain its place ID, corresponding URL (underneath <a href="http://www.flickr.com/places/" target="_top">http://www.flickr.com/places/</a>) and * place type for disambiguating different locations with the same name. * <p> * * A place delivered by find contains an URL, whereas the URL is missing if delivered by resolvePlaceId and resolvePlaceUrl. * * @author mago * @version $Id: Place.java,v 1.7 2009/07/12 22:43:07 x-mago Exp $ */ public class Place { private static final long serialVersionUID = 12L; public static final int TYPE_UNSET = 0; public static final int TYPE_LOCALITY = 7; public static final int TYPE_COUNTY = 9; public static final int TYPE_REGION = 8; public static final int TYPE_COUNTRY = 12; public static final int TYPE_CONTINENT = 29; public static final int TYPE_NEIGHBOURHOOD = 22; private String name = ""; private String placeId = ""; private String woeId = ""; private double latitude = 0.0; private double longitude = 0.0; /** * Set only if requested by find. */ private String placeUrl = ""; private int placeType = 0; private int photoCount = 0; public Place() { } public Place(String placeId, String name) { this.name = name; this.placeId = placeId; } public Place(String placeId, String name, int placeType) { this.name = name; this.placeId = placeId; this.placeType = placeType; } public Place(String placeId, String name, String woeId) { this.name = name; this.placeId = placeId; this.woeId = woeId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPlaceId() { return placeId; } public void setPlaceId(String placeId) { this.placeId = placeId; } /** * The PlaceType. * * @return The PlaceType * @see Place#TYPE_COUNTRY * @see Place#TYPE_COUNTY * @see Place#TYPE_LOCALITY * @see Place#TYPE_REGION */ public int getPlaceType() { return placeType; } /** * The PlaceType. * * @param placeType * @see Place#TYPE_COUNTRY * @see Place#TYPE_COUNTY * @see Place#TYPE_LOCALITY * @see Place#TYPE_REGION * @see Place#TYPE_NEIGHBOURHOOD * @see Place#TYPE_CONTINENT */ public void setPlaceType(int placeType) { this.placeType = placeType; } public void setPlaceType(String placeType) { try { setPlaceType(Integer.parseInt(placeType)); } catch (NumberFormatException e) { } } public String getPlaceUrl() { return placeUrl; } public void setPlaceUrl(String placeUrl) { this.placeUrl = placeUrl; } public String getWoeId() { return woeId; } public void setWoeId(String woeId) { this.woeId = woeId; } public double getLatitude() { return latitude; } public void setLatitude(String latitude) { try { setLatitude(Double.parseDouble(latitude)); } catch (NumberFormatException e) { } } public void setLatitude(double latitude) { this.latitude = latitude; } public double getLongitude() { return longitude; } public void setLongitude(String longitude) { try { setLongitude(Double.parseDouble(longitude)); } catch (NumberFormatException e) { } } public void setLongitude(double longitude) { this.longitude = longitude; } public int getPhotoCount() { return photoCount; } public void setPhotoCount(String photoCount) { try { setPhotoCount(Integer.parseInt(photoCount)); } catch (NumberFormatException e) { } } public void setPhotoCount(int photoCount) { this.photoCount = photoCount; } @Override public String toString() { return String.format("%s (%s)", name, placeId); } }