org.ocap.hn.profiles.upnp.UPnPConstants Maven / Gradle / Ivy
package org.ocap.hn.profiles.upnp;
import org.ocap.hn.content.MetadataNode;
/**
* This interface contains constants that are specific to UPnP and used in conjunction
* with the org.ocap.hn.content.MetadataNode
interface.
*/
public interface UPnPConstants
{
/**
* An identifier for the object. The value of each object id property must
* be unique with respect to the server hosting this content.
*
* The value is didl-lite:
(object)@"id"
*
*/
public static final String ID = "id";
/**
* The identifier for the title of an item. This could be the title
* of a song, a recording, a photo etc. This identifier is valid for all
* kinds of content.
Queries for TITLE
should always return a String.
*
* The value of this key is "dc:title".
*/
public static final String TITLE = "dc:title";
/**
* This identifies the CREATOR
of a piece of content.
* In the case of e.g., MP3s, this maps to the 'Artist' ID3 tag, In case of a
* recording/live broadcast, this is the Broadcaster e.g., BBC1.
*
Queries for CREATOR
should always return a String.
*
* The value of this key is "dc:creator".
*
*/
public static final String CREATOR = "dc:creator";
/**
* Name of an artist.
* The value of this field is "upnp:artist"
.
*/
public static final String ARTIST = "upnp:artist";
/**
* Role of an artist in the work.
*
* The value of this field is "upnp:artist@role"
*/
public static final String ARTIST_AT_ROLE = "upnp:artist@role";
/**
* Name of an actor appearing in a video item.
*
* The value of this field is "upnp:actor"
.
*
*/
public static final String ACTOR = "upnp:actor";
/**
* Role of an actor in the work.
*
* The value of this field is "upnp:actor@role"
*
*
getMetadata returns a String.
* @see MetadataNode#getMetadata(String)
*/
public static final String ACTOR_AT_ROLE = "upnp:actor@role";
/**
* Name of an author.
*
* The value of this field is "upnp:author"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String AUTHOR = "upnp:author";
/**
* Role of an author in the work (e.g. lyrics, music).
*
* The value of this field is "upnp:author@role"
*
*
getMetadata returns a String.
* @see MetadataNode#getMetadata(String)
*/
public static final String AUTHOR_AT_ROLE = "upnp:author@role";
/**
* Name of a producer.
*
* The value of this field is "upnp:producer"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String PRODUCER = "upnp:producer";
/**
* Name of a director.
*
* The value of this field is "upnp:director"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String DIRECTOR = "upnp:director";
/**
* Name of a publisher.
* The value of this field is "dc:publisher"
.
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String PUBLISHER = "dc:publisher";
/**
* Name of a contributor. It is recommended that CONTRIBUTOR includes the
* name of the primary content creator (see Dublin Core 'creator' property)
*
* The value of this field is "dc:contributor"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String CONTRIBUTOR = "dc:contributor";
/**
* Name of the genre to which an object belongs. Can be more than one.
*
* The value of this field is "upnp:genre"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String GENRE = "upnp:genre";
/**
* This identifies a ALBUM
this piece of content belongs to.
* For example, in MP3 files this maps to the 'Album' ID3 tag, In case of a
* recording/live broadcast this could be the series to which it belongs (e.g., Buffy).
*
* The value of this field is "upnp:album"
*
*
getMetadata() will return a String.
* @see MetadataNode#getMetadata(String)
*
*/
public static final String ALBUM = "upnp:album";
/**
* Name of a playlist this object belongs to. Can be more than one.
*
* The value of this field is "upnp:playlist"
.
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String PLAYLIST = "upnp:playlist";
/**
* Reference to album art. Can be more than one.
*
* The value of this field is "upnp:albumArtURI"
.
*
* Values must be properly escaped URIs as described in
* [RFC 2396].
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String ALBUM_ART = "upnp:albumArtURI";
/**
* Reference to artist discography.
*
* The value of this field is "upnp:artistDiscographyURI"
.
*
* Values must be properly escaped URIs as described in
* [RFC 2396].
*
getMetadata() will return a String.
* @see MetadataNode#getMetadata(String)
*/
public static final String ARTIST_DISCOGRAPHY = "upnp:artistDiscographyURI";
/**
* Reference to lyrics of a track or album.
*
* The value of this field is "upnp:lyricsURI"
.
*
* Values must be properly escaped URIs as described in
* [RFC 2396].
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String LYRICS_REF = "upnp:lyricsURI";
/**
* Reference to related resources.
*
* The value of this field is "dc:relation.
*
* Values must be properly escaped URIs as described in
* [RFC 2396].
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String RELATION = "dc:relation";
/**
* Indicates the type of storage medium used for the content. Potentially useful
* for user-interface purposes. Allowed values are defined by UPnP and include:
* - "UNKNOWN"
- "DV"
- "MINI-DV"
- "VHS"
- "W-VHS"
- "S-VHS"
- "D-VHS"
- "VHSC"
- "VIDEO8"
- "HI8"
- "CD-ROM"
- "CD-DA"
- "CD-R"
- "CD-RW"
- "VIDEO-CD"
- "SACD"
- "MD-AUDIO"
- "MD-PICTURE"
- "DVD-ROM"
- "DVD-VIDEO"
- "DVD-R"
- "DVD+RW"
- "DVD-RW"
- "DVD-RAM"
- "DVD-AUDIO"
- "DAT"
- "LD"
- "HDD"
- "SD"
- "PC-CARD"
- "MMC"
- "CF"
- "BD"
- "MS"
* The value of this field is "upnp:storageMedium"
.
*
*/
public static final String STORAGE_MEDIUM = "upnp:storageMedium";
/**
* A brief description of the content item.
* The value of this field is "dc:description"
.
* @see MetadataNode#getMetadata(String)
*/
public static final String DESCRIPTION = "dc:description";
/**
* A long description of the content item.
* The value of this field is "upnp:longDescription"
.
* @see MetadataNode#getMetadata(String)
*/
public static final String LONG_DESCRIPTION = "upnp:longDescription";
/**
* Reference to an icon which can be used to represent the content.
*
* The value of this field is "upnp:icon"
.
*
* Values must be properly escaped URIs as described in
* [RFC 2396].
* @see MetadataNode#getMetadata(String)
*/
public static final String ICON_REF = "upnp:icon";
/**
* Some identification of the region, associated with the 'source' of the object,
* e.g. "US", "Latin America", "Seattle".
* The value of this field is "upnp:region"
* @see MetadataNode#getMetadata(String)
*/
public static final String REGION = "upnp:region";
/**
* Rating of the object's resource, for 'parental control' filtering purposes,
* such as "R", "PG-13", "X".
*
* The value of this field is "upnp:rating"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String RATING = "upnp:rating";
/**
* Element Description: Information about rights held in and over the resource.
* Typically a Rights element will contain a rights management statement for the
* resource, or reference a service providing such information. Rights information
* often encompasses Intellectual Property Rights (IPR), Copyright, and various
* Property Rights. If the rights element is absent, no assumptions can be made
* about the status of these and other rights with respect to the resource.
* Guidelines for content creation:
* The Rights element may be used for either a textual statement or a URL pointing
* to a rights statement, or a combination, when a brief statement and a more
* lengthy one are available.
* Examples:
* Rights="Access limited to members"
* Rights="http://cs-tr.cs.cornell.edu/Dienst/Repository/2.0/Terms"
*
* The value of this field is "dc:rights"
*
* getMetadata() returns an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String RIGHTS = "dc:rights";
/**
* This identifies the CREATION_DATE
of a piece of content.
* In the case of e.g., MP3's this maps to the 'Year' ID3 tag, In case of a
* recording/live broadcast this is when the content was created. For Images
* this is the date the photo was made.
*
Queries for CREATION_DATE
should always return a java.util.Date.
* Only the year of the Date might actually be valid (e.g., for MP3s).
*
* The value of this field is "dc:date"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String CREATION_DATE = "dc:date";
/**
* Language as defined by RFC 3066, e.g. "en-US".
*
* The value of this field is "dc:language"
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String LANGUAGE = "dc:language";
/**
* Radio station call sign, e.g. "KSJO".
*
* The value of this field is "upnp:radioCallSign"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String RADIO_CALL_SIGN = "upnp:radioCallSign";
/**
* Some identification, e.g. "107.7", broadcast frequency of the
* radio station.
*
* The value of this field is "upnp:radioStationID"
* @see MetadataNode#getMetadata(String)
*/
public static final String RADIO_STATION_ID = "upnp:radioStationID";
/**
* Radio station frequency band. Recommended values are "AM", "FM", "Shortwave",
* "Internet", "Satellite". Vendor's may extend this.
*
* The value of this field is "upnp:radioBand"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String RADIO_BAND = "upnp:radioBand";
/**
* Used for identification of tuner channels themselves or information associated
* with a piece of recorded content.
*
* The value of this field is "upnp:channelNr"
*
* getMetadata() returns an Integer.
* @see MetadataNode#getMetadata(String)
*/
public static final String CHANNEL_NUMBER = "upnp:channelNr";
/**
* Used for identification of channels themselves, or information associated with a
* piece of recorded content.
*
* The value of this field is "upnp:channelName"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String CHANNEL_NAME = "upnp:channelName";
/**
* Start time of a scheduled program.
*
* The value of this field is "upnp:scheduledStartTime"
*
* getMetadata() returns java.util.Date.
* @see MetadataNode#getMetadata(String)
*/
public static final String SCHEDULED_START_TIME = "upnp:scheduledStartTime";
/**
* End time of a scheduled program.
*
* The value of this field is "upnp:scheduledEndTime"
*
* getMetadata() returns java.util.Date.
* @see MetadataNode#getMetadata(String)
*/
public static final String SCHEDULED_END_TIME = "upnp:scheduledEndTime";
/**
* DVD region code.
*
* The value of this field is "upnp:DVDRegionCode"
*
* getMetadata() returns an Integer.
* @see MetadataNode#getMetadata(String)
*/
public static final String DVD_REGION_CODE = "upnp:DVDRegionCode";
/**
* Original track number on a CD or other medium.
*
* The value of this field is "upnp:originalTrackNumber"
*
* getMetadata() returns an Integer.
* @see MetadataNode#getMetadata(String)
*/
public static final String TRACK_NUMBER = "upnp:originalTrackNumber";
/**
* Unique identifier of an audio CD (e.g. freedb or cddb id).
*
* The value of this field is "upnp:toc"
*
* @see MetadataNode#getMetadata(String)
*/
public static final String MEDIA_ID = "upnp:toc";
/**
* General-purpose tag where a user can annotate an object with some user-specific
* information.
*
* The value of this field is "upnp:userAnnotation"
*
*
getMetadata() will return an array of Strings.
* @see MetadataNode#getMetadata(String)
*/
public static final String COMMENTS = "upnp:userAnnotation";
/**
* Property indicating total storage on a storage container.
*
* The value of this field is "upnp:storageTotal"
*
*
getMetadata() will return a Long.
* @see MetadataNode#getMetadata(String)
*/
public static final String PROP_STORAGE_TOTAL = "upnp:storageTotal";
/**
* Property indicating current storage space available on a storage container.
*
* The value of this field is "upnp:storageFree"
*
*
getMetadata() will return a Long.
* @see MetadataNode#getMetadata(String)
*/
public static final String PROP_STORAGE_FREE = "upnp:storageFree";
/**
* An identifier for the parent of this object.
*
*
* The value is didl-lite:
(object)@"parentID"
*
*/
public static final String PARENT_ID = "parentID";
}