/* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. * * Copyright @ 2015 Atlassian Pty Ltd * * 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 net.java.sip.communicator.impl.replacement.smiley; import java.net.*; import java.util.*; import net.java.sip.communicator.service.replacement.smilies.*; /** * The <tt>Smiley</tt> is used to store a smiley. * * @author Yana Stamcheva * @author Lubomir Marinov */ public class SmileyImpl implements Smiley { /** * The description of the smiley */ private final String description; /** * The identifier of the smiley icon. */ private final String imageID; /** * The strings corresponding to this smiley, e.g. :), :-), etc. */ private final List<String> smileyStrings; /** * Creates an instance of <tt>Smiley</tt>, by specifying the smiley * image identifier and the strings corresponding to it. * @param imageID The image identifier of the smiley icon. * @param smileyStrings A set of strings corresponding to the smiley * icon. * @param description the description of the smiley */ public SmileyImpl(String imageID, String[] smileyStrings, String description) { this.imageID = imageID; this.smileyStrings = Collections .unmodifiableList(Arrays.asList(smileyStrings.clone())); this.description = description; } /** * Returns the set of Strings corresponding to this smiley. * @return the set of Strings corresponding to this smiley. */ public List<String> getSmileyStrings() { return smileyStrings; } /** * Returns the description of this smiley. * * @return the description of this smiley. */ public String getDescription() { return description; } /** * Returns the default String corresponding for this smiley. For example * ":-)". * @return the default String corresponding for this smiley. */ public String getDefaultString() { return smileyStrings.get(0); } /** * Returns the identifier of the image corresponding to this smiley. * @return the identifier of the image corresponding to this smiley. */ public String getImageID() { return imageID; } /** * Returns the path of the image corresponding to this smiley. * @return the path of the image corresponding to this smiley. */ public String getImagePath() { URL url = SmileyActivator.getResources().getImageURL(imageID); if(url == null) return null; return url.toString(); } }