001package org.opengion.hayabusa.io; 002 003import java.io.InputStream; 004import java.util.Map; 005 006import jakarta.servlet.http.HttpSession; 007 008/** 009 * クラウドストレージ操作用のインターフェイス。 010 * 011 * 継承クラスのコンストラクターはコンテナ名とHTTPセッションを持たせます。 012 * 013 * @og.group 014 * @og.rev 5.9.25.0 (2017/10/06) 新規作成 015 * 016 * @version 5.0 017 * @author T.OTA 018 * @since JDK7.0 019 */ 020public interface StorageAPI { 021 /** 022 * トークンキー 023 */ 024 String SESSION_CLOUD_TOKEN = "SESSION_CLOUD_TOKEN"; // 7.2.9.4 (2020/11/20) public static final 025 026 /** 027 * ファイル情報に格納されている値 028 * サイズ 029 */ 030 String FILEINFO_SIZE = "SIZE"; // 7.2.9.4 (2020/11/20) public static final 031 032 /** 033 * 最終更新時刻 034 */ 035 String FILEINFO_LASTMODIFIED = "LASTMODIFIED"; // 7.2.9.4 (2020/11/20) public static final 036 037 /** 038 * 削除。 039 * 040 * @param filePath 削除ファイルのパス 041 * @param hsession セッション 042 */ 043 void delete(String filePath, HttpSession hsession); 044 045 /** 046 * コピー。 047 * 048 * @param oldFilePath コピー元ファイルパス 049 * @param newFilePath コピー先ファイルパス 050 * @param hsession セッション 051 */ 052 void copy(String oldFilePath, String newFilePath, HttpSession hsession); 053 054 /** 055 * ダウンロード。 056 * 057 * @param filePath ダウンロード対象のファイルパス 058 * @param hsession セッション 059 * @return ストリーム 060 */ 061 InputStream get(String filePath, HttpSession hsession); 062 063 /** 064 * アップロード。 065 * 066 * @param partInputStream アップロード対象のストリーム 067 * @param updFolder アップロードフォルタ名 068 * @param updFileName アップロードファイル名 069 * @param hsession セッション 070 */ 071 void add(InputStream partInputStream, String updFolder, String updFileName, HttpSession hsession); 072 073 /** 074 * ファイル名変更。 075 * 076 * @param fileUrl ファイルパス 077 * @param oldFileName 変更前ファイル名 078 * @param newFileName 変更後ファイル名 079 * @param useBackup 変更後ファイル名が既に存在する場合のバックアップ作成フラグ 080 * @param session セッション 081 */ 082 void rename(String fileUrl, String oldFileName, String newFileName, final boolean useBackup, HttpSession session); 083 084 /** 085 * ファイル一覧取得。 086 * 087 * @param startsWith パスの前方一致 088 * @param hsession セッション 089 * @return ファイルパス一覧 090 */ 091 String[] list(String startsWith, HttpSession hsession); 092 093 /** 094 * ファイル存在チェック。 095 * 096 * @param path ファイルパス 097 * @param hsession セッション 098 * @return true:存在 false:存在しない 099 */ 100 boolean exists(String path, HttpSession hsession); 101 102 /** 103 * ファイル情報取得。 104 * 105 * @param path ファイルパス 106 * @param hsession セッション 107 * @return ファイル情報格納Map 108 */ 109 Map<String,String> getInfo(String path, HttpSession hsession); 110}