add getLastModifiedDate to ArchiveEntry - implement it assuming cpio and ar use seconds since epoch for their time values
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/compress/trunk@799879 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/compress/archivers/ArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/ArchiveEntry.java
index 2ee84af..ecab9f5 100644
--- a/src/main/java/org/apache/commons/compress/archivers/ArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/ArchiveEntry.java
@@ -18,6 +18,8 @@
*/
package org.apache.commons.compress.archivers;
+import java.util.Date;
+
/**
* Represents an entry of an archive.
*/
@@ -34,4 +36,7 @@
/** True if the entry refers to a directory */
public boolean isDirectory();
+
+ /** The last modified date of the entry */
+ public Date getLastModifiedDate();
}
diff --git a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java
index 8ce8f26..871faaa 100644
--- a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveEntry.java
@@ -19,6 +19,7 @@
package org.apache.commons.compress.archivers.ar;
import java.io.File;
+import java.util.Date;
import org.apache.commons.compress.archivers.ArchiveEntry;
@@ -111,6 +112,11 @@
return lastModified;
}
+ /** {@inheritDocs} */
+ public Date getLastModifiedDate() {
+ return new Date(1000 * getLastModified());
+ }
+
public long getLength() {
return length;
}
diff --git a/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveEntry.java
index cb506de..e8adfb6 100644
--- a/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveEntry.java
@@ -19,6 +19,7 @@
package org.apache.commons.compress.archivers.cpio;
import java.io.File;
+import java.util.Date;
import org.apache.commons.compress.archivers.ArchiveEntry;
@@ -492,6 +493,11 @@
return this.mtime;
}
+ /** {@inheritDocs} */
+ public Date getLastModifiedDate() {
+ return new Date(1000 * getTime());
+ }
+
/**
* Get the user id.
*
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
index bc8a098..71ddeb6 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
@@ -463,6 +463,11 @@
return new Date(modTime * MILLIS_PER_SECOND);
}
+ /** {@inheritDocs} */
+ public Date getLastModifiedDate() {
+ return getModTime();
+ }
+
/**
* Get this entry's file.
*
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
index b20eb4b..d737ec2 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
@@ -18,6 +18,7 @@
package org.apache.commons.compress.archivers.zip;
import java.io.File;
+import java.util.Date;
import java.util.LinkedHashMap;
import java.util.zip.ZipException;
import org.apache.commons.compress.archivers.ArchiveEntry;
@@ -391,6 +392,11 @@
}
}
+ /** {@inheritDocs} */
+ public Date getLastModifiedDate() {
+ return new Date(getTime());
+ }
+
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
diff --git a/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveEntry.java b/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveEntry.java
index b71b900..ef527b1 100644
--- a/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveEntry.java
+++ b/src/test/java/org/apache/commons/compress/archivers/memory/MemoryArchiveEntry.java
@@ -18,6 +18,7 @@
*/
package org.apache.commons.compress.archivers.memory;
+import java.util.Date;
import org.apache.commons.compress.archivers.ArchiveEntry;
public final class MemoryArchiveEntry implements ArchiveEntry {
@@ -42,4 +43,8 @@
return false;
}
+ /** {@inheritDocs} */
+ public Date getLastModifiedDate() {
+ return new Date();
+ }
}