/** * $OpenXM: OpenXM/src/OpenMath/ORG/openxm/tam/CMO_LIST.java,v 1.3 2000/12/03 12:40:40 ohara Exp $ */ package ORG.openxm.tam; import java.io.*; /** * CMO 形式の LIST 型を表します. */ final public class CMO_LIST extends CMO{ private CMO ob[]; /** * CMO 配列 src を要素とする LIST を作成します. */ public CMO_LIST(CMO[] src){ ob = src; } /** * 要素を得ます. */ public CMO[] getElements(){ return ob; } public int DISCRIMINATOR(){ return CMO.LIST; } public boolean allowQ (int[] datacap) { if(CMO.allowQ_tag(datacap, DISCRIMINATOR())) { for (int j=0; j < ob.length; j++) { if (!ob[j].allowQ(datacap)) { return false; } } return true; } return false; } public void sendByObject(OpenXMstream os) throws IOException,MathcapViolation{ os.writeInt(ob.length); for(int i=0;i