diff options
Diffstat (limited to 'src/org/tukaani/xz/BCJOptions.java')
-rw-r--r-- | src/org/tukaani/xz/BCJOptions.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/org/tukaani/xz/BCJOptions.java b/src/org/tukaani/xz/BCJOptions.java new file mode 100644 index 0000000..a862154 --- /dev/null +++ b/src/org/tukaani/xz/BCJOptions.java @@ -0,0 +1,60 @@ +/* + * BCJOptions + * + * Author: Lasse Collin <lasse.collin@tukaani.org> + * + * This file has been put into the public domain. + * You can do whatever you want with this file. + */ + +package org.tukaani.xz; + +import java.io.InputStream; +import java.io.IOException; + +abstract class BCJOptions extends FilterOptions { + private final int alignment; + int startOffset = 0; + + BCJOptions(int alignment) { + this.alignment = alignment; + } + + /** + * Sets the start offset for the address conversions. + * Normally this is useless so you shouldn't use this function. + * The default value is <code>0</code>. + */ + public void setStartOffset(int startOffset) + throws UnsupportedOptionsException { + if ((startOffset & (alignment - 1)) != 0) + throw new UnsupportedOptionsException( + "Start offset must be a multiple of " + alignment); + + this.startOffset = startOffset; + } + + /** + * Gets the start offset. + */ + public int getStartOffset() { + return startOffset; + } + + public int getEncoderMemoryUsage() { + return SimpleOutputStream.getMemoryUsage(); + } + + public int getDecoderMemoryUsage() { + return SimpleInputStream.getMemoryUsage(); + } + + public Object clone() { + try { + return super.clone(); + } catch (CloneNotSupportedException e) { + assert false; + throw new RuntimeException(); + } + } +} |