package com.ibm.emb.meb.wrapper;

import java.io.File;
import java.io.FileNotFoundException;
import java.net.URL;

import javax.ejb.CreateException;
import javax.ejb.FinderException;
import javax.emb.Media;
import javax.emb.MediaConverterSpec;
import javax.emb.MediaException;
import javax.emb.MediaFormat;
import javax.emb.MediaHeader;
import javax.emb.MediaListener;
import javax.emb.ProtocolConstraints;
import javax.naming.NamingException;

/**
 * Remote interface for Enterprise Bean: MediaEntityWrapper
 */
public interface MediaEntityWrapper extends javax.ejb.EJBObject {

    /*
     * MediaEntityLocalHome Wrapped Methods
     */

    /**
     * Invokes create() on MediaEntityLocalHome. Returns the Primary Key of the
     * created MediaEntityLocal Throws any exceptions originating from the call
     * to MediaEntityLocalHome
     * @return String - primary key coresponding to the created MediaEntityBean
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception CreateException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     */
    public String createMediaEntityBean() throws MediaException, CreateException, NamingException,
            java.rmi.RemoteException;

    /**
     * Invokes create() on MetaDataEntityLocalHome. Returns the Primary Key of
     * the created MetaDataEntityLocal Throws any exceptions originating from
     * the call to MediaEntityLocalHome
     * @return String - primary key coresponding to the created MediaEntityBean
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception CreateException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     */
    public String createMetaDataEntityBean() throws MediaException, CreateException, NamingException,
            java.rmi.RemoteException;

    /**
     * Invokes importMedia(URL[],String[]) on MediaEntityLocalHome. Returns an
     * array of Primary Keys matching the order of the returned
     * MediaEntityLocals. If one of the MediaEntityLocal elements in the array
     * returned from MediaEntityLocalHome is null, then coresponding null
     * element in the Primary Key array will be returned. Throws any exceptions
     * originating from the call to MediaEntityLocalHome
     * @param urls - URL array of source URLs to import
     * @param names - String array of names to use when importing the content
     * @return String[] - array of primary keys coresponding to the created
     *         MediaEntityLocals returned from the importMedia operation on the
     *         home.
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception CreateException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     */
    public String[] importHomeMediaEntityBeans(URL[] urls, String[] names) throws MediaException, NamingException,
            CreateException, java.rmi.RemoteException;

    /**
     * Invokes exportMedia(MediaEntityLocal[], URL) on MediaEntityLocalHome. An
     * array of MediaEntityLocals will be created from the array of primary keys
     * passed in. If one of the elements in the primary key array is null, a
     * coresponding null element will be placed in the created MediaEntityLocal
     * array.
     * @param pks - String array of primary keys representing the
     *        MediaEntityBeans to export
     * @param targetDir - URL representing the targetDirectory to export the
     *        media to
     * @return URL[] - array of URLs representing the exported file location of
     *         the MediaEntityBeans
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocalHome import operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if an element in the primary key array
     *            can not be found in the datastore
     */
    public URL[] exportHomeMediaEntityBeans(String[] pks, URL targetDir) throws MediaException, NamingException,
            FinderException, java.rmi.RemoteException;

    /**
     * Invokes findByPrimaryKey(String) on MediaEntityLocalHome The primary key
     * passed in and the primary key returned should be the same (or the
     * operation has failed) however no validation checking is done by this
     * method.
     * @param pk - String representing primary key to find in the datastore
     * @return String - primary key of the located MediaEntityBean
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String findMEBByPrimaryKey(String pk) throws NamingException, FinderException, java.rmi.RemoteException;

    /**
     * Invokes the findByPartialDescription(String) on MediaEntityLocalHome An
     * array of primary keys is built from the collection of located
     * MediaEntityBeans and returned.
     * @param partialDesc - String representing the partial description to
     *        search for
     * @return String[] - array of primary keys of located MediaEntityBeans
     *         matching the partial description
     * @throws NamingException thrown if there are problems looking up the
     *         MediaEntityLocalHome
     * @throws FinderException thrown if no MediaEntityBeans can be found by the
     *         partial description
     */
    public String[] findMEBByPartialDescription(String partialDesc) throws NamingException, FinderException,
            java.rmi.RemoteException;

