You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2020/02/27 21:33:55 UTC
[archiva] 01/02: Adding leaf method
This is an automated email from the ASF dual-hosted git repository.
martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva.git
commit a34a59f9c35869909b2940894821f391b296a479
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Thu Feb 27 22:33:23 2020 +0100
Adding leaf method
---
.../org/apache/archiva/repository/storage/StorageAsset.java | 13 ++++++++++---
.../apache/archiva/repository/storage/FilesystemAsset.java | 10 ++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/archiva-modules/archiva-base/archiva-storage-api/src/main/java/org/apache/archiva/repository/storage/StorageAsset.java b/archiva-modules/archiva-base/archiva-storage-api/src/main/java/org/apache/archiva/repository/storage/StorageAsset.java
index 5e6b529..8209fcd 100644
--- a/archiva-modules/archiva-base/archiva-storage-api/src/main/java/org/apache/archiva/repository/storage/StorageAsset.java
+++ b/archiva-modules/archiva-base/archiva-storage-api/src/main/java/org/apache/archiva/repository/storage/StorageAsset.java
@@ -36,6 +36,7 @@ import java.util.List;
*
* The implementation may read the data directly from the filesystem or underlying storage implementation.
*
+ * @since 3.0
* @author Martin Stockhammer <ma...@apache.org>
*/
public interface StorageAsset
@@ -56,24 +57,30 @@ public interface StorageAsset
/**
* Returns the name of the asset. It may be just the filename.
- * @return
+ * @return the asset name
*/
String getName();
/**
* Returns the time of the last modification.
*
- * @return
+ * @return the time instant of the last modification
*/
Instant getModificationTime();
/**
* Returns true, if this asset is a container type and contains further child assets.
- * @return
+ * @return <code>true</code>, if this is a container type, otherwise <code>false</code>
*/
boolean isContainer();
/**
+ * Returns true, if this asset is a leaf node and cannot contain further childs
+ * @return <code>true</code>, if this is a leaf type, otherwise <code>false</code>
+ */
+ boolean isLeaf();
+
+ /**
* List the child assets.
*
* @return The list of children. If there are no children and if the asset is not a container, a empty list will be returned.
diff --git a/archiva-modules/archiva-base/archiva-storage-fs/src/main/java/org/apache/archiva/repository/storage/FilesystemAsset.java b/archiva-modules/archiva-base/archiva-storage-fs/src/main/java/org/apache/archiva/repository/storage/FilesystemAsset.java
index 271dc1e..2f501d6 100644
--- a/archiva-modules/archiva-base/archiva-storage-fs/src/main/java/org/apache/archiva/repository/storage/FilesystemAsset.java
+++ b/archiva-modules/archiva-base/archiva-storage-fs/src/main/java/org/apache/archiva/repository/storage/FilesystemAsset.java
@@ -257,6 +257,16 @@ public class FilesystemAsset implements StorageAsset, Comparable {
}
}
+ @Override
+ public boolean isLeaf( )
+ {
+ if (Files.exists( assetPath )) {
+ return Files.isRegularFile( assetPath );
+ } else {
+ return !directoryHint;
+ }
+ }
+
/**
* Returns the list of directory entries, if this asset represents a directory.
* Otherwise a empty list will be returned.