private void readObject(java.io.ObjectInputStream in)
                    throws IOException, ClassNotFoundException
    {
        final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
        if (isTraceOn && tc.isEntryEnabled())
            Tr.entry(tc, "readObject");

        in.defaultReadObject();

        // Read in eye catcher.
        byte[] eyeCatcher = new byte[EYECATCHER.length];

        // Insure that all of the bytes have been read.
        int bytesRead = 0;
        for (int offset = 0; offset < EYECATCHER.length; offset += bytesRead) {

            bytesRead = in.read(eyeCatcher, offset, EYECATCHER.length - offset);
            if (bytesRead == -1) {
                throw new IOException("end of input stream while reading eye catcher");
            }

        }

        // Validate that the eyecatcher matches
        for (int i = 0; i < EYECATCHER.length; i++) {

            if (EYECATCHER[i] != eyeCatcher[i]) {
                String eyeCatcherString = new String(eyeCatcher);
                throw new IOException("Invalid eye catcher '" + eyeCatcherString +
                                      "' in TimerHandle input stream");
            }

        }

        // Read in the rest of the header.
        @SuppressWarnings("unused")
        short incoming_platform = in.readShort();
        short incoming_vid = in.readShort();

        // Verify the version is supported by this version of code.
        if (incoming_vid != VERSION_ID) {
            throw new InvalidObjectException("EJB TimerHandle data stream is not of the correct version, " +
                                             "this client should be updated.");
        }

        // Read in the instance data.
        ivTaskId = in.readUTF();

        byte[] bytes = (byte[]) in.readObject();
        ByteArray byteArray = new ByteArray(bytes);
        EJSContainer container = EJSContainer.getDefaultContainer();
        ivBeanId = BeanId.getBeanId(byteArray, container);

        if (isTraceOn && tc.isEntryEnabled())
            Tr.exit(tc, "readObject: " + this);
    }
private void readObject ( java . io . ObjectInputStream in ) throws IOException , ClassNotFoundException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "readObject" ) ; in . defaultReadObject ( ) ; byte [ ] eyeCatcher = new byte [ EYECATCHER . length ] ; int bytesRead = 0 ; for ( int offset = 0 ; offset < EYECATCHER . length ; offset += bytesRead ) { bytesRead = in . read ( eyeCatcher , offset , EYECATCHER . length - offset ) ; if ( bytesRead == - 1 ) { throw new IOException ( "end of input stream while reading eye catcher" ) ; } } for ( int i = 0 ; i < EYECATCHER . length ; i ++ ) { if ( EYECATCHER [ i ] != eyeCatcher [ i ] ) { String eyeCatcherString = new String ( eyeCatcher ) ; throw new IOException ( "Invalid eye catcher '" + eyeCatcherString + "' in TimerHandle input stream" ) ; } } @ SuppressWarnings ( "unused" ) short incoming_platform = in . readShort ( ) ; short incoming_vid = in . readShort ( ) ; if ( incoming_vid != VERSION_ID ) { throw new InvalidObjectException ( "EJB TimerHandle data stream is not of the correct version, " + "this client should be updated." ) ; } ivTaskId = in . readUTF ( ) ; byte [ ] bytes = ( byte [ ] ) in . readObject ( ) ; ByteArray byteArray = new ByteArray ( bytes ) ; EJSContainer container = EJSContainer . getDefaultContainer ( ) ; ivBeanId = BeanId . getBeanId ( byteArray , container ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "readObject: " + this ) ; }
Read this object from the ObjectInputStream.
Note, this is overriding the default Serialize interface
implementation.

@see java.io.Serializable