Top Description Fields Constructors Methods
org.apache.commons.compress.archivers.zip

public Class ResourceAlignmentExtraField

extends Object
implements ZipExtraField
Class Inheritance
All Implemented Interfaces
org.apache.commons.compress.archivers.zip.ZipExtraField
Imports
java.util.zip.ZipException

An extra field who's sole purpose is to align and pad the local file header so that the entry's data starts at a certain position.

The padding content of the padding is ignored and not retained when reading a padding field.

This enables Commons Compress to create "aligned" archives similar to Android's zipalign command line tool.

Since
1.14
See Also
https://developer.android.com/studio/command-line/zipalign.html, ZipArchiveEntry#setAlignment

Field Summary

Modifier and TypeField and Description
private short
private static final int
private boolean
public static final int
public static final ZipShort
ID

Extra field id used for storing alignment and padding.

private int

Constructor Summary

AccessConstructor and Description
public
public
ResourceAlignmentExtraField(final int alignment)

public
ResourceAlignmentExtraField(final int alignment, final boolean allowMethodChange)

public
ResourceAlignmentExtraField(final int alignment, final boolean allowMethodChange, final int padding)

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if method change is allowed, false otherwise.
allowMethodChange
()

Indicates whether method change is allowed when re-compressing the ZIP file.

public short

Returns:

requested alignment.
getAlignment
()

Gets requested alignment.

public byte[]
getCentralDirectoryData()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryData.

The actual data to put into central directory - without Header-ID or length specifier.
public ZipShort
getCentralDirectoryLength()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryLength.

Length of the extra field in the central directory - without Header-ID or length specifier.
public ZipShort
public byte[]
getLocalFileDataData()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataData.

The actual data to put into local file data - without Header-ID or length specifier.
public ZipShort
getLocalFileDataLength()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataLength.

Length of the extra field in the local file data - without Header-ID or length specifier.
public void
parseFromCentralDirectoryData(final byte[]
the buffer to read data from
buffer
,
final int
offset into buffer to read data
offset
,
final int
the length of data
length
)

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromCentralDirectoryData.

Populate data from this array as if it was in central directory data.
public void
parseFromLocalFileData(final byte[]
the buffer to read data from
buffer
,
final int
offset into buffer to read data
offset
,
final int
the length of data
length
)

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromLocalFileData.

Populate data from this array as if it was in local file data.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

alignmentback to summary
private short alignment
ALLOW_METHOD_MESSAGE_CHANGE_FLAGback to summary
private static final int ALLOW_METHOD_MESSAGE_CHANGE_FLAG
allowMethodChangeback to summary
private boolean allowMethodChange
BASE_SIZEback to summary
public static final int BASE_SIZE
IDback to summary
public static final ZipShort ID

Extra field id used for storing alignment and padding.

paddingback to summary
private int padding

Constructor Detail

ResourceAlignmentExtraFieldback to summary
public ResourceAlignmentExtraField()
ResourceAlignmentExtraFieldback to summary
public ResourceAlignmentExtraField(final int alignment)
ResourceAlignmentExtraFieldback to summary
public ResourceAlignmentExtraField(final int alignment, final boolean allowMethodChange)
ResourceAlignmentExtraFieldback to summary
public ResourceAlignmentExtraField(final int alignment, final boolean allowMethodChange, final int padding)

Method Detail

allowMethodChangeback to summary
public boolean allowMethodChange()

Indicates whether method change is allowed when re-compressing the ZIP file.

Returns:boolean

true if method change is allowed, false otherwise.

getAlignmentback to summary
public short getAlignment()

Gets requested alignment.

Returns:short

requested alignment.

getCentralDirectoryDataback to summary
public byte[] getCentralDirectoryData()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryData.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryData.

The actual data to put into central directory - without Header-ID or length specifier.

Returns:byte[]

the data

Annotations
@Override
getCentralDirectoryLengthback to summary
public ZipShort getCentralDirectoryLength()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryLength.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.getCentralDirectoryLength.

Length of the extra field in the central directory - without Header-ID or length specifier.

Returns:ZipShort

the length of the field in the central directory

Annotations
@Override
getHeaderIdback to summary
public ZipShort getHeaderId()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getHeaderId.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.getHeaderId.

The Header-ID.

Returns:ZipShort

The HeaderId value

Annotations
@Override
getLocalFileDataDataback to summary
public byte[] getLocalFileDataData()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataData.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataData.

The actual data to put into local file data - without Header-ID or length specifier.

Returns:byte[]

the data

Annotations
@Override
getLocalFileDataLengthback to summary
public ZipShort getLocalFileDataLength()

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataLength.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.getLocalFileDataLength.

Length of the extra field in the local file data - without Header-ID or length specifier.

Returns:ZipShort

the length of the field in the local file data

Annotations
@Override
parseFromCentralDirectoryDataback to summary
public void parseFromCentralDirectoryData(final byte[] buffer, final int offset, final int length) throws ZipException

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromCentralDirectoryData.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromCentralDirectoryData.

Populate data from this array as if it was in central directory data.

Parameters
buffer:byte[]

the buffer to read data from

offset:int

offset into buffer to read data

length:int

the length of data

Annotations
@Override
Exceptions
ZipException:
on error
parseFromLocalFileDataback to summary
public void parseFromLocalFileData(final byte[] buffer, final int offset, final int length) throws ZipException

Implements org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromLocalFileData.

Doc from org.apache.commons.compress.archivers.zip.ZipExtraField.parseFromLocalFileData.

Populate data from this array as if it was in local file data.

Parameters
buffer:byte[]

the buffer to read data from

offset:int

offset into buffer to read data

length:int

the length of data

Annotations
@Override
Exceptions
ZipException:
on error