Package org.apache.commons.compress.archivers.zip

# Enum Zip64Mode

java.lang.Object
java.lang.Enum<Zip64Mode>
org.apache.commons.compress.archivers.zip.Zip64Mode

All Implemented Interfaces:
  `Serializable`, `Comparable<Zip64Mode>`

public enum Zip64Mode extends Enum<Zip64Mode>
The different modes `ZipArchiveOutputStream` can operate in.

Since:
  1.3
See Also:
  - `ZipArchiveOutputStream.setUseZip64(org.apache.commons.compress.archivers.zip.Zip64Mode)`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `Always`
  Use Zip64 extensions for all entries, even if it is clear it is not required.
  `AlwaysWithCompatibility`
  Always use Zip64 extensions for LFH and central directory as `Always` did, and at the meantime encode the relative offset of LFH and disk number start as needed in CFH as `AsNeeded` did.
  `AsNeeded`
  Use Zip64 extensions for all entries where they are required, don't use them for entries that clearly don't require them.
  `Never`
  Don't use Zip64 extensions for any entries.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Zip64Mode`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static Zip64Mode[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### Always

    public static final Zip64Mode Always
    Use Zip64 extensions for all entries, even if it is clear it is not required.

  - ### Never

    public static final Zip64Mode Never
    Don't use Zip64 extensions for any entries.

    This will cause a `Zip64RequiredException` to be thrown if `ZipArchiveOutputStream` detects it needs Zip64 support.

  - ### AsNeeded

    public static final Zip64Mode AsNeeded
    Use Zip64 extensions for all entries where they are required, don't use them for entries that clearly don't require them.

  - ### AlwaysWithCompatibility

    public static final Zip64Mode AlwaysWithCompatibility
    Always use Zip64 extensions for LFH and central directory as `Always` did, and at the meantime encode the relative offset of LFH and disk number start as needed in CFH as `AsNeeded` did.

    This is a compromise for some libraries including 7z and Expand-Archive Powershell utility(and likely Excel).

- ## Method Details

  - ### values

    public static Zip64Mode[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static Zip64Mode valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null