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 b804db659977514037ea19b2cc473fcba9701a67
Author: Martin Stockhammer <[email protected]>
AuthorDate: Sat Jun 13 14:03:27 2020 +0200

    Adding layout method
---
 .../org/apache/archiva/repository/ManagedRepositoryContent.java  | 6 ++++++
 .../archiva/repository/ManagedRepositoryContentLayout.java       | 1 +
 .../maven/content/ManagedDefaultRepositoryContent.java           | 9 +++++++++
 3 files changed, 16 insertions(+)

diff --git 
a/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContent.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContent.java
index f4ad5af..4c06dab 100644
--- 
a/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContent.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContent.java
@@ -193,4 +193,10 @@ public interface ManagedRepositoryContent extends 
RepositoryContent
      * @return <code>true</code>, if the layout is supported, otherwise 
<code>false</code>
      */
     <T extends ManagedRepositoryContentLayout> boolean supportsLayout(Class<T> 
clazz);
+
+    /**
+     * Returns a list of supported layout classes
+     * @return
+     */
+    List<Class<? extends ManagedRepositoryContentLayout>> getSupportedLayouts( 
);
 }
diff --git 
a/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContentLayout.java
 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContentLayout.java
index 3bc4736..d53743d 100644
--- 
a/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContentLayout.java
+++ 
b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContentLayout.java
@@ -48,4 +48,5 @@ public interface ManagedRepositoryContentLayout
      * @throws LayoutException if the conversion is not possible
      */
     <T extends ContentItem> T adaptItem( Class<T> clazz, ContentItem item ) 
throws LayoutException;
+
 }
diff --git 
a/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java
 
b/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java
index b66207d..72dc336 100644
--- 
a/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java
+++ 
b/archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java
@@ -65,6 +65,7 @@ import java.net.URI;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -120,6 +121,8 @@ public class ManagedDefaultRepositoryContent
 
     public static final Pattern GENERIC_SNAPSHOT_PATTERN = Pattern.compile( 
"^(.*)-" + SNAPSHOT );
 
+    private static final List<Class<? extends ManagedRepositoryContentLayout>> 
LAYOUTS = Arrays.asList( BaseRepositoryContentLayout.class );
+
     /**
      * We are caching content items in a weak reference map. To avoid always 
recreating the
      * the hierarchical structure.
@@ -1461,6 +1464,12 @@ public class ManagedDefaultRepositoryContent
         return clazz.isAssignableFrom( this.getClass( ) );
     }
 
+    @Override
+    public List<Class<? extends ManagedRepositoryContentLayout>> 
getSupportedLayouts( )
+    {
+        return LAYOUTS;
+    }
+
     /**
      * Moves the file to the artifact destination
      */

Reply via email to