// Path: src/main/java/de/vivistra/telegrambot/model/PhotoSize.java
// public class PhotoSize {
// 	// Unique identifier for this file
// 	private String fileId;
// 	// Photo width
// 	private Integer width;
// 	// Photo height
// 	private Integer height;
// 	// Optional. File size
// 	private Integer fileSize;
// 
// 	/**
// 	 * Creates a PhotoSize object
// 	 * 
// 	 * @param fileId
// 	 * @param width
// 	 * @param height
// 	 * @param fileSize
// 	 */
// 	public PhotoSize(String fileId, Integer width, Integer height, Integer fileSize) {
// 		super();
// 		this.fileId = fileId;
// 		this.width = width;
// 		this.height = height;
// 		this.fileSize = fileSize;
// 	}
// 
// 	/**
// 	 * Create a user or bot object from a JSON String
// 	 * 
// 	 * @param userObject
// 	 * @return User
// 	 */
// 	public static PhotoSize fromJSON(JSONObject userObject) {
// 
// 		String fileId = userObject.getString("file_id");
// 		Integer width = userObject.getInt("width");
// 		Integer height = userObject.getInt("height");
// 
// 		// Optional
// 		Integer fileSize = userObject.optInt("file_size");
// 
// 		return new PhotoSize(fileId, width, height, fileSize);
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#hashCode()
// 	 */
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((this.fileId == null) ? 0 : this.fileId.hashCode());
// 		result = prime * result + ((this.fileSize == null) ? 0 : this.fileSize.hashCode());
// 		result = prime * result + ((this.height == null) ? 0 : this.height.hashCode());
// 		result = prime * result + ((this.width == null) ? 0 : this.width.hashCode());
// 		return result;
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#equals(java.lang.Object)
// 	 */
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj) {
// 			return true;
// 		}
// 		if (obj == null) {
// 			return false;
// 		}
// 		if (!(obj instanceof PhotoSize)) {
// 			return false;
// 		}
// 		PhotoSize other = (PhotoSize) obj;
// 		if (this.fileId == null) {
// 			if (other.fileId != null) {
// 				return false;
// 			}
// 		} else if (!this.fileId.equals(other.fileId)) {
// 			return false;
// 		}
// 		if (this.fileSize == null) {
// 			if (other.fileSize != null) {
// 				return false;
// 			}
// 		} else if (!this.fileSize.equals(other.fileSize)) {
// 			return false;
// 		}
// 		if (this.height == null) {
// 			if (other.height != null) {
// 				return false;
// 			}
// 		} else if (!this.height.equals(other.height)) {
// 			return false;
// 		}
// 		if (this.width == null) {
// 			if (other.width != null) {
// 				return false;
// 			}
// 		} else if (!this.width.equals(other.width)) {
// 			return false;
// 		}
// 		return true;
// 	}
// 
//     public String getFileId()
//     {
//         return fileId;
//     }
// 
//     public void setFileId(String aFileId)
//     {
//         fileId = aFileId;
//     }
// 
//     public Integer getWidth()
//     {
//         return width;
//     }
// 
//     public void setWidth(Integer aWidth)
//     {
//         width = aWidth;
//     }
// 
//     public Integer getHeight()
//     {
//         return height;
//     }
// 
//     public void setHeight(Integer aHeight)
//     {
//         height = aHeight;
//     }
// 
//     public Integer getFileSize()
//     {
//         return fileSize;
//     }
// 
//     public void setFileSize(Integer aFileSize)
//     {
//         fileSize = aFileSize;
//     }
// 
// }


import java.io.File;
import de.vivistra.telegrambot.model.PhotoSize;
package de.vivistra.telegrambot.model.message;



public class ImageMessage extends Message {

	private static final String COMMAND = "sendPhoto";
	public static final String JSON_KEY = "photo";

	/**
	 * Creates a message
	 * 
	 * @param recipient
	 * @param message
	 */
	public ImageMessage(Long recipient, File message) {
		super(recipient, message);
	}

	/**
	 * Creates a message from String
	 * 
	 * @param recipient
	 * @param message
	 */
// Path: src/main/java/de/vivistra/telegrambot/model/PhotoSize.java
// public class PhotoSize {
// 	// Unique identifier for this file
// 	private String fileId;
// 	// Photo width
// 	private Integer width;
// 	// Photo height
// 	private Integer height;
// 	// Optional. File size
// 	private Integer fileSize;
// 
// 	/**
// 	 * Creates a PhotoSize object
// 	 * 
// 	 * @param fileId
// 	 * @param width
// 	 * @param height
// 	 * @param fileSize
// 	 */
// 	public PhotoSize(String fileId, Integer width, Integer height, Integer fileSize) {
// 		super();
// 		this.fileId = fileId;
// 		this.width = width;
// 		this.height = height;
// 		this.fileSize = fileSize;
// 	}
// 
// 	/**
// 	 * Create a user or bot object from a JSON String
// 	 * 
// 	 * @param userObject
// 	 * @return User
// 	 */
// 	public static PhotoSize fromJSON(JSONObject userObject) {
// 
// 		String fileId = userObject.getString("file_id");
// 		Integer width = userObject.getInt("width");
// 		Integer height = userObject.getInt("height");
// 
// 		// Optional
// 		Integer fileSize = userObject.optInt("file_size");
// 
// 		return new PhotoSize(fileId, width, height, fileSize);
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#hashCode()
// 	 */
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((this.fileId == null) ? 0 : this.fileId.hashCode());
// 		result = prime * result + ((this.fileSize == null) ? 0 : this.fileSize.hashCode());
// 		result = prime * result + ((this.height == null) ? 0 : this.height.hashCode());
// 		result = prime * result + ((this.width == null) ? 0 : this.width.hashCode());
// 		return result;
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * 
// 	 * @see java.lang.Object#equals(java.lang.Object)
// 	 */
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj) {
// 			return true;
// 		}
// 		if (obj == null) {
// 			return false;
// 		}
// 		if (!(obj instanceof PhotoSize)) {
// 			return false;
// 		}
// 		PhotoSize other = (PhotoSize) obj;
// 		if (this.fileId == null) {
// 			if (other.fileId != null) {
// 				return false;
// 			}
// 		} else if (!this.fileId.equals(other.fileId)) {
// 			return false;
// 		}
// 		if (this.fileSize == null) {
// 			if (other.fileSize != null) {
// 				return false;
// 			}
// 		} else if (!this.fileSize.equals(other.fileSize)) {
// 			return false;
// 		}
// 		if (this.height == null) {
// 			if (other.height != null) {
// 				return false;
// 			}
// 		} else if (!this.height.equals(other.height)) {
// 			return false;
// 		}
// 		if (this.width == null) {
// 			if (other.width != null) {
// 				return false;
// 			}
// 		} else if (!this.width.equals(other.width)) {
// 			return false;
// 		}
// 		return true;
// 	}
// 
//     public String getFileId()
//     {
//         return fileId;
//     }
// 
//     public void setFileId(String aFileId)
//     {
//         fileId = aFileId;
//     }
// 
//     public Integer getWidth()
//     {
//         return width;
//     }
// 
//     public void setWidth(Integer aWidth)
//     {
//         width = aWidth;
//     }
// 
//     public Integer getHeight()
//     {
//         return height;
//     }
// 
//     public void setHeight(Integer aHeight)
//     {
//         height = aHeight;
//     }
// 
//     public Integer getFileSize()
//     {
//         return fileSize;
//     }
// 
//     public void setFileSize(Integer aFileSize)
//     {
//         fileSize = aFileSize;
//     }
// 
// }


// Path: src/main/java/de/vivistra/telegrambot/model/message/ImageMessage.java
import java.io.File;
import de.vivistra.telegrambot.model.PhotoSize;

package de.vivistra.telegrambot.model.message;



public class ImageMessage extends Message {

	private static final String COMMAND = "sendPhoto";
	public static final String JSON_KEY = "photo";

	/**
	 * Creates a message
	 * 
	 * @param recipient
	 * @param message
	 */
	public ImageMessage(Long recipient, File message) {
		super(recipient, message);
	}

	/**
	 * Creates a message from String
	 * 
	 * @param recipient
	 * @param message
	 */
	public ImageMessage(Long recipient, PhotoSize[] message) {