    /**
     * Invokes the findByPartialLocation(String) on MediaEntityLocalHome An
     * array of primary keys is built from the collection of located
     * MediaEntityBeans and returned.
     * @param partialLoc - String representing the partial location to search
     *        for
     * @return String[] - array of primary keys of located MediaEntityBeans
     *         matching the partial location
     * @throws NamingException thrown if there are problems looking up the
     *         MediaEntityLocalHome
     * @throws FinderException thrown if no MediaEntityBeans can be found by the
     *         partial location
     */
    public String[] findMEBByPartialLocation(String partialLoc) throws NamingException, FinderException,
            java.rmi.RemoteException;

    /**
     * Invokes the publishContent(Media, String, ProtocalConstraints) on
     * MediaEntityLocalHome The URL of the published media is returned.
     * @param mediaobj - Media representing the transient or persistent media
     *        object to publish
     * @param protocol - String representing the protocol to use when publishing
     * @param constraints - ProtocalConstraints containing the constraints to
     *        publish with (if any)
     * @return URL representing the location of the published media
     * @throws MediaException thrown if the exception was thrown by the
     *         MediaEntityLocalHome import operation
     * @throws NamingException thrown if there are problems looking up the
     *         MediaEntityLocalHome
     */
    public URL publishMediaContent(Media mediaobj, byte protocol, ProtocolConstraints constraints)
            throws MediaException, NamingException, java.rmi.RemoteException;

    /**
     * Invokes the publishMedia(MediaEntityLocal[], String, ProtocalConstraints)
     * on MediaEntityLocalHome The URL of the published media is returned. An
     * array of MediaEntityLocals will be created from the array of primary keys
     * passed in. If one of the elements in the primary key array is null, a
     * coresponding null element will be placed in the created MediaEntityLocal
     * array.
     * @param pks - String array of primary keys representing the playlist of
     *        MediaEntityBeans to publish
     * @param protocol - String representing the protocol to use when publishing
     * @param constraints - ProtocalConstraints containing the constraints to
     *        publish with (if any)
     * @return URL representing the location of the published media
     * @throws MediaException thrown if the exception was thrown by the
     *         MediaEntityLocalHome import operation
     * @throws NamingException thrown if there are problems looking up the
     *         MediaEntityLocalHome
     * @exception FinderException thrown if an element in the primary key array
     *            can not be found in the datastore
     */
    public Media publishMediaEntityBeans(String[] pks, byte protocol, ProtocolConstraints constraints)
            throws MediaException, NamingException, FinderException, java.rmi.RemoteException;

    /*
     * MediaEntityLocal Wrapped Methods
     */

    /**
     * Invokes addListener(MediaListener) on the MediaEntityLocal The primary
     * key passed will first be resolved to a MediaEntityBean on which the
     * operation should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param listener - MediaListener representing the listener to add to the
     *        MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void addMediaEntityListener(String pk, MediaListener listener) throws MediaException, NamingException,
            FinderException, java.rmi.RemoteException;

    /**
     * Invokes addMetaData(MetaDataEntityLocal) on the MediaEntityLocal The MEB
     * primary key passed will first be resolved to a MediaEntityBean on which
     * the operation should be invoked on. If the MDEB primary key is not null,
     * it will be resolved to a MetaDataEntityBean before it is passed in to the
     * method. If the MDEB is null, null is passed in.
     * @param mebpk - String representing the primary key of the MediaEntityBean
     *        to invoke the operation on
     * @param mdebpk - String representing the primary key of the
     *        MetaDataEntityBean to pass into the operation
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome or the MetaDataEntityLocalHome
     * @exception FinderException thrown if either primary keys can not be found
     *            in the datastore
     */
    public void addMediaEntityMetaData(String mebpk, String mdebpk) throws MediaException, NamingException,
            FinderException, java.rmi.RemoteException;

