<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Pawn%3ATransferContext</id>
	<title>Pawn:TransferContext - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Pawn%3ATransferContext"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Pawn:TransferContext&amp;action=history"/>
	<updated>2026-04-07T15:33:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/adapt/index.php?title=Pawn:TransferContext&amp;diff=2127&amp;oldid=prev</id>
		<title>Toaster at 15:05, 15 September 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Pawn:TransferContext&amp;diff=2127&amp;oldid=prev"/>
		<updated>2008-09-15T15:05:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * TransferContext.java&lt;br /&gt;
 *&lt;br /&gt;
 * Created on February 10, 2006, 3:19 PM&lt;br /&gt;
 *&lt;br /&gt;
 * To change this template, choose Tools | Options and locate the template under&lt;br /&gt;
 * the Source Creation and Management node. Right-click the template and choose&lt;br /&gt;
 * Open. You can then make changes to the template in the Source Editor.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
package edu.umiacs.pawn.resource;&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 *&lt;br /&gt;
 * @author toaster&lt;br /&gt;
 */&lt;br /&gt;
public interface TransferContext&lt;br /&gt;
{&lt;br /&gt;
    /**&lt;br /&gt;
     * Return ID of current object. This is only valid between start/end object&lt;br /&gt;
     * calls.&lt;br /&gt;
     *&lt;br /&gt;
     * @return urn of current object&lt;br /&gt;
     */&lt;br /&gt;
    public long getCurrentObject();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Retrun the id of the current working manifest. This is only valid between&lt;br /&gt;
     * start/end manifest calls.&lt;br /&gt;
     *&lt;br /&gt;
     * @return urn of current manifest&lt;br /&gt;
     */&lt;br /&gt;
    public long getCurrentManifest();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Get the namespace of the current manifest. This is only valid between &lt;br /&gt;
     * start/end manifest calls&lt;br /&gt;
     *&lt;br /&gt;
     * @return namespace of current manifest&lt;br /&gt;
     */&lt;br /&gt;
    public String getNamespace();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get the absolute path of an item from the category/obligation root to &lt;br /&gt;
     * parent manifest.&lt;br /&gt;
     *&lt;br /&gt;
     * @return path from obligation root to parent manifest&lt;br /&gt;
     */&lt;br /&gt;
    public long[] getAbsoluteParentPath();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get the parent path from the user-chosen manifest to current parent.&lt;br /&gt;
     *&lt;br /&gt;
     * @return parent path from selected manifest, or null if working on root manifest&lt;br /&gt;
     *&lt;br /&gt;
     */&lt;br /&gt;
    public long[] getRelativeParentPath();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Return the descriptive name for a path component.&lt;br /&gt;
     *&lt;br /&gt;
     * @return descriptive name of path, null if pathID is not part of current path&lt;br /&gt;
     */&lt;br /&gt;
    public String getPathComponentName(long pathID);&lt;br /&gt;
    &lt;br /&gt;
    /***&lt;br /&gt;
     *&lt;br /&gt;
     * Context-specific properties&lt;br /&gt;
     *&lt;br /&gt;
     */&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Set an error message for a given item. The error will be attached to the &lt;br /&gt;
     * current object/manifest/metadata. If this is called prior to any object/manifest&lt;br /&gt;
     * it&amp;#039;s assumed the error applies to the entire archive action. Multiple errors&lt;br /&gt;
     * may be added to any item.&lt;br /&gt;
     *&lt;br /&gt;
     * @param name descriptive name of the error&lt;br /&gt;
     * @param fatal did this error prevent the item from being archived.&lt;br /&gt;
     * @param content descriptive message about this error, may be null.&lt;br /&gt;
     *&lt;br /&gt;
     */&lt;br /&gt;
    public void addError(String name, boolean fatal, String content);&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Abort the entire transfer. This should be used lightly and mainly in the&lt;br /&gt;
     * startTransfer/setParameters calls. Resources should handle any cleanup prior&lt;br /&gt;
     * to calling this. Calling abort will result in NO more calls to the DataMover, ie&lt;br /&gt;
     * you will not get EndTransfer called.&lt;br /&gt;
     *&lt;br /&gt;
     * @param reason short reason why transfer aborted&lt;br /&gt;
     * @param details detailed message, IE stack trace, or other descriptive message. May be null.&lt;br /&gt;
     */&lt;br /&gt;
    public void abortTransfer(String reason, String details);&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Return an input stream for the current object/manifest/metadata. This is &lt;br /&gt;
     * only gaurenteed to be available during calls to processXXX. Any other time&lt;br /&gt;
     * the result is undefined.&lt;br /&gt;
     *&lt;br /&gt;
     * @throws java.io.IOException If pawn cannot retrieve bits from a reservation, generally shouldn&amp;#039;t happen&lt;br /&gt;
     *&lt;br /&gt;
     * @return inputstream to current item&lt;br /&gt;
     */&lt;br /&gt;
    public InputStream getInputStream() throws IOException;&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Return name of current metadata/object/manifest as defined by the creating &lt;br /&gt;
     * interface&lt;br /&gt;
     *&lt;br /&gt;
     * @return get name of current item&lt;br /&gt;
     */&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public String getName(); &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Return type of current metadata/object/manifest as defined by the creating &lt;br /&gt;
     * interface&lt;br /&gt;
     *&lt;br /&gt;
     * @return get bundle-defined type of current item&lt;br /&gt;
     */&lt;br /&gt;
    public String getType(); &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * return mime type of current object/metadata, not valid for manifests&lt;br /&gt;
     *&lt;br /&gt;
     * @return mimetype of current item&lt;br /&gt;
     */&lt;br /&gt;
    public String getMimeType();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Return creation date for metadata/data if appropriate. &lt;br /&gt;
     *&lt;br /&gt;
     * @return creation date of current item&lt;br /&gt;
     */&lt;br /&gt;
    public Date getCreationDate();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get size of item, valid for objects/metadata only&lt;br /&gt;
     *&lt;br /&gt;
     * @return size of current item&lt;br /&gt;
     */&lt;br /&gt;
    public long getSize();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * return current urn, valid for metadata/data/manifest&lt;br /&gt;
     *&lt;br /&gt;
     * @return string urn of item&lt;br /&gt;
     */&lt;br /&gt;
    public long getID();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get original url of items, valid for objects/metadata only.&lt;br /&gt;
     *&lt;br /&gt;
     * @return url of item&lt;br /&gt;
     */&lt;br /&gt;
    public String getOriginalURL();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get checksum, valid for objects only&lt;br /&gt;
     *&lt;br /&gt;
     * @return checksum string&lt;br /&gt;
     */&lt;br /&gt;
    public String getChecksum();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get mets checksum type sring, valid for objects only&lt;br /&gt;
     *&lt;br /&gt;
     * @return checksum type string&lt;br /&gt;
     */&lt;br /&gt;
    public String getChecksumType();&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * get a temporary directory. Any items in this directory will be deleted &lt;br /&gt;
     * after the resource is finished.&lt;br /&gt;
     *&lt;br /&gt;
     */&lt;br /&gt;
    public java.io.File getTemporaryDirectory() throws java.io.IOException;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
-- Main.MikeSmorul - 02 Nov 2007&lt;/div&gt;</summary>
		<author><name>Toaster</name></author>
	</entry>
</feed>