package org.springframework.roo.addon.layers.repository.jpa.addon.finder; import java.util.SortedSet; import org.springframework.roo.model.JavaSymbolName; import org.springframework.roo.model.JavaType; /** * Provides Finder add-on operations. * * @author Ben Alex * @author Sergio Clares * @since 1.0 */ public interface FinderOperations { /** * Creates a finder in an entity repository. * * @param typeName the entity for which the finders are generated. * @param finderName the finder string defined as a Spring Data query * @param formBean the finder's search parameter. Should be a DTO. * @param returnType the finder's results return type. Should be a Projection. */ void installFinder(JavaType typeName, JavaSymbolName finderName, JavaType formBean, JavaType returnType); boolean isFinderInstallationPossible(); SortedSet<String> listFindersFor(JavaType typeName, Integer depth); }