org.infinispan.factories.components.ModuleMetadataFileFinder Maven / Gradle / Ivy
package org.infinispan.factories.components;
import org.infinispan.factories.annotations.Inject;
import org.infinispan.factories.annotations.Start;
import org.infinispan.factories.annotations.Stop;
/**
* This interface should be implemented by all Infinispan modules that expect to have components using {@link Inject},
* {@link Start} or {@link Stop} annotations. The metadata file is generated at build time and packaged in the module's
* corresponding jar file (see Infinispan's core
module pom.xml
for an example of this).
*
* Module component metadata is usually generated in a file titled ${module-name}-component-metadata.dat
and
* typically resides in the root of the module's jar file.
*
* For example, Infinispan's Query Module would implement this interface to return infinispan-query-component-metadata.dat
.
*
* Implementations of this interface are discovered using the JDK's {@link java.util.ServiceLoader} utility. Which means
* modules would also have to package a file called org.infinispan.factories.components.ModuleMetadataFileFinder
* in the META-INF/services/
folder in their jar, and this file would contain the fully qualified class name
* of the module's implementation of this interface.
*
* Please see Infinispan's query module for an example of this.
*
* @author Manik Surtani
* @since 5.1
*/
public interface ModuleMetadataFileFinder {
String getMetadataFilename();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy