com.flickr4java.flickr.photos.Photo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of flickr4java Show documentation
Show all versions of flickr4java Show documentation
Java API For Flickr. Fork of FlickrJ.
/*
* Copyright (c) 2005 Aetrion LLC.
*/
package com.flickr4java.flickr.photos;
import com.flickr4java.flickr.FlickrException;
import com.flickr4java.flickr.people.User;
import com.flickr4java.flickr.places.Place;
import com.flickr4java.flickr.stats.Stats;
import com.flickr4java.flickr.stats.StatsInterface;
import com.flickr4java.flickr.tags.Tag;
import com.flickr4java.flickr.util.IOUtilities;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
/**
* Class representing metadata about a Flickr photo. Instances do not actually contain the photo data, however you can obtain the photo data by calling
* {@link PhotosInterface#getImage(Photo, int)} or {@link PhotosInterface#getImageAsStream(Photo, int)}.
*
* @author Anthony Eden
* @version $Id: Photo.java,v 1.28 2009/07/23 21:49:35 x-mago Exp $
*/
public class Photo {
private static final ThreadLocal DATE_FORMATS = new ThreadLocal() {
@Override
protected synchronized SimpleDateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
};
private static final String DEFAULT_ORIGINAL_IMAGE_SUFFIX = "_o.jpg";
private static final String SMALL_SQUARE_IMAGE_SUFFIX = "_s.jpg";
private static final String SMALL_IMAGE_SUFFIX = "_m.jpg";
private static final String THUMBNAIL_IMAGE_SUFFIX = "_t.jpg";
private static final String MEDIUM_IMAGE_SUFFIX = ".jpg";
private static final String LARGE_IMAGE_SUFFIX = "_b.jpg";
private static final String LARGE_1600_IMAGE_SUFFIX = "_h.jpg";
private static final String LARGE_2048_IMAGE_SUFFIX = "_k.jpg";
private static final String SQUARE_LARGE_IMAGE_SUFFIX = "_q.jpg";
private static final String SQUARE_320_IMAGE_SUFFIX = "_n.jpg";
private static final String MEDIUM_640_IMAGE_SUFFIX = "_z.jpg";
private static final String MEDIUM_800_IMAGE_SUFFIX = "_c.jpg";
private Size squareSize;
private Size smallSize;
private Size thumbnailSize;
private Size mediumSize;
private Size largeSize;
private Size large1600Size;
private Size large2048Size;
private Size originalSize;
private Size squareLargeSize;
private Size small320Size;
private Size medium640Size;
private Size medium800Size;
private Size videoPlayer;
private Size siteMP4;
private Size videoOriginal;
private Size mobileMP4;
private Size hdMP4;
private String id;
private User owner;
private String secret;
private String farm;
private String server;
private boolean favorite;
private String license;
private boolean primary;
private String title;
private String description;
private boolean publicFlag;
private boolean friendFlag;
private boolean familyFlag;
private Date dateAdded;
private Date datePosted;
private Date dateTaken;
private Date lastUpdate;
private String takenGranularity;
private Permissions permissions;
private Editability editability;
private Editability publicEditability;
private int comments;
private int views = -1;
private int rotation;
private Collection notes;
private Collection tags;
private Collection urls;
private String iconServer;
private String iconFarm;
private String url;
private GeoData geoData;
private String originalFormat;
private String originalSecret;
private String placeId;
private String media;
private String mediaStatus;
private String pathAlias;
private int originalWidth;
private int originalHeight;
private PhotoUrl photoUrl;
private Usage usage;
private boolean hasPeople;
private Place locality;
private Place county;
private Place region;
private Place country;
/**
* Stats on views, comments and favorites. Only set on {@link StatsInterface#getPopularPhotos} call.
*/
private Stats stats;
public Photo() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public User getOwner() {
return owner;
}
public void setOwner(User owner) {
this.owner = owner;
}
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret;
}
public String getFarm() {
return farm;
}
public void setFarm(String farm) {
this.farm = farm;
}
public String getServer() {
return server;
}
public void setServer(String server) {
this.server = server;
}
public boolean isFavorite() {
return favorite;
}
public void setFavorite(boolean favorite) {
this.favorite = favorite;
}
public String getLicense() {
return license;
}
public void setLicense(String license) {
this.license = license;
}
public boolean isPrimary() {
return primary;
}
public void setPrimary(boolean primary) {
this.primary = primary;
}
public void setPrimary(String primary) {
setPrimary("1".equals(primary));
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isPublicFlag() {
return publicFlag;
}
public void setPublicFlag(boolean publicFlag) {
this.publicFlag = publicFlag;
}
public boolean isFriendFlag() {
return friendFlag;
}
public void setFriendFlag(boolean friendFlag) {
this.friendFlag = friendFlag;
}
public boolean isFamilyFlag() {
return familyFlag;
}
public void setFamilyFlag(boolean familyFlag) {
this.familyFlag = familyFlag;
}
public Date getDateAdded() {
return dateAdded;
}
public void setDateAdded(Date dateAdded) {
this.dateAdded = dateAdded;
}
public void setDateAdded(long dateAdded) {
setDateAdded(new Date(dateAdded));
}
public void setDateAdded(String dateAdded) {
if (dateAdded == null || "".equals(dateAdded)) {
return;
}
setDateAdded(Long.parseLong(dateAdded) * 1000);
}
public Date getDatePosted() {
return datePosted;
}
public void setDatePosted(Date datePosted) {
this.datePosted = datePosted;
}
public void setDatePosted(long datePosted) {
setDatePosted(new Date(datePosted));
}
public void setDatePosted(String datePosted) {
if (datePosted == null || "".equals(datePosted)) {
return;
}
setDatePosted(Long.parseLong(datePosted) * 1000);
}
public Date getDateTaken() {
return dateTaken;
}
public void setDateTaken(Date dateTaken) {
this.dateTaken = dateTaken;
}
public void setDateTaken(String dateTaken) {
if (dateTaken == null || "".equals(dateTaken)) {
return;
}
try {
setDateTaken(((DateFormat) DATE_FORMATS.get()).parse(dateTaken));
} catch (ParseException e) {
// TODO: figure out what to do with this error
e.printStackTrace();
}
}
public Date getLastUpdate() {
return lastUpdate;
}
public void setLastUpdate(Date lastUpdate) {
this.lastUpdate = lastUpdate;
}
public void setLastUpdate(String lastUpdateStr) {
if (lastUpdateStr == null || "".equals(lastUpdateStr)) {
return;
}
long unixTime = Long.parseLong(lastUpdateStr);
setLastUpdate(new Date(unixTime * 1000L));
}
public String getTakenGranularity() {
return takenGranularity;
}
public void setTakenGranularity(String takenGranularity) {
this.takenGranularity = takenGranularity;
}
public Permissions getPermissions() {
return permissions;
}
public void setPermissions(Permissions permissions) {
this.permissions = permissions;
}
public Editability getEditability() {
return editability;
}
public void setEditability(Editability editability) {
this.editability = editability;
}
public int getComments() {
return comments;
}
public void setComments(int comments) {
this.comments = comments;
}
public void setComments(String comments) {
if (comments != null) {
setComments(Integer.parseInt(comments));
}
}
public Collection getNotes() {
return notes;
}
public void setNotes(Collection notes) {
this.notes = notes;
}
public Collection getTags() {
return tags;
}
public void setTags(Collection tags) {
this.tags = tags;
}
/**
*
* @return List of {@link PhotoUrl}
*/
public Collection getUrls() {
return urls;
}
/**
*
* @param urls
* List of {@link PhotoUrl}
*/
public void setUrls(Collection urls) {
this.urls = urls;
}
/**
* Sets the number of views for this Photo. For un-authenticated calls this value is not available and will be set to -1.
*
* @param views
* @deprecated attribute no longer available
*/
@Deprecated
public void setViews(String views) {
if (views != null) {
try {
setViews(Integer.parseInt(views));
} catch (NumberFormatException e) {
setViews(-1);
}
}
}
/**
*
* @param views
* @deprecated attribute no longer available
*/
@Deprecated
public void setViews(int views) {
this.views = views;
}
/**
* Number of views. Set to -1 if the value is not available.
*
* @return Number of views
* @deprecated attribute no longer available
*/
@Deprecated
public int getViews() {
return views;
}
/**
* Set the degrees of rotation. Value will be set to -1, if not available.
*
* @param rotation
*/
public void setRotation(String rotation) {
if (rotation != null) {
try {
setRotation(Integer.parseInt(rotation));
} catch (NumberFormatException e) {
setRotation(-1);
}
}
}
public void setRotation(int rotation) {
this.rotation = rotation;
}
public int getRotation() {
return rotation;
}
public String getIconServer() {
return iconServer;
}
public void setIconServer(String iconServer) {
this.iconServer = iconServer;
}
public String getIconFarm() {
return iconFarm;
}
public void setIconFarm(String iconFarm) {
this.iconFarm = iconFarm;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public GeoData getGeoData() {
return geoData;
}
public void setGeoData(GeoData geoData) {
this.geoData = geoData;
}
public boolean hasGeoData() {
return geoData != null;
}
public String getOriginalFormat() {
return originalFormat;
}
public void setOriginalFormat(String originalFormat) {
this.originalFormat = originalFormat;
}
public String getOriginalSecret() {
return originalSecret;
}
public void setOriginalSecret(String originalSecret) {
this.originalSecret = originalSecret;
}
/**
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
* @throws FlickrException
*/
@Deprecated
public BufferedImage getOriginalImage() throws IOException, FlickrException {
if (originalFormat != null) {
return getOriginalImage("_o." + originalFormat);
}
return getOriginalImage(DEFAULT_ORIGINAL_IMAGE_SUFFIX);
}
/**
* Get an InputStream for the original image. Callers must close the stream upon completion.
*
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getOriginalAsStream() throws IOException, FlickrException {
if (originalFormat != null) {
return getOriginalImageAsStream("_o." + originalFormat);
}
return getOriginalImageAsStream(DEFAULT_ORIGINAL_IMAGE_SUFFIX);
}
/**
* Get the original image URL.
*
* @return The original image URL
*/
public String getOriginalUrl() throws FlickrException {
if (originalSize == null) {
if (originalFormat != null) {
return getOriginalBaseImageUrl() + "_o." + originalFormat;
}
return getOriginalBaseImageUrl() + DEFAULT_ORIGINAL_IMAGE_SUFFIX;
} else {
return originalSize.getSource();
}
}
/**
* Get an Image object which is a 75x75 pixel square.
*
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
*/
@Deprecated
public BufferedImage getSmallSquareImage() throws IOException {
return getImage(SMALL_SQUARE_IMAGE_SUFFIX);
}
/**
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getSmallSquareAsInputStream() throws IOException {
return getImageAsStream(SMALL_SQUARE_IMAGE_SUFFIX);
}
public String getSmallSquareUrl() {
if (squareSize == null) {
return getBaseImageUrl() + SMALL_SQUARE_IMAGE_SUFFIX;
} else {
return squareSize.getSource();
}
}
/**
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
*/
@Deprecated
public BufferedImage getThumbnailImage() throws IOException {
return getImage(THUMBNAIL_IMAGE_SUFFIX);
}
/**
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getThumbnailAsInputStream() throws IOException {
return getImageAsStream(THUMBNAIL_IMAGE_SUFFIX);
}
public String getThumbnailUrl() {
if (thumbnailSize == null) {
return getBaseImageUrl() + THUMBNAIL_IMAGE_SUFFIX;
} else {
return thumbnailSize.getSource();
}
}
/**
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
*/
@Deprecated
public BufferedImage getSmallImage() throws IOException {
return getImage(SMALL_IMAGE_SUFFIX);
}
/**
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getSmallAsInputStream() throws IOException {
return getImageAsStream(SMALL_IMAGE_SUFFIX);
}
public String getSmallUrl() {
if (smallSize == null) {
return getBaseImageUrl() + SMALL_IMAGE_SUFFIX;
} else {
return smallSize.getSource();
}
}
/**
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
*/
@Deprecated
public BufferedImage getMediumImage() throws IOException {
return getImage(MEDIUM_IMAGE_SUFFIX);
}
/**
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getMediumAsStream() throws IOException {
return getImageAsStream(MEDIUM_IMAGE_SUFFIX);
}
public String getMediumUrl() {
if (mediumSize == null) {
return getBaseImageUrl() + MEDIUM_IMAGE_SUFFIX;
} else {
return mediumSize.getSource();
}
}
/**
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @return An Image
* @throws IOException
*/
@Deprecated
public BufferedImage getLargeImage() throws IOException {
return getImage(LARGE_IMAGE_SUFFIX);
}
/**
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @return The InputStream
* @throws IOException
*/
@Deprecated
public InputStream getLargeAsStream() throws IOException {
return getImageAsStream(LARGE_IMAGE_SUFFIX);
}
public String getLargeUrl() {
if (largeSize == null) {
return getBaseImageUrl() + LARGE_IMAGE_SUFFIX;
} else {
return largeSize.getSource();
}
}
public String getLarge1600Url() {
if (large1600Size == null) {
return getBaseImageUrl() + LARGE_1600_IMAGE_SUFFIX;
} else {
return large1600Size.getSource();
}
}
public String getLarge2048Url() {
if (large2048Size == null) {
return getBaseImageUrl() + LARGE_2048_IMAGE_SUFFIX;
} else {
return large2048Size.getSource();
}
}
public String getSquareLargeUrl() {
if (squareLargeSize == null) {
return getBaseImageUrl() + SQUARE_LARGE_IMAGE_SUFFIX;
} else {
return squareLargeSize.getSource();
}
}
public String getSmall320Url() {
if (small320Size == null) {
return getBaseImageUrl() + SQUARE_320_IMAGE_SUFFIX;
} else {
return small320Size.getSource();
}
}
public String getMedium640Url() {
if (medium640Size == null) {
return getBaseImageUrl() + MEDIUM_640_IMAGE_SUFFIX;
} else {
return medium640Size.getSource();
}
}
public String getMedium800Url() {
if (medium800Size == null) {
return getBaseImageUrl() + MEDIUM_800_IMAGE_SUFFIX;
} else {
return medium800Size.getSource();
}
}
public String getVideoPlayerUrl() {
if (videoPlayer == null) {
return "";
} else {
return videoPlayer.getSource();
}
}
public String getSiteMP4Url() {
if (siteMP4 == null) {
return "";
} else {
return siteMP4.getSource();
}
}
public String getVideoOriginalUrl() {
if (videoOriginal == null) {
// Workaround for API limitations
return String.format("https://www.flickr.com/video_download.gne?id=%s&originalSecret=%s&secret=%s", id, originalSecret, secret);
} else {
return videoOriginal.getSource();
}
}
public String getMobileMp4Url() {
if (mobileMP4 == null) {
return "";
} else {
return mobileMP4.getSource();
}
}
public String getHdMp4Url() {
if (hdMP4 == null) {
return "";
} else {
return hdMP4.getSource();
}
}
/**
* Get an image using the specified URL suffix.
*
* @deprecated
* @param suffix
* The URL suffix, including the .extension
* @return The BufferedImage object
* @throws IOException
*/
@Deprecated
private BufferedImage getImage(String suffix) throws IOException {
StringBuffer buffer = getBaseImageUrl();
buffer.append(suffix);
return _getImage(buffer.toString());
}
/**
* Get the original-image using the specified URL suffix.
*
* @deprecated
* @see PhotosInterface#getImage(Photo, int)
* @param suffix
* The URL suffix, including the .extension
* @return The BufferedImage object
* @throws IOException
* @throws FlickrException
*/
@Deprecated
private BufferedImage getOriginalImage(String suffix) throws IOException, FlickrException {
StringBuffer buffer = getOriginalBaseImageUrl();
buffer.append(suffix);
return _getImage(buffer.toString());
}
/**
* @deprecated
* @param urlStr
* @return BufferedImage
* @throws IOException
*/
@Deprecated
private BufferedImage _getImage(String urlStr) throws IOException {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
InputStream in = null;
try {
in = conn.getInputStream();
return ImageIO.read(in);
} finally {
IOUtilities.close(in);
}
}
/**
* Get an image as a stream. Callers must be sure to close the stream when they are done with it.
*
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @param suffix
* The suffix
* @return The InputStream
* @throws IOException
*/
@Deprecated
private InputStream getImageAsStream(String suffix) throws IOException {
StringBuffer buffer = getBaseImageUrl();
buffer.append(suffix);
return _getImageAsStream(buffer.toString());
}
/**
*
* @deprecated
* @see PhotosInterface#getImageAsStream(Photo, int)
* @param suffix
* @return InoutStream
* @throws IOException
* @throws FlickrException
*/
@Deprecated
private InputStream getOriginalImageAsStream(String suffix) throws IOException, FlickrException {
StringBuffer buffer = getOriginalBaseImageUrl();
buffer.append(suffix);
return _getImageAsStream(buffer.toString());
}
private InputStream _getImageAsStream(String urlStr) throws IOException {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
return conn.getInputStream();
}
private StringBuffer getBaseImageUrl() {
StringBuffer buffer = new StringBuffer();
buffer.append(_getBaseImageUrl());
buffer.append(getSecret());
return buffer;
}
private StringBuffer getOriginalBaseImageUrl() throws FlickrException, NullPointerException {
StringBuffer buffer = new StringBuffer();
buffer.append(_getBaseImageUrl());
if (getOriginalSecret().length() > 8) {
buffer.append(getOriginalSecret());
} else {
throw new FlickrException("0", "OriginalUrl not available because of missing originalsecret.");
}
return buffer;
}
private StringBuffer _getBaseImageUrl() {
StringBuffer buffer = new StringBuffer();
buffer.append("https://farm");
buffer.append(getFarm());
buffer.append(".static.flickr.com/");
buffer.append(getServer());
buffer.append("/");
buffer.append(getId());
buffer.append("_");
return buffer;
}
/**
* @return A placeId
* @see com.flickr4java.flickr.places.PlacesInterface#resolvePlaceId(String)
*/
public String getPlaceId() {
return placeId;
}
public void setPlaceId(String placeId) {
this.placeId = placeId;
}
public String getMedia() {
return media;
}
public void setMedia(String media) {
this.media = media;
}
public String getMediaStatus() {
return mediaStatus;
}
public void setMediaStatus(String mediaStatus) {
this.mediaStatus = mediaStatus;
}
public int getOriginalWidth() {
return originalWidth;
}
public void setOriginalWidth(String originalWidth) {
try {
setOriginalWidth(Integer.parseInt(originalWidth));
} catch (NumberFormatException ex) {
}
}
public void setOriginalWidth(int originalWidth) {
this.originalWidth = originalWidth;
}
public int getOriginalHeight() {
return originalHeight;
}
public void setOriginalHeight(String originalHeight) {
try {
setOriginalHeight(Integer.parseInt(originalHeight));
} catch (NumberFormatException ex) {
}
}
public void setOriginalHeight(int originalHeight) {
this.originalHeight = originalHeight;
}
/**
* Set sizes to override the generated URLs of the different sizes.
*
* @param sizes
* @see com.flickr4java.flickr.photos.PhotosInterface#getSizes(String)
*/
public void setSizes(Collection sizes) {
for (Size size : sizes) {
if (size.getLabel() == Size.SMALL) {
smallSize = size;
} else if (size.getLabel() == Size.SQUARE) {
squareSize = size;
} else if (size.getLabel() == Size.THUMB) {
thumbnailSize = size;
} else if (size.getLabel() == Size.MEDIUM) {
mediumSize = size;
} else if (size.getLabel() == Size.LARGE) {
largeSize = size;
} else if (size.getLabel() == Size.LARGE_1600) {
large1600Size = size;
} else if (size.getLabel() == Size.LARGE_2048) {
large2048Size = size;
} else if (size.getLabel() == Size.ORIGINAL) {
originalSize = size;
} else if (size.getLabel() == Size.SQUARE_LARGE) {
squareLargeSize = size;
} else if (size.getLabel() == Size.SMALL_320) {
small320Size = size;
} else if (size.getLabel() == Size.MEDIUM_640) {
medium640Size = size;
} else if (size.getLabel() == Size.MEDIUM_800) {
medium800Size = size;
} else if (size.getLabel() == Size.VIDEO_PLAYER) {
videoPlayer = size;
} else if (size.getLabel() == Size.SITE_MP4) {
siteMP4 = size;
} else if (size.getLabel() == Size.VIDEO_ORIGINAL) {
videoOriginal = size;
}
else if (size.getLabel() == Size.MOBILE_MP4) {
mobileMP4 = size;
}
else if (size.getLabel() == Size.HD_MP4) {
hdMP4 = size;
}
}
}
public Collection getSizes() {
return Arrays.asList(
smallSize, squareSize, thumbnailSize, mediumSize,
largeSize, large1600Size, large2048Size, originalSize,
squareLargeSize, small320Size, medium640Size, medium800Size,
videoPlayer, siteMP4, videoOriginal, mobileMP4, hdMP4
);
}
public Size getSquareSize() {
return squareSize;
}
public Size getSmallSize() {
return smallSize;
}
public Size getThumbnailSize() {
return thumbnailSize;
}
public Size getMediumSize() {
return mediumSize;
}
public Size getLargeSize() {
return largeSize;
}
public Size getLarge1600Size() {
return large1600Size;
}
public Size getLarge2048Size() {
return large2048Size;
}
public Size getOriginalSize() {
return originalSize;
}
public Size getSquareLargeSize() {
return squareLargeSize;
}
public Size getSmall320Size() {
return small320Size;
}
public Size getMedium640Size() {
return medium640Size;
}
public Size getMedium800Size() {
return medium800Size;
}
public Size getVideoPlayerSize() {
return videoPlayer;
}
public Size getSiteMP4Size() {
return siteMP4;
}
public Size getVideoOriginalSize() {
return videoOriginal;
}
/**
* @return the mobileMP4
*/
public Size getMobileMp4() {
return mobileMP4;
}
/**
* @param mobileMP4 the mobileMP4 to set
*/
public void setMobileMp4(Size mobileMP4) {
this.mobileMP4 = mobileMP4;
}
/**
* @return the hdMP4
*/
public Size getHdMp4() {
return hdMP4;
}
/**
* @param hdMP4 the hdMP4 to set
*/
public void setHdMp4(Size hdMP4) {
this.hdMP4 = hdMP4;
}
/**
* @return the pathAlias
*/
public String getPathAlias() {
return pathAlias;
}
/**
* @param pathAlias
* the pathAlias to set
*/
public void setPathAlias(String pathAlias) {
this.pathAlias = pathAlias;
}
public Stats getStats() {
return stats;
}
public void setStats(Stats stats) {
this.stats = stats;
}
@Override
public boolean equals(Object obj) {
if ((obj == null) || (obj.getClass() != this.getClass())) {
return false;
}
if (obj == this) {
return true;
}
Photo test = (Photo) obj;
// TODO: not sure if these tests are sufficient
return areEqual(id, test.id) && areEqual(secret, test.secret);
}
@Override
public int hashCode() {
int hash = 83;
if (id != null) {
hash ^= id.hashCode();
}
if (secret != null) {
hash ^= secret.hashCode();
}
return hash;
}
private boolean areEqual(Object x, Object y) {
return x == null ? y == null : x.equals(y);
}
public PhotoUrl getPhotoUrl() {
return photoUrl;
}
public void setPhotoUrl(PhotoUrl photoUrl) {
this.photoUrl = photoUrl;
}
public Usage getUsage() {
return usage;
}
public void setUsage(Usage usage) {
this.usage = usage;
}
public Editability getPublicEditability() {
return publicEditability;
}
public void setPublicEditability(Editability publicEditability) {
this.publicEditability = publicEditability;
}
public boolean isHasPeople() {
return hasPeople;
}
public void setIsHasPeople(boolean hasPeople) {
this.hasPeople = hasPeople;
}
public Place getLocality() {
return locality;
}
public void setLocality(Place locality) {
this.locality = locality;
}
public Place getCounty() {
return county;
}
public void setCounty(Place county) {
this.county = county;
}
public Place getRegion() {
return region;
}
public void setRegion(Place region) {
this.region = region;
}
public Place getCountry() {
return country;
}
public void setCountry(Place country) {
this.country = country;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy