/** * */ package org.inbio.m3s.service; import java.util.List; import org.inbio.m3s.dto.message.KeywordDTO; import org.inbio.m3s.dto.message.MediaCategoryDTO; import org.inbio.m3s.dto.message.MediaTypeDTO; import org.inbio.m3s.dto.message.ProjectDTO; import org.inbio.m3s.dto.metadata.UsePolicyDTO; import org.inbio.m3s.dto.util.KeyValueDTO; import org.inbio.m3s.exception.KeywordNotFoundException; import org.inbio.m3s.exception.MediaTypeNotFoundException; import org.inbio.m3s.exception.ProjectNotFoundException; import org.inbio.m3s.exception.UsePolicyNotFoundException; /** * @author jgutierrez * */ public interface MessageManager { //locales public static String DEFAULT_LOCALE = "es"; public static String SPANISH_LOCALE = "es"; public static String ENGLISH_LOCALE = "en"; public static String PORTUGUES_LOCALE = "pt"; /** * * @param keywordName * @param locale * @return * @throws KeywordNotFoundException */ public KeywordDTO getKeywordLite(String keywordName, String locale) throws KeywordNotFoundException; /** * * @param locale * @return * @throws IllegalArgumentException */ public List<KeywordDTO> getAllKeywordLite(String locale) throws IllegalArgumentException; /** * Parsea el texto que viene del archivo excell, que tiene una estructura de * valores separados por ';' y devuelve una lista de objetos TextInfo. * * @param textualKeywords * String values separated by the default delimiter. (probably ';') * @return */ public List<KeywordDTO> getKeywordsFromStringList(String textualKeywords) throws KeywordNotFoundException; /** * * @return * @throws IllegalArgumentException */ public List<UsePolicyDTO> getAllUsePolicies() throws IllegalArgumentException; /** * * @param usePolicyKey * @return * @throws IllegalArgumentException */ public UsePolicyDTO getUsePolicy(String usePolicyKey) throws IllegalArgumentException; public UsePolicyDTO getUsePolicyByName(String usePolicyName) throws UsePolicyNotFoundException; /** * * @param mediaTypeKey * @return */ public MediaCategoryDTO getMediaCategoryByType(String mediaTypeKey); /** * * @return */ public List<MediaCategoryDTO> getAllMediaCategories(); /** * * @param mediaCategoryKey * @return * @throws IllegalArgumentException */ public MediaCategoryDTO getMediaCategory(String mediaCategoryKey) throws IllegalArgumentException; /** * * @return */ public List<MediaTypeDTO> getAllMediaTypes(); /** * * @param mediaTypeName * @return * @throws MediaTypeNotFoundException */ public MediaTypeDTO getMediaType(String mediaTypeKey); public MediaTypeDTO getMediaTypeByName(String mediaTypeName) throws MediaTypeNotFoundException; /** * * @return */ public ProjectDTO getProjectById(String projectKey); /** * * @return * @throws ProjectNotFoundException * */ public ProjectDTO getProjectByName(String projectName) throws ProjectNotFoundException; /** * * @return */ public List<ProjectDTO> getAllProjects(); /** * The parameter should be a lis of projects separated using * a delimiter defined in the StringUtil.getIndividualItems() method * * @param projects * @return */ public List<ProjectDTO> getProjectsFromStringList(String projects); /** * * @param mediaUseName * @param defaultLanguageKey * @return */ //public MediaUseDTO getMediaUseByNameAndLanguage(String mediaUseName, String defaultLanguageKey) throws MediaUseNotFoundException ; /** * The options for the associated to values * * @return */ public List<KeyValueDTO> getAllAssociatedToValues(); /** * * @return */ public List<KeyValueDTO> getAllMediaOwnerValues(); }