/* * XoneClassDef.java * */ package test; import com.fiverworks.xone.model.*; import com.fiverworks.xone.mw.*; import com.fiverworks.xone.*; public class XoneClassDef { private MwMain mwMain; private void login() { mwMain = new MwMain(); try { mwMain.login("name", "password".toCharArray()); } catch (XoneException ex) { ex.printStackTrace(); } } private void defineClass() { login(); try { // エレメントの定義 XoneElement xe1 = new XoneElement("価格", XoneModel.INT); XoneElement xe2 = new XoneElement("CPU名", XoneModel.STRING); XoneElement xe3 = new XoneElement("メモリ", XoneModel.INT); // 制約式(エレメントリスト)の定義 XoneElementList xel = new XoneElementList(XoneClass.RESTRICTION_LIST); XoneElement r1 = new XoneElement("価格", XoneModel.STRING, "#価格 >= 100000;"); XoneElement r2 = new XoneElement("メモリ", XoneModel.STRING, "#メモリ >= 512 && (#メモリ - 512) % 256 == 0;"); xel.add(r1); xel.add(r2); // クラスを生成 XoneClass xc = XoneModel.newXoneClass("PC", new XoneElement[]{xe1, xe2, xe3}, new XoneElementList[]{xel}); // 保存 mwMain.save("root/classes", new XoneObject[]{xc}); } catch (XoneRuntimeException ex) { ex.printStackTrace(); } finally { if (mwMain.isLogin()) mwMain.logout(); } } public static void main(String[] args) { new XoneClassDef().defineClass(); } }