Interface ContentGenerator

  • All Known Implementing Classes:
    AbstractContentGenerator

    public interface ContentGenerator
    Interface to support dynamic content generation. This was originally intended for generating metadata files when they aren't present on remote repositories. However, it's designed to accommodate all sorts of dynamic content.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean canProcess​(String path)
      Checks if this content generator processes the provided path.
      List<StoreResource> generateDirectoryContent​(org.commonjava.indy.model.core.ArtifactStore store, String path, List<StoreResource> existing, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Generate resources for any missing files that this generator can create.
      org.commonjava.maven.galley.model.Transfer generateFileContent​(org.commonjava.indy.model.core.ArtifactStore store, String path, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Generate dynamic content in the event it's not found in the ArtifactStore.
      List<StoreResource> generateGroupDirectoryContent​(org.commonjava.indy.model.core.Group group, List<org.commonjava.indy.model.core.ArtifactStore> members, String path, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Generate resources for merged group files that this generator can create.
      org.commonjava.maven.galley.model.Transfer generateGroupFileContent​(org.commonjava.indy.model.core.Group group, List<org.commonjava.indy.model.core.ArtifactStore> members, String path, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Generate dynamic content for a group.
      void handleContentDeletion​(org.commonjava.indy.model.core.ArtifactStore store, String path, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Tidy up any generated content associated with the deleted file
      void handleContentStorage​(org.commonjava.indy.model.core.ArtifactStore store, String path, org.commonjava.maven.galley.model.Transfer result, org.commonjava.maven.galley.event.EventMetadata eventMetadata)
      Tidy up any generated content associated with the stored file
    • Method Detail

      • generateFileContent

        org.commonjava.maven.galley.model.Transfer generateFileContent​(org.commonjava.indy.model.core.ArtifactStore store,
                                                                       String path,
                                                                       org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                                                                throws IndyWorkflowException
        Generate dynamic content in the event it's not found in the ArtifactStore. This is secondary to the main content retrieval logic, as a last effort to avoid returning a missing result.
        Throws:
        IndyWorkflowException
      • generateDirectoryContent

        List<StoreResource> generateDirectoryContent​(org.commonjava.indy.model.core.ArtifactStore store,
                                                     String path,
                                                     List<StoreResource> existing,
                                                     org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                                              throws IndyWorkflowException
        Generate resources for any missing files that this generator can create. This is meant to contribute to an existing directory listing, so the existing resources are given in order to allow the generator to determine whether a new resources is warranted.
        Throws:
        IndyWorkflowException
      • generateGroupFileContent

        org.commonjava.maven.galley.model.Transfer generateGroupFileContent​(org.commonjava.indy.model.core.Group group,
                                                                            List<org.commonjava.indy.model.core.ArtifactStore> members,
                                                                            String path,
                                                                            org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                                                                     throws IndyWorkflowException
        Generate dynamic content for a group. This is the PRIMARY form of group access, with secondary action being to attempt normal retrieval from one of the member stores.
        Throws:
        IndyWorkflowException
      • generateGroupDirectoryContent

        List<StoreResource> generateGroupDirectoryContent​(org.commonjava.indy.model.core.Group group,
                                                          List<org.commonjava.indy.model.core.ArtifactStore> members,
                                                          String path,
                                                          org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                                                   throws IndyWorkflowException
        Generate resources for merged group files that this generator can create.
        Throws:
        IndyWorkflowException
      • handleContentStorage

        void handleContentStorage​(org.commonjava.indy.model.core.ArtifactStore store,
                                  String path,
                                  org.commonjava.maven.galley.model.Transfer result,
                                  org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                           throws IndyWorkflowException
        Tidy up any generated content associated with the stored file
        Throws:
        IndyWorkflowException
      • handleContentDeletion

        void handleContentDeletion​(org.commonjava.indy.model.core.ArtifactStore store,
                                   String path,
                                   org.commonjava.maven.galley.event.EventMetadata eventMetadata)
                            throws IndyWorkflowException
        Tidy up any generated content associated with the deleted file
        Throws:
        IndyWorkflowException
      • canProcess

        boolean canProcess​(String path)
        Checks if this content generator processes the provided path.