package emoji4j;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * Emoji
 * @author Krishna Chaitanya Thota
 *
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class Emoji extends AbstractEmoji {

	private String emoji;

	private List<String> aliases;

	private String hexHtml;

	private String decimalHtml;
	
	private List<String> emoticons;

	/**
	 * Gets the unicode emoji character
	 * @return Emoji String
	 */
	public String getEmoji() {
		return emoji;
	}

	public void setEmoji(String emoji) {
		setDecimalHtml(EmojiUtils.htmlifyHelper(emoji,false));
		setHexHtml(EmojiUtils.htmlifyHelper(emoji,true));
		this.emoji = emoji;
	}

	/**
	 * Gets the list of all shortcodes for the emoji. shortcode is not enclosed in colons.
	 * @return List of all aliases
	 */
	public List<String> getAliases() {
		return aliases;
	}

	public void setAliases(List<String> aliases) {
		this.aliases = aliases;
	}

	/**
	 * Gets the hexadecimal html entity for the emoji
	 * @return the hexadecimal html string
	 */
	public String getHexHtml() {
		return hexHtml;
	}

	public void setHexHtml(String hexHtml) {
		this.hexHtml = hexHtml;
	}

	/**
	 * Gets the decimal html entity for the emoji
	 * @return the decimal html string
	 */
	public String getDecimalHtml() {
		return decimalHtml;
	}

	public void setDecimalHtml(String decimalHtml) {
		this.decimalHtml = decimalHtml;
	}

	/**
	 * Gets the list of emoticons associated with the emoji
	 * @return List of all emoticons associated with the emoji
	 */
	public List<String> getEmoticons() {
		return emoticons;
	}

	public void setEmoticons(List<String> emoticons) {
		//for(String emoticon:emoticons) {
			//EmojiManager.addEmoticon(emoticon);
		//}
		this.emoticons = emoticons;
	}
	
	
}

@@ -354,16 +354,56 @@
 Html;%0A%09%0A
+%09private String decimalSurrogateHtml;%0A%09%0A
 %09private
@@ -634,16 +634,23 @@
 r(emoji,
+false, 
 false));
@@ -694,16 +694,98 @@
 r(emoji,
+true, false));%0A%09%09%0A%09%09setDecimalSurrogateHtml(EmojiUtils.htmlifyHelper(emoji,false, 
 true));%0A
@@ -1899,15 +1899,217 @@
 cons;%0A%09%7D
+%0A%0A%09public String getDecimalSurrogateHtml() %7B%0A%09%09return decimalSurrogateHtml;%0A%09%7D%0A%0A%09public void setDecimalSurrogateHtml(String decimalSurrogateHtml) %7B%0A%09%09this.decimalSurrogateHtml = decimalSurrogateHtml;%0A%09%7D
 %0A%09%0A%09%0A%7D%0A

support for surrogate html entities