protected long getSerializedBytesLength ( ) throws ObjectManagerException { final String methodName = "getSerializedBytesLength" ; if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . entry ( this , cclass , methodName ) ; // Mimic the action of getSerializedBytes but don't actuallly create the bytes. // Used to esimate the length of future attempts to serialize the Object. class DummyOutputStream extends java . io . OutputStream { public void write ( int b ) throws java . io . IOException { } } // class DummyOutputStream. java . io . DataOutputStream dataOutputStream = new java . io . DataOutputStream ( new DummyOutputStream ( ) ) ; try { if ( this instanceof SimplifiedSerialization ) { int signature = getSignature ( ) ; dataOutputStream . writeInt ( signature ) ; if ( signature == SimplifiedSerialization . signature_Generic ) { dataOutputStream . writeUTF ( getClass ( ) . getName ( ) ) ; } // if (signature == SimplifiedSerialization.signature_Generic). ( ( SimplifiedSerialization ) this ) . writeObject ( dataOutputStream ) ; } else { dataOutputStream . writeInt ( SimplifiedSerialization . signature_DefaultSerialization ) ; java . io . ObjectOutputStream objectOutputStream = new java . io . ObjectOutputStream ( dataOutputStream ) ; objectOutputStream . writeObject ( this ) ; objectOutputStream . close ( ) ; } } catch ( java . io . IOException exception ) { // No FFDC Code Needed. ObjectManager . ffdc . processException ( this , cclass , methodName , exception , "1:707:1.34" ) ; if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( this , cclass , methodName , exception ) ; throw new PermanentIOException ( this , exception ) ; } // catch. if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( cclass , methodName , new Object [ ] { dataOutputStream , new Long ( dataOutputStream . size ( ) ) } ) ; return dataOutputStream . size ( ) ; }
Get the length of the serialized bytes representing this ManagedObject .