package org.jboss.seam.document;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
public abstract class DocumentData implements Serializable
{
DocumentType documentType;
String baseName;
String disposition = "inline";
String fileName;
public DocumentData(String baseName, DocumentType documentType)
{
super();
this.documentType = documentType;
this.baseName = baseName;
}
public abstract void writeDataToStream(OutputStream stream) throws IOException;
public DocumentType getDocumentType()
{
return documentType;
}
public String getBaseName()
{
return baseName;
}
public void setFilename(String fileName)
{
this.fileName = fileName;
}
public String getFileName()
{
if (fileName == null)
{
return getBaseName() + "." + getDocumentType().getExtension();
}
else
{
return fileName;
}
}
public void setDisposition(String disposition)
{
this.disposition = disposition;
}
public String getDisposition()
{
return disposition;
}
static public class DocumentType implements Serializable
{
private String mimeType;
private String extension;
public DocumentType(String extension, String mimeType)
{
this.extension = extension;
this.mimeType = mimeType;
}
public String getMimeType()
{
return mimeType;
}
public String getExtension()
{
return extension;
}
}
}