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}