| package org.apache.yoko.rmi.impl; |
| |
| import java.io.Externalizable; |
| import java.io.IOException; |
| import java.io.InvalidObjectException; |
| import java.io.ObjectInputValidation; |
| import java.rmi.Remote; |
| import java.security.AccessController; |
| import java.security.PrivilegedAction; |
| import java.util.logging.Logger; |
| |
| import org.omg.CORBA.portable.IndirectionException; |
| |
| class ClosedObjectReader extends ObjectReader { |
| private static final Logger LOGGER = Logger.getLogger(ClosedObjectReader.class.getName()); |
| public static final ClosedObjectReader INSTANCE = AccessController.doPrivileged(new PrivilegedAction<ClosedObjectReader>() { |
| @Override |
| public ClosedObjectReader run() { |
| try { |
| return new ClosedObjectReader(); |
| } catch (IOException e) { |
| LOGGER.severe("Unable to create ClosedObjectInputStream singleton instance: " + e); |
| return null; |
| } |
| } |
| }); |
| |
| private ClosedObjectReader() throws IOException { |
| } |
| |
| private IllegalStateException newException() { |
| return new IllegalStateException("Stream already closed"); |
| } |
| |
| public void close() { |
| } |
| |
| ////////////////////////////////////// |
| // ONLY DELEGATE METHODS BELOW HERE // |
| ////////////////////////////////////// |
| |
| public int read(byte[] b) { |
| throw newException(); |
| } |
| public long skip(long n) { |
| throw newException(); |
| } |
| public void mark(int readlimit) { |
| throw newException(); |
| } |
| public void reset() { |
| throw newException(); |
| } |
| public boolean markSupported() { |
| throw newException(); |
| } |
| public Object readUnshared() { |
| throw newException(); |
| } |
| public void defaultReadObject() { |
| throw newException(); |
| } |
| public GetField readFields() { |
| throw newException(); |
| } |
| public void registerValidation(ObjectInputValidation obj, int prio) { |
| throw newException(); |
| } |
| public int read() { |
| throw newException(); |
| } |
| public int read(byte[] buf, int off, int len) { |
| throw newException(); |
| } |
| public int available() { |
| throw newException(); |
| } |
| public boolean readBoolean() { |
| throw newException(); |
| } |
| public byte readByte() { |
| throw newException(); |
| } |
| public int readUnsignedByte() { |
| throw newException(); |
| } |
| public char readChar() { |
| throw newException(); |
| } |
| public short readShort() { |
| throw newException(); |
| } |
| public int readUnsignedShort() { |
| throw newException(); |
| } |
| public int readInt() { |
| throw newException(); |
| } |
| public long readLong() { |
| throw newException(); |
| } |
| public float readFloat() { |
| throw newException(); |
| } |
| public double readDouble() { |
| throw newException(); |
| } |
| public void readFully(byte[] buf) { |
| throw newException(); |
| } |
| public void readFully(byte[] buf, int off, int len) { |
| throw newException(); |
| } |
| public int skipBytes(int len) { |
| throw newException(); |
| } |
| public String readLine() { |
| throw newException(); |
| } |
| public String readUTF() { |
| throw newException(); |
| } |
| |
| // ObjectReader methods |
| |
| void _startValue() { |
| throw newException(); |
| } |
| void _endValue() { |
| throw newException(); |
| } |
| void setCurrentValueDescriptor(ValueDescriptor desc) { |
| throw newException(); |
| } |
| Object readAbstractObject() { |
| throw newException(); |
| } |
| Object readAny() { |
| throw newException(); |
| } |
| Object readValueObject() { |
| throw newException(); |
| } |
| Object readValueObject(Class<?> clz) { |
| throw newException(); |
| } |
| org.omg.CORBA.Object readCorbaObject(Class<?> type) { |
| throw newException(); |
| } |
| Remote readRemoteObject(Class<?> type) { |
| throw newException(); |
| } |
| void readExternal(Externalizable ext) { |
| throw newException(); |
| } |
| |
| @Override |
| protected final Object readObjectOverride() { |
| throw newException(); |
| } |
| } |