    /**
     * Invokes convert(MediaConverterSpec[]) on the MediaEntityLocal The primary
     * key passed will first be resolved to a MediaEntityBean on which the
     * operation should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param specs - MediaConverterSpec array of media converters defining the
     *        transformations to be done to the content.
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void convertMediaEntity(String pk, MediaConverterSpec[] specs) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes exportMedia(URL) on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param loc - URL representing the targetlocation to export
     * @return URL with the location of the exported Media
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public URL exportMediaEntity(String pk, URL loc) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getChildren() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on. The array of MediaEntityBean children will first be converted
     * into an array of primary keys representing the children before being
     * returned.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String array of primary keys representing the children on the
     *         MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String[] getMediaEntityChildren(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getContent() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return byte array of the MediaEntityBean's content
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public byte[] getMediaEntityContent(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getDescription() on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String representing the description of the MediaEntityBean's
     *         content
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String getMediaEntityDescription(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getFormat() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return MediaFormat representing the MediaEntityBean's format
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public MediaFormat getMediaEntityFormat(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getHeader() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return MediaHeader representing the MediaEntityBean's header
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public MediaHeader getMediaEntityHeader(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getLastModified() on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return long representing the timestamp of when MediaEntityBean was last
     *         modified
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public long getMediaEntityLastModified(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getListeners() on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return MediaEntityListener array of the MediaEntityBean listeners
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public MediaListener[] getMediaEntityListeners(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getLocation() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return URL representing the location of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public URL getMediaEntityLocation(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getMetaData() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on. The array of MetaDataEntityBean metadata will first be
     * converted into an array of primary keys representing the metadata before
     * being returned.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String array of primary keys representing the MetaDataEntityBean
     *         metadata on the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome or MetaDataEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String[] getMediaEntityMetaData(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getMimeType() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String representing the mimetype of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String getMediaEntityMimeType(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getName() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String representing the name of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String getMediaEntityName(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getNextVersion() on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on. The primary key of the MediaEntityBean's next version
     * MediaEntityBean will be returned or null if the next version is null.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String representing the primary key of the MediaEntityBean's next
     *         version or null
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String getMediaEntityNextVersion(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getParents() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on. The array of MediaEntityBean parents will first be converted
     * into an array of primary keys representing the parents before being
     * returned.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String array of primary keys representing the parents on the
     *         MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String[] getMediaEntityParents(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getPreviousVersion() on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on. The primary key of the MediaEntityBean's previous
     * version MediaEntityBean will be returned or null if the next version is
     * null.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String representing the primary key of the MediaEntityBean's
     *         previous version or null
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public String getMediaEntityPreviousVersion(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getProxy() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return Media object representing the proxy of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public Media getMediaEntityProxy(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes getSize() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return long size of the MediaEntityBean's content
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public long getMediaEntitySize(String pk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes importMedia(URL, String) on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param loc - URL representing the location of the source file to import
     *        content from
     * @param name - String representing the optional name to be set on the
     *        MediaEntityBean during the import
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void importMediaEntityContent(String pk, URL loc, String name) throws NamingException, FinderException,
            MediaException, CreateException, java.rmi.RemoteException;

    /**
     * Invokes readContent(long, byte[]) on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param pos - long represeting the position to begin reading the content
     *        from
     * @param buffer - byte array buffer to copy the media content into
     *        beginning at offset 0
     * @return int representing the number of bytes read into the buffer
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public int readMediaEntityContent(String pk, long pos, byte[] buffer) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes readContent(long, byte[], int, int) on the MediaEntityLocal The
     * primary key passed will first be resolved to a MediaEntityBean on which
     * the operation should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param pos - long represeting the position to begin reading the content
     *        from
     * @param buffer - byte array buffer to copy the media content into
     *        beginning at specified offset
     * @param offset - int representing the offset in the buffer to begin
     *        copying the media content from
     * @param length - int representing the max
     * @return int representing the number of bytes read into the buffer
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public int readMediaEntityContent(String pk, long pos, byte[] buffer, int offset, int length)
            throws NamingException, FinderException, MediaException, java.rmi.RemoteException;

    /**
     * Invokes removeListener(MediaListener) on the MediaEntityLocal The primary
     * key passed will first be resolved to a MediaEntityBean on which the
     * operation should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param listener - MediaListener representing the listener to remove from
     *        the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void removeMediaEntityListener(String pk, MediaListener listener) throws MediaException, NamingException,
            FinderException, java.rmi.RemoteException;

    /**
     * Invokes removeMetaData(MetaDataEntityLocal) on the MediaEntityLocal The
     * MEB primary key passed will first be resolved to a MediaEntityBean on
     * which the operation should be invoked on. If the MDEB primary key is not
     * null, it will be resolved to a MetaDataEntityBean before it is passed in
     * to the method. If the MDEB primary key is null, null is passed into the
     * remove operation.
     * @param mebpk - String representing the primary key of the MediaEntityBean
     *        to invoke the operation on
     * @param mdebpk - String representing the primary key of the
     *        MetaDataEntityBean to remove
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome or the MetaDataEntityLocalHome
     * @exception FinderException thrown if either primary keys can not be found
     *            in the datastore
     */
    public void removeMediaEntityMetaData(String mebpk, String mdebpk) throws MediaException, NamingException,
            FinderException, java.rmi.RemoteException;

