001package org.vafer.jdeb;
002
003import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
004
005public class TarOptions {
006
007    private Compression compression = Compression.GZIP;
008    private int longFileMode = TarArchiveOutputStream.LONGFILE_GNU;
009    private int bigNumberMode = TarArchiveOutputStream.BIGNUMBER_STAR;
010
011    public TarOptions compression(Compression compression) {
012        this.compression = compression;
013
014        return this;
015    }
016
017    public TarOptions longFileMode(String input) {
018        if ("posix".equals(input)) {
019            longFileMode = TarArchiveOutputStream.LONGFILE_POSIX;
020        } else if ("error".equals(input)) {
021            longFileMode = TarArchiveOutputStream.LONGFILE_ERROR;
022        } else if ("truncate".equals(input)) {
023            longFileMode = TarArchiveOutputStream.LONGFILE_TRUNCATE;
024        } else {
025            longFileMode = TarArchiveOutputStream.LONGFILE_GNU;
026        }
027
028        return this;
029    }
030
031    public TarOptions bigNumberMode(String input) {
032        if ("error".equals(input)) {
033            bigNumberMode = TarArchiveOutputStream.BIGNUMBER_ERROR;
034        } else if ("posix".equals(input)) {
035            bigNumberMode = TarArchiveOutputStream.BIGNUMBER_POSIX;
036        } else {
037            bigNumberMode = TarArchiveOutputStream.BIGNUMBER_STAR;
038        }
039
040        return this;
041    }
042
043    public int longFileMode() {
044        return longFileMode;
045    }
046
047    public int bigNumberMode() {
048        return bigNumberMode;
049    }
050
051    public Compression compression() {
052        return compression;
053    }
054}