|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.at4j.tar.builder.V7TarEntryStrategy
org.at4j.tar.builder.UstarEntryStrategy
public class UstarEntryStrategy
This strategy extends the V7TarEntryStrategy to be able to write full
ustar Tar entry headers. In addition to the data in a v7 header, the ustar
header contains the following data:
| Property | Comment |
|---|---|
| Version of the ustar header | This is set to 00 |
| Owner name | The name of the user owning the entity that the Tar entry was created from. The maximum size of this field is 31 8-byte characters. |
| Group name | The name of the group owning the entity that the Tar entry was created from. The maximum size of this field is 31 8-byte characters. |
| Device major number | This is always set to 0000000 by this implementation. |
| Device minor number | This is always set to 0000000 by this implementation. |
| Name prefix | This is 155 additional bytes that can be prefixed to the entry name if it is longer than 99 characters. This gives a theoretical maximum path length of 255 characters, but since the split must occur at a slash, the actual maximum length is often shorter. |
| Constructor Summary | |
|---|---|
UstarEntryStrategy()
Create a new strategy object that will use the platform's default character encoding to encode text values in the Tar entries. |
|
UstarEntryStrategy(Charset cs)
Create a new strategy object that will use the supplied charset for encoding test values in the Tar entries. |
|
| Method Summary | |
|---|---|
protected byte[] |
getHeader(Object entity,
String fileName,
TarEntrySettings effectiveSettings,
long fileSize,
EntityType entityType,
Date lastModified)
Override the inherited implementation to add ustar specific data. |
protected void |
setFileNameInHeader(byte[] header,
String fileName)
Override the inherited implementation to be able to split long file names between the prefix and the name fields. |
| Methods inherited from class org.at4j.tar.builder.V7TarEntryStrategy |
|---|
addChecksumToHeader, getFileName, getTextEncodingCharset, goToNextBlockBoundary, writeDirectory, writeFile, writeFileFromStream, writeFileToArchive, zeroPadLeft |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public UstarEntryStrategy()
UstarEntryStrategy(Charset)public UstarEntryStrategy(Charset cs)
cs - The charset.UstarEntryStrategy()| Method Detail |
|---|
protected void setFileNameInHeader(byte[] header,
String fileName)
throws ArchiveEntryAddException
setFileNameInHeader in class V7TarEntryStrategyheader - The header to add the file name to.fileName - The file name to add.
ArchiveEntryAddException - If the file name is too long.
protected byte[] getHeader(Object entity,
String fileName,
TarEntrySettings effectiveSettings,
long fileSize,
EntityType entityType,
Date lastModified)
throws ArchiveEntryAddException
getHeader in class V7TarEntryStrategyentity - The entity that the Tar entry should represent. This may be
a file, a directory or an InputStream.fileName - The name of the entity.effectiveSettings - Effective settings for the entry.fileSize - If the entry is a file entry, this value contains the
file size in bytes.entityType - The type of the entity being added.lastModified - When the entity was last modified.
V7TarEntryStrategy.addChecksumToHeader(byte[]) method may be used to calculate the
header's checksum when all data has been added to it.
ArchiveEntryAddException - If the entry cannot be created, for some
reason.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||