Return to CMO_INDETERMINATE.java CVS log | Up to [local] / OpenXM / src / OpenMath / ORG / openxm / tam |
File: [local] / OpenXM / src / OpenMath / ORG / openxm / tam / CMO_INDETERMINATE.java (download)
Revision 1.3, Sun Dec 3 12:40:40 2000 UTC (23 years, 9 months ago) by ohara
allowQ() methods are added. In order to prevent a MathcapViolation, we must inspect a CMObject by allowQ() before sending it to OXstream. |
/** * $OpenXM: OpenXM/src/OpenMath/ORG/openxm/tam/CMO_INDETERMINATE.java,v 1.3 2000/12/03 12:40:40 ohara Exp $ */ package ORG.openxm.tam; import java.io.*; /** * CMO $B7A<0$N(B INDETERMINATE $B7?$rI=$7$^$9(B. */ final public class CMO_INDETERMINATE extends CMO{ private CMO_STRING variable; /** * $BJQ?tL>(B str $B$H$J$k(B INDETERMINATE $B$r:n@.$7$^$9(B. */ public CMO_INDETERMINATE(String str){ variable = new CMO_STRING(str); } /** * $BJQ?tL>$rF@$^$9(B. */ public String getString(){ return variable.getString(); } public int DISCRIMINATOR(){ return CMO.INDETERMINATE; } public boolean allowQ (int[] datacap) { return CMO.allowQ_tag(datacap, DISCRIMINATOR()) && variable.allowQ(datacap); } public void sendByObject(OpenXMstream os) throws IOException,MathcapViolation{ variable.write(os); } static protected CMO receive(OpenXMstream is) throws IOException{ CMO_STRING variable; CMO tmp; tmp = CMO.receive(is); if(!(tmp instanceof CMO_STRING)){ System.err.println("not CMOobject"); } variable = (CMO_STRING)tmp; return new CMO_INDETERMINATE(variable.getString()); } public String toCMOexpressionByObject(){ return "CMO_INDETERMINATE,"+ variable.toCMOexpression(); } }