package com.sap.sse.datamining; import java.util.Locale; import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutorService; import com.sap.sse.datamining.functions.Function; import com.sap.sse.datamining.functions.FunctionProvider; import com.sap.sse.datamining.i18n.DataMiningStringMessages; import com.sap.sse.datamining.impl.DataRetrieverChainDefinitionProvider; import com.sap.sse.datamining.shared.QueryDefinitionDTO; import com.sap.sse.datamining.shared.dto.FunctionDTO; public interface DataMiningServer { public ExecutorService getExecutorService(); public DataMiningStringMessages getStringMessages(); public FunctionProvider getFunctionProvider(); public Iterable> getAllStatistics(); public Iterable> getFunctionsFor(Class sourceType); public Iterable> getStatisticsFor(Class sourceType); public Iterable> getDimensionsFor(Class sourceType); public Iterable> getDimensionsFor(DataRetrieverChainDefinition dataRetrieverChainDefinition); /** * @return The first function, that matches the given DTO or null */ public Function getFunctionForDTO(FunctionDTO functionDTO); public DataRetrieverChainDefinitionProvider getDataRetrieverChainDefinitionProvider(); public Iterable> getDataRetrieverChainDefinitions( Class dataSourceType); public Iterable> getDataRetrieverChainDefinitions( Class dataSourceType, Class retrievedDataType); public DataRetrieverChainDefinition getDataRetrieverChainDefinition(UUID id); public QueryDefinition getQueryDefinitionForDTO(QueryDefinitionDTO queryDefinitionDTO); public Query> createDimensionValuesQuery(DataSource dataSource, DataRetrieverChainDefinition dataRetrieverChainDefinition, int retrieverLevel, Iterable> dimensions, Locale locale); public Query createQuery(DataSource dataSource, QueryDefinition queryDefinition); }