Browse Source

add javadoc

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276227 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Reilly 21 years ago
parent
commit
00f6d0e66b
1 changed files with 84 additions and 7 deletions
  1. +84
    -7
      src/main/org/apache/tools/ant/taskdefs/Tar.java

+ 84
- 7
src/main/org/apache/tools/ant/taskdefs/Tar.java View File

@@ -91,6 +91,7 @@ public class Tar extends MatchingTask {


/** /**
* Add a new fileset with the option to specify permissions * Add a new fileset with the option to specify permissions
* @return the tar fileset to be used as the nested element.
*/ */
public TarFileSet createTarFileSet() { public TarFileSet createTarFileSet() {
TarFileSet fileset = new TarFileSet(); TarFileSet fileset = new TarFileSet();
@@ -101,6 +102,7 @@ public class Tar extends MatchingTask {


/** /**
* Set is the name/location of where to create the tar file. * Set is the name/location of where to create the tar file.
* @param tarFile the location of the tar file.
* @deprecated for consistency with other tasks, please use setDestFile() * @deprecated for consistency with other tasks, please use setDestFile()
*/ */
public void setTarfile(File tarFile) { public void setTarfile(File tarFile) {
@@ -118,6 +120,7 @@ public class Tar extends MatchingTask {


/** /**
* This is the base directory to look in for things to tar. * This is the base directory to look in for things to tar.
* @param baseDir the base directory.
*/ */
public void setBasedir(File baseDir) { public void setBasedir(File baseDir) {
this.baseDir = baseDir; this.baseDir = baseDir;
@@ -135,6 +138,7 @@ public class Tar extends MatchingTask {
* <li> gnu - GNU extensions are used for any paths greater than the maximum. * <li> gnu - GNU extensions are used for any paths greater than the maximum.
* <li> omit - paths greater than the maximum are omitted from the archive * <li> omit - paths greater than the maximum are omitted from the archive
* </ul> * </ul>
* @param mode the mode string to handle long files.
* @deprecated setLongFile(String) is deprecated and is replaced with * @deprecated setLongFile(String) is deprecated and is replaced with
* setLongFile(Tar.TarLongFileMode) to make Ant's Introspection * setLongFile(Tar.TarLongFileMode) to make Ant's Introspection
* mechanism do the work and also to encapsulate operations on * mechanism do the work and also to encapsulate operations on
@@ -159,6 +163,7 @@ public class Tar extends MatchingTask {
* <li> gnu - GNU extensions are used for any paths greater than the maximum. * <li> gnu - GNU extensions are used for any paths greater than the maximum.
* <li> omit - paths greater than the maximum are omitted from the archive * <li> omit - paths greater than the maximum are omitted from the archive
* </ul> * </ul>
* @param mode the mode to handle long file names.
*/ */
public void setLongfile(TarLongFileMode mode) { public void setLongfile(TarLongFileMode mode) {
this.longFileMode = mode; this.longFileMode = mode;
@@ -172,6 +177,7 @@ public class Tar extends MatchingTask {
* <li> gzip - Gzip compression * <li> gzip - Gzip compression
* <li> bzip2 - Bzip2 compression * <li> bzip2 - Bzip2 compression
* </ul> * </ul>
* @param mode the compression method.
*/ */
public void setCompression(TarCompressionMethod mode) { public void setCompression(TarCompressionMethod mode) {
this.compression = mode; this.compression = mode;
@@ -179,6 +185,7 @@ public class Tar extends MatchingTask {


/** /**
* do the business * do the business
* @throws BuildException on error
*/ */
public void execute() throws BuildException { public void execute() throws BuildException {
if (tarFile == null) { if (tarFile == null) {
@@ -298,6 +305,11 @@ public class Tar extends MatchingTask {


/** /**
* tar a file * tar a file
* @param file the file to tar
* @param tOut the output stream
* @param vPath the path name of the file to tar
* @param tarFileSet the fileset that the file came from.
* @throws IOException on error
*/ */
protected void tarFile(File file, TarOutputStream tOut, String vPath, protected void tarFile(File file, TarOutputStream tOut, String vPath,
TarFileSet tarFileSet) TarFileSet tarFileSet)
@@ -389,6 +401,9 @@ public class Tar extends MatchingTask {
} }


/** /**
* Is the archive up to date in relationship to a list of files.
* @param files the files to check
* @return true if the archive is up to date.
* @deprecated use the two-arg version instead. * @deprecated use the two-arg version instead.
*/ */
protected boolean archiveIsUpToDate(String[] files) { protected boolean archiveIsUpToDate(String[] files) {
@@ -396,6 +411,10 @@ public class Tar extends MatchingTask {
} }


/** /**
* Is the archive up to date in relationship to a list of files.
* @param files the files to check
* @param dir the base directory for the files.
* @return true if the archive is up to date.
* @since Ant 1.5.2 * @since Ant 1.5.2
*/ */
protected boolean archiveIsUpToDate(String[] files, File dir) { protected boolean archiveIsUpToDate(String[] files, File dir) {
@@ -407,6 +426,7 @@ public class Tar extends MatchingTask {


/** /**
* This is a FileSet with the option to specify permissions * This is a FileSet with the option to specify permissions
* and other attributes.
*/ */
public static class TarFileSet extends FileSet { public static class TarFileSet extends FileSet {
private String[] files = null; private String[] files = null;
@@ -420,17 +440,28 @@ public class Tar extends MatchingTask {
private String fullpath = ""; private String fullpath = "";
private boolean preserveLeadingSlashes = false; private boolean preserveLeadingSlashes = false;


/**
* Creates a new <code>TarFileSet</code> instance.
* Using a fileset as a constructor argument.
*
* @param fileset a <code>FileSet</code> value
*/
public TarFileSet(FileSet fileset) { public TarFileSet(FileSet fileset) {
super(fileset); super(fileset);
} }


/**
* Creates a new <code>TarFileSet</code> instance.
*
*/
public TarFileSet() { public TarFileSet() {
super(); super();
} }


/** /**
* Get a list of files and directories specified in the fileset. * Get a list of files and directories specified in the fileset.
* @return a list of file and directory names, relative to
* @param p the current project.
* @return a list of file and directory names, relative to
* the baseDir for the project. * the baseDir for the project.
*/ */
public String[] getFiles(Project p) { public String[] getFiles(Project p) {
@@ -451,12 +482,16 @@ public class Tar extends MatchingTask {
* A 3 digit octal string, specify the user, group and * A 3 digit octal string, specify the user, group and
* other modes in the standard Unix fashion; * other modes in the standard Unix fashion;
* optional, default=0644 * optional, default=0644
* @param octalString a 3 digit octal string.
*/ */
public void setMode(String octalString) { public void setMode(String octalString) {
this.fileMode = this.fileMode =
UnixStat.FILE_FLAG | Integer.parseInt(octalString, 8); UnixStat.FILE_FLAG | Integer.parseInt(octalString, 8);
} }


/**
* @return the current mode.
*/
public int getMode() { public int getMode() {
return fileMode; return fileMode;
} }
@@ -466,6 +501,7 @@ public class Tar extends MatchingTask {
* other modes in the standard Unix fashion; * other modes in the standard Unix fashion;
* optional, default=0755 * optional, default=0755
* *
* @param octalString a 3 digit octal string.
* @since Ant 1.6 * @since Ant 1.6
*/ */
public void setDirMode(String octalString) { public void setDirMode(String octalString) {
@@ -474,6 +510,7 @@ public class Tar extends MatchingTask {
} }


/** /**
* @return the current directory mode
* @since Ant 1.6 * @since Ant 1.6
*/ */
public int getDirMode() { public int getDirMode() {
@@ -484,11 +521,15 @@ public class Tar extends MatchingTask {
* The username for the tar entry * The username for the tar entry
* This is not the same as the UID, which is * This is not the same as the UID, which is
* not currently set by the task. * not currently set by the task.
* @param userName the user name for the tar entry.
*/ */
public void setUserName(String userName) { public void setUserName(String userName) {
this.userName = userName; this.userName = userName;
} }


/**
* @return the user name for the tar entry
*/
public String getUserName() { public String getUserName() {
return userName; return userName;
} }
@@ -497,11 +538,15 @@ public class Tar extends MatchingTask {
* The groupname for the tar entry; optional, default="" * The groupname for the tar entry; optional, default=""
* This is not the same as the GID, which is * This is not the same as the GID, which is
* not currently set by the task. * not currently set by the task.
* @param groupName the group name string.
*/ */
public void setGroup(String groupName) { public void setGroup(String groupName) {
this.groupName = groupName; this.groupName = groupName;
} }


/**
* @return the group name string.
*/
public String getGroup() { public String getGroup() {
return groupName; return groupName;
} }
@@ -510,11 +555,15 @@ public class Tar extends MatchingTask {
* If the prefix attribute is set, all files in the fileset * If the prefix attribute is set, all files in the fileset
* are prefixed with that path in the archive. * are prefixed with that path in the archive.
* optional. * optional.
* @param prefix the path prefix.
*/ */
public void setPrefix(String prefix) { public void setPrefix(String prefix) {
this.prefix = prefix; this.prefix = prefix;
} }


/**
* @return the path prefix for the files in the fileset.
*/
public String getPrefix() { public String getPrefix() {
return prefix; return prefix;
} }
@@ -524,11 +573,15 @@ public class Tar extends MatchingTask {
* is written with that path in the archive. The prefix attribute, * is written with that path in the archive. The prefix attribute,
* if specified, is ignored. It is an error to have more than one file specified in * if specified, is ignored. It is an error to have more than one file specified in
* such a fileset. * such a fileset.
* @param fullpath the path to use for the file in a fileset.
*/ */
public void setFullpath(String fullpath) { public void setFullpath(String fullpath) {
this.fullpath = fullpath; this.fullpath = fullpath;
} }


/**
* @return the path to use for a single file fileset.
*/
public String getFullpath() { public String getFullpath() {
return fullpath; return fullpath;
} }
@@ -537,11 +590,15 @@ public class Tar extends MatchingTask {
* Flag to indicates whether leading `/'s should * Flag to indicates whether leading `/'s should
* be preserved in the file names. * be preserved in the file names.
* Optional, default is <code>false</code>. * Optional, default is <code>false</code>.
* @param b the leading slashes flag.
*/ */
public void setPreserveLeadingSlashes(boolean b) { public void setPreserveLeadingSlashes(boolean b) {
this.preserveLeadingSlashes = b; this.preserveLeadingSlashes = b;
} }


/**
* @return the leading slashes flag.
*/
public boolean getPreserveLeadingSlashes() { public boolean getPreserveLeadingSlashes() {
return preserveLeadingSlashes; return preserveLeadingSlashes;
} }
@@ -553,40 +610,60 @@ public class Tar extends MatchingTask {
*/ */
public static class TarLongFileMode extends EnumeratedAttribute { public static class TarLongFileMode extends EnumeratedAttribute {


// permissible values for longfile attribute
public static final String WARN = "warn";
public static final String FAIL = "fail";
public static final String TRUNCATE = "truncate";
public static final String GNU = "gnu";
public static final String OMIT = "omit";
/** permissible values for longfile attribute */
public static final String
WARN = "warn",
FAIL = "fail",
TRUNCATE = "truncate",
GNU = "gnu",
OMIT = "omit";


private final String[] validModes = {WARN, FAIL, TRUNCATE, GNU, OMIT}; private final String[] validModes = {WARN, FAIL, TRUNCATE, GNU, OMIT};


/** Constructor, defaults to "warn" */
public TarLongFileMode() { public TarLongFileMode() {
super(); super();
setValue(WARN); setValue(WARN);
} }


/**
* @return the possible values for this enumerated type.
*/
public String[] getValues() { public String[] getValues() {
return validModes; return validModes;
} }


/**
* @return true if value is "truncate".
*/
public boolean isTruncateMode() { public boolean isTruncateMode() {
return TRUNCATE.equalsIgnoreCase(getValue()); return TRUNCATE.equalsIgnoreCase(getValue());
} }


/**
* @return true if value is "warn".
*/
public boolean isWarnMode() { public boolean isWarnMode() {
return WARN.equalsIgnoreCase(getValue()); return WARN.equalsIgnoreCase(getValue());
} }


/**
* @return true if value is "gnu".
*/
public boolean isGnuMode() { public boolean isGnuMode() {
return GNU.equalsIgnoreCase(getValue()); return GNU.equalsIgnoreCase(getValue());
} }


/**
* @return true if value is "fail".
*/
public boolean isFailMode() { public boolean isFailMode() {
return FAIL.equalsIgnoreCase(getValue()); return FAIL.equalsIgnoreCase(getValue());
} }


/**
* @return true if value is "omit".
*/
public boolean isOmitMode() { public boolean isOmitMode() {
return OMIT.equalsIgnoreCase(getValue()); return OMIT.equalsIgnoreCase(getValue());
} }


Loading…
Cancel
Save