javax.imageio.plugins.jpeg

## Class JPEGHuffmanTable

- java.lang.Object
- - javax.imageio.plugins.jpeg.JPEGHuffmanTable

    public class JPEGHuffmanTable
    extends Object

A class encapsulating a single JPEG Huffman table. Fields are provided for the "standard" tables taken from Annex K of the JPEG specification. These are the tables used as defaults.

For more information about the operation of the standard JPEG plug-in, see the JPEG metadata format specification and usage notes

### Field Summary

Fields
`static JPEGHuffmanTable` `StdACChrominance` The standard AC chrominance Huffman table.
`static JPEGHuffmanTable` `StdACLuminance` The standard AC luminance Huffman table.
`static JPEGHuffmanTable` `StdDCChrominance` The standard DC chrominance Huffman table.
`static JPEGHuffmanTable` `StdDCLuminance` The standard DC luminance Huffman table.

### Constructor Summary

Constructors
Constructor and Description
`JPEGHuffmanTable(short[] lengths, short[] values)` Creates a Huffman table and initializes it.

### Method Summary

Methods
`short[]` `getLengths()` Returns an array of `short`s containing the number of values for each length in the Huffman table.
`short[]` `getValues()` Returns an array of `short`s containing the values arranged by increasing length of their corresponding codes.
`String` `toString()` Returns a `String` representing this Huffman table.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### StdDCLuminance

    public static final JPEGHuffmanTable StdDCLuminance

The standard DC luminance Huffman table.

#### StdDCChrominance

    public static final JPEGHuffmanTable StdDCChrominance

The standard DC chrominance Huffman table.

#### StdACLuminance

    public static final JPEGHuffmanTable StdACLuminance

The standard AC luminance Huffman table.

#### StdACChrominance

    public static final JPEGHuffmanTable StdACChrominance

The standard AC chrominance Huffman table.

### Constructor Detail

#### JPEGHuffmanTable

    public JPEGHuffmanTable(short[] lengths,
                    short[] values)

Creates a Huffman table and initializes it. The input arrays are copied. The arrays must describe a possible Huffman table. For example, 3 codes cannot be expressed with a single bit.

Parameters:
  `lengths` - an array of `short`s where `lengths[k]` is equal to the number of values with corresponding codes of length `k + 1` bits.
  `values` - an array of shorts containing the values in order of increasing code length.
Throws:
  `IllegalArgumentException` - if `lengths` or `values` are null, the length of `lengths` is greater than 16, the length of `values` is greater than 256, if any value in `lengths` or `values` is less than zero, or if the arrays do not describe a valid Huffman table.

### Method Detail

#### getLengths

    public short[] getLengths()

Returns an array of `short`s containing the number of values for each length in the Huffman table. The returned array is a copy.

Returns:
  a `short` array where `array[k-1]` is equal to the number of values in the table of length `k`.
See Also:
  `getValues()`

#### getValues

    public short[] getValues()

Returns an array of `short`s containing the values arranged by increasing length of their corresponding codes. The interpretation of the array is dependent on the values returned from `getLengths`. The returned array is a copy.

Returns:
  a `short` array of values.
See Also:
  `getLengths()`

#### toString

    public String toString()

Returns a `String` representing this Huffman table.

Overrides:
  `toString` in class `Object`
Returns:
  a `String` representing this Huffman table.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.