package org.springframework.roo.addon.dto.addon; import org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetails; import org.springframework.roo.model.JavaType; import java.util.Collection; /** * = EntityProjectionLocator * * Locates RooEntityProjection within the user's project * * @author Sergio Clares * @since 2.0.0 */ public interface EntityProjectionLocator { /** * Returns the projections related the given domain type * * @param domainType the domain type for which to find the Projection * @return a non-`null` collection */ Collection<ClassOrInterfaceTypeDetails> getEntityProjectionsForEntity(final JavaType domainType); /** * Returns the projection metadata for the given projection. * * @param entityProjection the projection JavaType for which to find the * Projection metadata. * @return the EntityProjectionMetadata for the given projection or `null` if * the provided projection was `null`. */ EntityProjectionMetadata getEntityProjectionMetadata(final JavaType entityProjectionDetails); }