View Javadoc

1   /*
2   Wotonomy: OpenStep design patterns for pure Java applications.
3   Copyright (C) 2002 Israfil consulting Services Corporation
4   
5   This library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9   
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  Lesser General Public License for more details.
14  
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, see http://www.gnu.org
17  
18  $Id: NSCoder.java 893 2006-02-16 13:22:23 +0000 (Thu, 16 Feb 2006) cgruber $
19  
20  */
21  
22  package net.wotonomy.foundation;
23  
24  import java.io.InputStream;
25  import java.io.OutputStream;
26  
27  /***
28  * A class that defines a simple encode/decode paradigm.  Subclasses
29  * would handle the target format.
30  *
31  * @author cgruber@israfil.net
32  * @author $Author: cgruber $
33  * @version $Revision: 893 $
34  */
35  
36  public abstract class NSCoder {
37  
38      public NSCoder() {
39      }
40  
41      public abstract void encodeBoolean(boolean flag);
42  
43      public abstract void encodeByte(byte byte0);
44  
45      public abstract void encodeBytes(byte abyte0[]);
46  
47      public abstract void encodeChar(char c);
48  
49      public abstract void encodeShort(short word0);
50  
51      public abstract void encodeInt(int i);
52  
53      public abstract void encodeLong(long l);
54  
55      public abstract void encodeFloat(float f);
56  
57      public abstract void encodeDouble(double d);
58  
59      public abstract void encodeObject(Object obj);
60  
61      public abstract void encodeClass(Class class1);
62  
63      public abstract void encodeObjects(Object aobj[]);
64  
65      public abstract boolean decodeBoolean();
66  
67      public abstract byte decodeByte();
68  
69      public abstract byte[] decodeBytes();
70  
71      public abstract char decodeChar();
72  
73      public abstract short decodeShort();
74  
75      public abstract int decodeInt();
76  
77      public abstract long decodeLong();
78  
79      public abstract float decodeFloat();
80  
81      public abstract double decodeDouble();
82  
83      public abstract Object decodeObject();
84  
85      public abstract Class decodeClass();
86  
87      public abstract Object[] decodeObjects();
88  
89      public void prepareForWriting(OutputStream outputstream) {
90      }
91  
92      public void prepareForReading(InputStream inputstream) {
93      }
94  
95      public void finishCoding() {
96      }
97  
98  }
99  /*
100  * $Log$
101  * Revision 1.2  2006/02/16 13:15:00  cgruber
102  * Check in all sources in eclipse-friendly maven-enabled packages.
103  *
104  * Revision 1.1  2002/07/14 21:56:16  mpowers
105  * Contributions from cgruber.
106  *
107  * Revision 1.2  2002/06/25 19:03:02  cgruber
108  * Internal documentation fixes.
109  *
110  * Revision 1.1  2002/06/25 07:52:57  cgruber
111  * Add quite a few abstract classes, interfaces, and classes.  All API consistent with WebObjects, but with no implementation, nor any private or package access members from the original.
112  *
113  */