/* * Copyright (c) 2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * 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 org.wso2.carbon.registry.social.api.activity; public interface MediaItem { /** * Fields for MediaItem. */ public static enum Field { /** * the field name for mimeType. */ MIME_TYPE("mimeType"), /** * the field name for type. */ TYPE("type"), /** * the field name for url. */ URL("url"), /** * the thumbnail Url */ THUMBNAIL_URL("thumbnailUrl"); /** * The field name that the instance represents. */ private final String jsonString; /** * create a field base on the an element name. * * @param jsonString the name of the element */ private Field(String jsonString) { this.jsonString = jsonString; } /** * @return a string representation of the enum. */ @Override public String toString() { return this.jsonString; } } /** * An enumeration of potential media types. */ public enum Type { /** * the constant for audio types. */ AUDIO("audio"), /** * the constant for image types. */ IMAGE("image"), /** * the constant for video types. */ VIDEO("video"); /** * The field type. */ private final String jsonString; /** * Construct a field type based on the name. * * @param jsonString */ private Type(String jsonString) { this.jsonString = jsonString; } /** * @return a string representation of the enum. */ @Override public String toString() { return this.jsonString; } } /** * Get the mime type for this Media item. * * @return the mime type. */ String getMimeType(); /** * Set the mimetype for this Media Item. * * @param mimeType the mimeType */ void setMimeType(String mimeType); /** * Get the Type of this media item, either audio, image or video. * * @return the Type of this media item */ Type getType(); /** * Get the Type of this media item, either audio, image or video. * * @param type the type of this media item */ void setType(Type type); /** * Get a URL for the media item. * * @return the url of the media item */ String getUrl(); /** * Set a URL for the media item. * * @param url the media item URL */ void setUrl(String url); /** * Get the thumbnail URL for the media item. * * @return the thumbnail url of the media item */ String getThumbnailUrl(); /** * Set a thumbnail URL for the media item. * * @param url the thumbnail URL of the MediaItem */ void setThumbnailUrl(String url); }