1 package charactermanaj.ui.model;
\r
3 import java.awt.image.BufferedImage;
\r
5 import java.util.logging.Level;
\r
6 import java.util.logging.Logger;
\r
8 import charactermanaj.graphics.io.ImageResource;
\r
9 import charactermanaj.ui.Wallpaper;
\r
10 import charactermanaj.ui.model.WallpaperInfo.WallpaperResourceType;
\r
13 * 壁紙オブジェクトの構築に回復しながら継続するためのハンドラ.<br>
\r
16 public class WallpaperFactoryErrorRecoverHandler implements WallpaperFactory.ErrorHandler {
\r
18 protected static final Logger logger = Logger.getLogger(WallpaperFactoryErrorRecoverHandler.class.getName());
\r
20 private boolean errorOccured = false;
\r
22 private boolean recovered = false;
\r
25 * 何らかのエラーが発生し回復できなかった場合
\r
28 public boolean isErrorOccured() {
\r
29 return errorOccured;
\r
33 * 何らかのエラーが発生したが回復された場合
\r
36 public boolean isRecovered() {
\r
40 public void setErrorOccured(boolean errorOccured) {
\r
41 this.errorOccured = errorOccured;
\r
44 public void setRecovered(boolean recovered) {
\r
45 this.recovered = recovered;
\r
48 public File missingImageFile(WallpaperInfo wallpaperInfo, File file)
\r
49 throws WallpaperFactoryException {
\r
51 logger.log(Level.FINE, "壁紙ファイルの指定がありません.");
\r
53 logger.log(Level.WARNING, "壁紙ファイルが存在しないか読み込みできません:" + file);
\r
56 // ファイルは、もとより指定されていなかったものとして回復する.
\r
57 wallpaperInfo.setType(WallpaperResourceType.NONE);
\r
62 public BufferedImage imageCreationFailed(WallpaperInfo wallpaperInfo,
\r
63 ImageResource imageResource, Throwable ex)
\r
64 throws WallpaperFactoryException {
\r
65 logger.log(Level.WARNING, "壁紙ファイルの読み込みに失敗しました。:" + imageResource, ex);
\r
67 // ファイルは、もとより指定されていなかったものとして回復する.
\r
68 wallpaperInfo.setType(WallpaperResourceType.NONE);
\r
73 public Wallpaper internalError(WallpaperInfo wallpaperInfo,
\r
74 Wallpaper wallpaper, Throwable ex) throws WallpaperFactoryException {
\r
75 logger.log(Level.WARNING, "壁紙の構築に失敗しました。" + wallpaperInfo, ex);
\r
76 setErrorOccured(true);
\r
77 throw new WallpaperFactoryException("internal error: " + ex, ex);
\r