/* * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * * This file is part of jAPS software. * jAPS is a free software; * you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * */ package com.agiletec.plugins.jacms.aps.system.services.resource; import java.util.Collection; import java.util.List; import com.agiletec.plugins.jacms.aps.system.services.resource.model.ResourceInterface; import com.agiletec.plugins.jacms.aps.system.services.resource.model.ResourceRecordVO; /** * Interfaccia base per i Data Access Object * degli oggetti risorsa (AbstractResource). * @author E.Santoboni - W.Ambu */ public interface IResourceDAO { /** * Carica una risorsa nel db. * @param resource La risorsa da caricare nel db. */ public void addResource(ResourceInterface resource); /** * Aggiorna una risorsa nel database. * @param resource La risorsa da aggiornare nel db. */ public void updateResource(ResourceInterface resource); /** * Cancella una risorsa dal db. * @param id L'identificativo della risorsa da cancellare. */ public void deleteResource(String id); /** * Carica una lista di identificativi di risorse * in base al tipo, ad una parola chiave e dalla categoria della risorsa. * @param type Tipo di risorsa da cercare. * @param text Testo immesso per il raffronto con la descrizione della risorsa. null o * stringa vuota nel caso non si voglia ricercare le risorse per parola chiave. * @param categoryCode Il codice della categoria delle risorse. null o * stringa vuota nel caso non si voglia ricercare le risorse per categoria. * @param groupCodes I codici dei gruppi utenti consentiti tramite il quale * filtrare le risorse. Nel caso che la collezione di codici sia nulla o vuota, * non verrà eseguito la selezione per gruppi. * @return La lista di identificativi di risorse. */ public List<String> searchResourcesId(String type, String text, String categoryCode, Collection<String> groupCodes); /** * Carica una lista di identificativi di risorse * in base al tipo, ad una parola chiave e dalla categoria della risorsa. * @param type Tipo di risorsa da cercare. * @param text Testo immesso per il raffronto con la descrizione della risorsa. null o * stringa vuota nel caso non si voglia ricercare le risorse per parola chiave. * @param filename Testo immesso per il raffronto con il nome del file della risorsa. null o * stringa vuota nel caso non si voglia ricercare le risorse per nome file. * @param categoryCode Il codice della categoria delle risorse. null o * stringa vuota nel caso non si voglia ricercare le risorse per categoria. * @param groupCodes I codici dei gruppi utenti consentiti tramite il quale * filtrare le risorse. Nel caso che la collezione di codici sia nulla o vuota, * non verrà eseguito la selezione per gruppi. * @return La lista di identificativi di risorse. */ public List<String> searchResourcesId(String type, String text, String filename, String categoryCode, Collection<String> groupCodes); /** * Carica un record di risorse in funzione dell'idRisorsa. Questo record è * necessario per l'estrazione della risorse in oggetto tipo AbstractResource * da parte del ResourceManager. * @param id L'identificativo della risorsa. * @return Il record della risorsa. */ public ResourceRecordVO loadResourceVo(String id); }