[BACK]Return to CMO_STRING.java CVS log [TXT][DIR] Up to [local] / OpenXM / src / OpenMath / ORG / openxm / tam

Annotation of OpenXM/src/OpenMath/ORG/openxm/tam/CMO_STRING.java, Revision 1.2

1.1       tam         1: /**
1.2     ! tam         2:  * $OpenXM: OpenXM/src/OpenMath/ORG/openxm/tam/CMO_STRING.java,v 1.1 2000/09/12 07:05:07 tam Exp $
1.1       tam         3:  */
                      4: package ORG.openxm.tam;
                      5:
                      6: import java.io.*;
                      7:
                      8: /**
                      9:  * CMO $B7A<0$N(B STRING $B7?$rI=$7$^$9(B.
                     10:  */
                     11: final public class CMO_STRING extends CMO{
                     12:   private String str = null;
                     13:
                     14:   /**
                     15:    * $B6uJ8;zNs$rFbMF$H$9$k(B STRING $B$r:n@.$7$^$9(B.
                     16:    */
                     17:   public CMO_STRING(){
                     18:     str = null;
                     19:   }
                     20:
                     21:   /**
                     22:    * $BJ8;zNs(B a $B$rFbMF$H$9$k(B STRING $B$r:n@.$7$^$9(B.
                     23:    */
                     24:   public CMO_STRING(String a){
                     25:     str = a;
                     26:   }
                     27:
                     28:   /**
                     29:    * $BFbMF$NJ8;zNs$rF@$^$9(B.
                     30:    */
                     31:   public String getString(){
                     32:     return str;
                     33:   }
                     34:
                     35:   public int DISCRIMINATOR(){
                     36:     return CMO.STRING;
                     37:   }
                     38:
1.2     ! tam        39:   protected void sendByObject(OpenXMstream os) throws IOException{
1.1       tam        40:     byte[] buf = str.getBytes();
                     41:
                     42:     os.writeInt(buf.length);
                     43:     for(int i=0;i<buf.length;i++){
                     44:       os.writeByte(buf[i]);
                     45:     }
                     46:   }
                     47:
1.2     ! tam        48:   static protected CMO receive(OpenXMstream is) throws IOException{
1.1       tam        49:     int len;
                     50:     byte[] buf=null;
                     51:
                     52:     len=is.readInt();
                     53:     if(len==0){
                     54:       return new CMO_STRING("");
                     55:     }
                     56:
                     57:     buf = new byte[len];
                     58:     for(int i=0;i<len;i++){
                     59:       buf[i] = is.readByte();
                     60:     }
                     61:
                     62:     return new CMO_STRING(new String(buf));
                     63:   }
                     64:
                     65:   protected String toCMOexpressionByObject(){
                     66:     return "CMO_STRING,"+ str.length() +","+ str;
                     67:   }
                     68: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>