The most generalized version of an SXE record.
All SXE edit classes (records) should implement this.
118119120121122123124125126127128
if( !awake_.removeElement( cachable ) ) { final int index = elements_.indexOf( cachable ); if( index == -1 ) throw new NoSuchElementException(); final IRecord record = (IRecord)records_.elementAt( index ); record.restore(); } awake_.addElement( cachable ); sleep(); }
156157158159160161162163164165166167
{ clear(); do { final ICachable cachable = new Chunk( this ); final IRecord record = factory_.createRecord( cachable ); record.unmarshall( stream ); elements_.addElement( cachable ); records_.addElement( record ); wake( cachable ); } while( stream.available() > 0 );
173174175176177178179180181182
public void marshall( final OutputStream stream ) throws IOException { final Enumeration records = records_.elements(); while( records.hasMoreElements() ) { final IRecord record = (IRecord)records.nextElement(); record.persist(); record.marshall( stream ); } }