/* @generated */ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.shindig.social.opensocial.model; import org.apache.shindig.protocol.model.Exportablebean; import org.apache.shindig.social.core.model.MediaItemImpl; import com.google.inject.ImplementedBy; /** * A container for the media item. */ @ImplementedBy(MediaItemImpl.class) @Exportablebean public interface MediaItem { /** * Fields for MediaItem. */ public static enum Field { ALBUM_ID("albumId"), CREATED("created"), DESCRIPTION("description"), DURATION("duration"), FILE_SIZE("fileSize"), ID("id"), LANGUAGE("language"), LAST_UPDATED("lastUpdated"), LOCATION("location"), MIME_TYPE("mimeType"), NUM_COMMENTS("numComments"), NUM_VIEWS("numViews"), NUM_VOTES("numVotes"), RATING("rating"), START_TIME("startTime"), TAGGED_PEOPLE("taggedPeople"), TAGS("tags"), THUMBNAIL_URL("thumbnailUrl"), TITLE("title"), TYPE("type"), URL("url"); /** * 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 { AUDIO("audio"), IMAGE("image"), 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 MediaItem */ String getThumbnailUrl(); /** * Set a thumbnail URL for the media item. * @param url the thumbnail URL of the MediaItem */ void setThumbnailUrl(String url); /** * Get the album which the media item belongs to. * @return the album id. */ String getAlbumId(); /** * Set the album id which the media item belongs to. * @param albumId the album id */ void setAlbumId(String albumId); /** * Get the creation time * @return creation time associated with the media item in UTC. */ String getCreated(); /** * Set the creation time * @param created creation time associated with the media item in UTC. */ void setCreated(String created); /** * Get the description of the media item * @return description */ String getDescription(); /** * Set the description of the media item * @param description */ void setDescription(String description); /** * Get the playtime length in seconds of the MediaItem * @return playtime */ String getDuration(); /** * Set the playtime length in seconds of the MediaItem * @param duration */ void setDuration(String duration); /** * Get the MediaItem's file size * @return fileSize */ String getFileSize(); /** * Set the number of bytes for the MediaItem * @param fileSize */ void setFileSize(String fileSize); /** * Get the MediaItem's id * @return id */ String getId(); /** * Set the MediaItem's id * @param id */ void setId(String id); /** * Get the language associated with the media item in ISO 639-3 format * @return */ String getLanguage(); /** * Set the language associated with the media item in ISO 639-3 format * @param language */ void setLanguage(String language); /** * Get the update time associated with the media item * @return lastUpdated */ String getLastUpdated(); /** * Set the update time associated with the media item * @param lastUpdated */ void setLastUpdated(String lastUpdated); /** * Get the location corresponding to the media item * @return location */ Address getLocation(); /** * Set the location corresponding to the media item * @param location */ void setLocation(Address location); /** * Get the number of comments on the media item * @return numComments */ String getNumComments(); /** * Set the number of comments on the media item * @param numComments */ void setNumComments(String numComments); /** * Get the number of views for the media item * @return numViews */ String getNumViews(); /** * Set the number of views for the media item * @param numViews */ void setNumViews(String numViews); /** * Get the number of votes received for voting. * @return numVotes */ String getNumVotes(); /** * Set the number of votes received for voting. * @param numVotes */ void setNumVotes(String numVotes); /** * Get the average rating of the media item on a scale of 0-10 * @return rating */ String getRating(); /** * Set the average rating of the media item on a scale of 0-10 * @param rating */ void setRating(String rating); /** * Get the time when the content is available. * @return startTime */ String getStartTime(); /** * Set the the time when the content is available. * @param startTime */ void setStartTime(String startTime); /** * Get people tagged in the media item. * @return taggedPeople */ String getTaggedPeople(); /** * Set people tagged in the media item. * @param taggedPeople */ void setTaggedPeople(String taggedPeople); /** * Get tags associated with this media item. * @return tags */ String getTags(); /** * Set tags associated with this media item. * @param tags */ void setTags(String tags); /** * Get the title for this media item * @return title */ String getTitle(); /** * Set the title for this media item * @param title */ void setTitle(String title); }