org.bouncycastle.openpgp.PGPLiteralData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcpg-jdk15on Show documentation
Show all versions of bcpg-jdk15on Show documentation
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.5 to JDK 1.7. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
package org.bouncycastle.openpgp;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.bouncycastle.bcpg.BCPGInputStream;
import org.bouncycastle.bcpg.LiteralDataPacket;
/**
* A single literal data packet in a PGP object stream.
*/
public class PGPLiteralData
{
/** Format tag for binary literal data */
public static final char BINARY = 'b';
/** Format tag for textual literal data */
public static final char TEXT = 't';
/** Format tag for UTF-8 encoded textual literal data */
public static final char UTF8 = 'u';
/**
* The special name indicating a "for your eyes only" packet.
*/
public static final String CONSOLE = "_CONSOLE";
/**
* The special time for a modification time of "now" or
* the present time.
*/
public static final Date NOW = new Date(0L);
LiteralDataPacket data;
public PGPLiteralData(
BCPGInputStream pIn)
throws IOException
{
data = (LiteralDataPacket)pIn.readPacket();
}
/**
* Return the format of the data packet. One of {@link #BINARY}, {@link #TEXT} or {@link #UTF8}
*/
public int getFormat()
{
return data.getFormat();
}
/**
* Return the file name associated with the data packet.
*/
public String getFileName()
{
return data.getFileName();
}
/**
* Return the file name as an uninterpreted (UTF-8 encoded) byte array.
*/
public byte[] getRawFileName()
{
return data.getRawFileName();
}
/**
* Return the modification time for the file (at second level precision).
*/
public Date getModificationTime()
{
return new Date(data.getModificationTime());
}
/**
* Return the raw input stream for the data packet.
*/
public InputStream getInputStream()
{
return data.getInputStream();
}
/**
* Return the input stream representing the data stream.
* Equivalent to {@link #getInputStream()}.
*/
public InputStream getDataStream()
{
return this.getInputStream();
}
}