/* * XoneFacade.java * */ package xone_sample.echo; import com.fiverworks.xone.XoneException; import com.fiverworks.xone.model.XoneObject; import com.fiverworks.xone.mw.Commands; import com.fiverworks.xone.mw.MwMain; import java.util.Arrays; public final class XoneFacade { private static MwMain mwMain; private static final String TEXT_FILE_CLASS = "root/classes/TextFile"; private static final String INSTANCES_FOLDER = "root/instances"; // private static XoneClass textFileClass; // インスタンス生成を禁止 private XoneFacade() {} /** Creates a new instance of XoneMwFacade */ public static void init() throws XoneException { mwMain = new MwMain(); mwMain.login("xone", "eagle".toCharArray()); // 今回のサンプルではクラスは必要ない // XoneObject[] xos = mwMain.load(new String[]{TEXT_FILE_CLASS}); // if (xos == null || xos.length != 1) throw new XoneException(TEXT_FILE_CLASS + "クラスが見つかりません"); // textFileClass = (XoneClass)xos[0]; } public static XoneObject[] getList() { // root/instancesフォルダからクラス名がroot/classes/TextFileであるオブジェクトをロード XoneObject[] xos = mwMain.load(INSTANCES_FOLDER, MwMain.CLASSNAME_FIELD + "='" + TEXT_FILE_CLASS + "'"); // オブジェクト名でソート Arrays.sort(xos); return xos; } // オブジェクトを上書き保存する public static void save(XoneObject xo) { mwMain.save(INSTANCES_FOLDER, new XoneObject[]{xo}, Commands.OVERWRITE); } public static void shutdown() { if (mwMain.isLogin()) mwMain.logout(); } }