    /**
     * Invokes setChildren() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on. The array of MediaEntityBean primary keys representing the
     * children to be set will first be found in the datastore and converted to
     * an array of MediaEntityLocals before being passed in. If an element of
     * the primary key array is null, a coresponding null entry in the
     * MediaEntityLocal array will be set.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @return String array of primary keys representing the children to be set
     *         on the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if any of the primary keys can not be
     *            found in the datastore
     */
    public void setMediaEntityChildren(String pk, String[] childpks) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes setContent(byte[]) on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param content - byte array of content to be set on the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityContent(String pk, byte[] content) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes setContent(InputStream) on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on. Since an InputStream can not be passed over remote
     * boundaries, a File which represents the path to the content is passed and
     * is used to create a FileInputStream used to set the content.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param content - File that contains the content to be set on the
     *        MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     * @exception FileNotFoundException thrown if the File can not be located on
     *            the filesystem
     */
    public void setMediaEntityContent(String pk, File content) throws NamingException, FinderException, MediaException,
            FileNotFoundException, java.rmi.RemoteException;

    /**
     * Invokes setDescription(String) on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param desc - String representing the description of the
     *        MediaEntityBean's content or null
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityDescription(String pk, String desc) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes setLocation(URL) on the MediaEntityLocal The primary key passed
     * will first be resolved to a MediaEntityBean on which the operation should
     * be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param loc - URL representing the external location of the
     *        MediaEntityBean content or null
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityLocation(String pk, URL loc) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes setMimeType(String) on the MediaEntityLocal The primary key
     * passed will first be resolved to a MediaEntityBean on which the operation
     * should be invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param mimeType - String representing the mimetype of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityMimeType(String pk, String mimeType) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes setName() on the MediaEntityLocal The primary key passed will
     * first be resolved to a MediaEntityBean on which the operation should be
     * invoked on.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param name - String representing the name of the MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityName(String pk, String name) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;

    /**
     * Invokes setPreviousVersion(MediaEntityLocal) on the MediaEntityLocal The
     * primary key passed will first be resolved to a MediaEntityBean on which
     * the operation should be invoked on. The primary key passed representing
     * the MediaEntityBean's previous version MediaEntityBean will be located in
     * the datastore and resolved to a MediaEntityLocal before it is passed into
     * the setter. If the primary key representing the previous version is null
     * then null will be passed in.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param pvpk - String representing the primary key of the
     *        MediaEntityBean's previous version or null
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityPreviousVersion(String pk, String pvpk) throws NamingException, FinderException,
            MediaException, java.rmi.RemoteException;

    /**
     * Invokes setProxy(MediaEntityLocal) on the MediaEntityLocal The primary
     * key passed will first be resolved to a MediaEntityBean on which the
     * operation should be invoked on. The primary key passed representing the
     * MediaEntityBean's proxy MediaEntityBean will be located in the datastore
     * and resolved to a MediaEntityLocal before it is passed into the setter.
     * If the primary key representing the proxy is null then null will be
     * passed in.
     * @param pk - String representing the primary key of the MediaEntityBean to
     *        invoke the operation on
     * @param proxypk - String representing the primary key of the proxy
     *        MediaEntityBean
     * @exception NullPointerException - thrown if the primary key passed in is
     *            null
     * @exception MediaException thrown if the exception was thrown by the
     *            MediaEntityLocal operation
     * @exception NamingException thrown if there are problems looking up the
     *            MediaEntityLocalHome
     * @exception FinderException thrown if the primary key can not be found in
     *            the datastore
     */
    public void setMediaEntityProxy(String pk, String proxypk) throws NamingException, FinderException, MediaException,
            java.rmi.RemoteException;
}
