public void store ( Object obj ) throws PersistenceBrokerException { obj = extractObjectToStore ( obj ) ; // only do something if obj != null if ( obj == null ) return ; ClassDescriptor cld = getClassDescriptor ( obj . getClass ( ) ) ; /* if one of the PK fields was null, we assume the objects was new and needs insert */ boolean insert = serviceBrokerHelper ( ) . hasNullPKField ( cld , obj ) ; Identity oid = serviceIdentity ( ) . buildIdentity ( cld , obj ) ; /* if PK values are set, lookup cache or db to see whether object needs insert or update */ if ( ! insert ) { insert = objectCache . lookup ( oid ) == null && ! serviceBrokerHelper ( ) . doesExist ( cld , oid , obj ) ; } store ( obj , oid , cld , insert ) ; }
Store an Object .