
package org.teleal.cling.support.contentdirectory.descriptor.upnp;

import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the org.teleal.cling.support.contentdirectory.descriptor.upnp package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {


    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.teleal.cling.support.contentdirectory.descriptor.upnp
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link Class }
     * 
     */
    public Class createClass() {
        return new Class();
    }

    /**
     * Create an instance of {@link CreateClass }
     * 
     */
    public CreateClass createCreateClass() {
        return new CreateClass();
    }

    /**
     * Create an instance of {@link SearchClass }
     * 
     */
    public SearchClass createSearchClass() {
        return new SearchClass();
    }

    /**
     * Create an instance of {@link Album }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "album")
    public Album createAlbum(String value) {
        return new Album(value);
    }

    /**
     * Create an instance of {@link StorageTotal }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "storageTotal", defaultValue = "-1")
    public StorageTotal createStorageTotal(Long value) {
        return new StorageTotal(value);
    }

    /**
     * Create an instance of {@link Icon }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "icon")
    public Icon createIcon(String value) {
        return new Icon(value);
    }

    /**
     * Create an instance of {@link Region }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "region")
    public Region createRegion(String value) {
        return new Region(value);
    }

    /**
     * Create an instance of {@link Genre }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "genre")
    public Genre createGenre(String value) {
        return new Genre(value);
    }

    /**
     * Create an instance of {@link StorageUsed }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "storageUsed", defaultValue = "-1")
    public StorageUsed createStorageUsed(Long value) {
        return new StorageUsed(value);
    }

    /**
     * Create an instance of {@link StorageFree }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "storageFree", defaultValue = "-1")
    public StorageFree createStorageFree(Long value) {
        return new StorageFree(value);
    }

    /**
     * Create an instance of {@link WriteStatus }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "writeStatus")
    public WriteStatus createWriteStatus(WriteStatusValue value) {
        return new WriteStatus(value);
    }

    /**
     * Create an instance of {@link StorageMaxPartition }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "storageMaxPartition", defaultValue = "-1")
    public StorageMaxPartition createStorageMaxPartition(Long value) {
        return new StorageMaxPartition(value);
    }

    /**
     * Create an instance of {@link Playlist }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "playlist")
    public Playlist createPlaylist(String value) {
        return new Playlist(value);
    }

    /**
     * Create an instance of {@link Rating }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "rating")
    public Rating createRating(String value) {
        return new Rating(value);
    }

    /**
     * Create an instance of {@link LongDescription }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "longDescription")
    public LongDescription createLongDescription(String value) {
        return new LongDescription(value);
    }

    /**
     * Create an instance of {@link StorageMedium }}
     * 
     */
    @XmlElementDecl(namespace = "urn:schemas-upnp-org:metadata-1-0/upnp/", name = "storageMedium")
    public StorageMedium createStorageMedium(StorageMediumValue value) {
        return new StorageMedium(value);
    }

}
