001: /*
002: * SalomeTMF is a Test Management Framework
003: * Copyright (C) 2005 France Telecom R&D
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
018: *
019: * @author Marche Mikael
020: *
021: * Contact: mikael.marche@rd.francetelecom.com
022: */
023:
024: package org.objectweb.salome_tmf.api.sql;
025:
026: import java.io.BufferedInputStream;
027: import java.rmi.Remote;
028: import java.sql.Date;
029:
030: import org.objectweb.salome_tmf.api.data.SalomeFileWrapper;
031:
032: public interface ISQLFileAttachment extends ISQLAttachment, Remote {
033: /**
034: * Insert an attachment as file in the table ATTACHEMENT
035: * @param f
036: * @param description
037: * @throws Exception
038: * @return the id of the new attached file
039: * no permission needed
040: */
041: public int insert(SalomeFileWrapper f, String description)
042: throws Exception;
043:
044: /**
045: * Update the file in database table ATTACHEMENT, this include the update of content, date and length
046: * @param idBdd : id of the file in the table ATTACHEMENT
047: * @param file : the salome file representing the new content
048: * @throws Exception
049: * no permission needed
050: */
051: public void updateFile(int idBdd, SalomeFileWrapper file)
052: throws Exception;
053:
054: /**
055: * Update the file name of the attachements identified by idBdd
056: * @param idBdd
057: * @param name : the new name
058: * @throws Exception
059: * no permission needed
060: */
061: public void updateFileName(int idBdd, String name) throws Exception;
062:
063: /**
064: * Change the content of an existing file in the database
065: * @param idBdd : id of the file in the table ATTACHMENT
066: * @param fileContent : the new content
067: * @throws Exception
068: * no permission needed
069: */
070: public void updateFileContent(int idBdd, byte[] fileContent)
071: throws Exception;
072:
073: /**
074: * Change the date of the file in the database
075: * @param idBdd : id of the file in the table ATTACHMENT
076: * @param date : the new date
077: * @throws Exception
078: * no permission needed
079: */
080: public void updateFileDate(int idBdd, Date date) throws Exception;
081:
082: /**
083: * Change the length of the file in the database
084: * @param idBdd : id of the file in the table ATTACHMENT
085: * @param length : the new length
086: * no permission needed
087: */
088: public void updateFileLength(int idBdd, long length)
089: throws Exception;
090:
091: /**
092: * Get the file on local disk (at path specified) for the attachment identified by idBdd
093: * @param idBdd : id of the file in the table ATTACHMENT
094: * @param path
095: * @return the salome file object representing localy the file
096: * @throws Exception
097: */
098: //public SalomeFileWrapper getFile(int idBdd) throws Exception ;
099: /**
100: * Get the file on local disk for the attachment identified by idBdd
101: * @param idBdd : id of the file in the table ATTACHMENT
102: * @return the salome file object representing localy the file
103: * no permission needed
104: */
105: public SalomeFileWrapper getFile(int idBdd) throws Exception;
106:
107: /**
108: * Get the file on local disk (at path specified) for the attachment identified by idBdd
109: * @param idBdd : id of the file in the table ATTACHMENT
110: * @param file;
111: * @return the salome file object representing localy the file
112: * @throws Exception
113: */
114: public SalomeFileWrapper getFileIn(int idBdd, SalomeFileWrapper file)
115: throws Exception;
116: }
|