public int registerObjectForWrite ( Object o , int streamPosition , FSTClazzInfo clzInfo , int reUseType [ ] ) { if ( disabled ) { return Integer . MIN_VALUE ; } // System.out.println("REGISTER AT WRITE:"+streamPosition+" "+o.getClass().getSimpleName()); // final Class clazz = o.getClass(); if ( clzInfo == null ) { // array oder enum oder primitive // unused ? // clzInfo = reg.getCLInfo(clazz); } else if ( clzInfo . isFlat ( ) ) { return Integer . MIN_VALUE ; } int handle = objects . putOrGet ( o , streamPosition ) ; if ( handle >= 0 ) { // if ( idToObject.get(handle) == null ) { // (*) (can get improved) // idToObject.add(handle, o); // } reUseType [ 0 ] = 0 ; return handle ; } return Integer . MIN_VALUE ; }
add an object to the register return handle if already present . Called during write only