org.at4j.zip.ef
Class UnicodePathExtraField

java.lang.Object
  extended by org.at4j.zip.ef.UnicodePathExtraField
All Implemented Interfaces:
ZipEntryExtraField

public class UnicodePathExtraField
extends Object
implements ZipEntryExtraField

This extra field contains the entity's absolute path encoded in UTF-8.

Since:
1.0
Author:
Karl Gustafsson
See Also:
UnicodePathExtraFieldFactory

Field Summary
static UnsignedShort CODE
          The code that is used to identify this extra field in a Zip file.
 
Constructor Summary
UnicodePathExtraField(boolean inLocalHeader, AbsoluteLocation absPath, boolean directory)
          Create a new Unicode extra field.
 
Method Summary
 byte[] encode(ZipBuilderConfiguration builder)
          Encode this extra field's data for storing in a Zip file.
 boolean equals(Object o)
           
 AbsoluteLocation getAbsolutePath()
           
 int hashCode()
           
 boolean isDirectory()
           
 boolean isInLocalHeader()
          Is this field stored in the Zip entry's local header or in the Zip file's central directory record?
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

CODE

public static final UnsignedShort CODE
The code that is used to identify this extra field in a Zip file.

Constructor Detail

UnicodePathExtraField

public UnicodePathExtraField(boolean inLocalHeader,
                             AbsoluteLocation absPath,
                             boolean directory)
Create a new Unicode extra field.

Parameters:
inLocalHeader - Is the extra field in the Zip entry's local header or in the Zip file's central directory.
absPath - The absolute path of the entry in the Zip archive.
directory - Is the entry a directory?
Method Detail

isInLocalHeader

public boolean isInLocalHeader()
Description copied from interface: ZipEntryExtraField
Is this field stored in the Zip entry's local header or in the Zip file's central directory record?

The same ZipEntryExtraField type may have different properties depending on if it is specified in the local or in the central header.

Specified by:
isInLocalHeader in interface ZipEntryExtraField
Returns:
true if this extra field comes from the Zip entry's local header. false if it comes from the Zip file's central directory.

getAbsolutePath

public AbsoluteLocation getAbsolutePath()

isDirectory

public boolean isDirectory()

encode

public byte[] encode(ZipBuilderConfiguration builder)
Description copied from interface: ZipEntryExtraField
Encode this extra field's data for storing in a Zip file. This is used when building Zip files.

Specified by:
encode in interface ZipEntryExtraField
Parameters:
builder - The configuration for the Zip builder object that is building the Zip file.
Returns:
A byte array containing the extra field data as it should be stored in the Zip file. The returned array should not contain the initial four bytes with the extra field code and the extra field length.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object