public void dehydrate(ClientObjectManager objectManager, TCObject tcObject, DNAWriter writer, Object pojo) { super.dehydrate(objectManager, tcObject, writer, pojo); try { init(pojo); /** Mark the SearchableInstace shared. Based on shared flag, SearchableMap instance process the applicator * call back method differently. */ SET_SHARED_METHOD.invoke(pojo); }catch(Exception e) { throw new TCRuntimeException(e); } }
@Override public TraversedReferences getPortableObjects(final Object pojo, final TraversedReferences addTo) { addTo.addNamedReference(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME)); return super.getPortableObjects(pojo, addTo); }
public void hydrate(ClientObjectManager objectManager, TCObject tcObject, DNA dna, Object pojo) throws IOException, ClassNotFoundException { super.hydrate(objectManager, tcObject, dna, pojo); try { /** these methods are invoked via reflection. Direct method call on SearchableMap object is resulting into soe * classloading issues */ init(pojo); /** Instruct the SearchableMap to create Local DataStore based on the Key and Value ObjectID information received * so far form terracotta server */ LOAD_STORE_FROM_L2_METHOD.invoke(pojo); }catch(Exception e) { throw new TCRuntimeException(e); } }
@Override public void dehydrate(ApplicatorObjectManager objectManager, TCObjectExternal tcObject, DNAWriter writer, Object pojo) { writer.addPhysicalAction(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_TYPE_FIELDNAME)); final Object lockStrategy = getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME); writer.addPhysicalAction(DSO_LOCK_STRATEGY_FIELDNAME, getDehydratableObject(lockStrategy, objectManager)); super.dehydrate(objectManager, tcObject, writer, pojo); }
@Override public TraversedReferences getPortableObjects(final Object pojo, final TraversedReferences addTo) { addTo.addNamedReference(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME)); return super.getPortableObjects(pojo, addTo); }
@Override public void dehydrate(ApplicatorObjectManager objectManager, TCObjectExternal tcObject, DNAWriter writer, Object pojo) { writer.addPhysicalAction(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_TYPE_FIELDNAME)); final Object lockStrategy = getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME); writer.addPhysicalAction(DSO_LOCK_STRATEGY_FIELDNAME, getDehydratableObject(lockStrategy, objectManager)); super.dehydrate(objectManager, tcObject, writer, pojo); }
@Override public TraversedReferences getPortableObjects(final Object pojo, final TraversedReferences addTo) { addTo.addNamedReference(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME)); return super.getPortableObjects(pojo, addTo); }
@Override public void dehydrate(ApplicatorObjectManager objectManager, TCObjectExternal tcObject, DNAWriter writer, Object pojo) { writer.addPhysicalAction(DSO_LOCK_TYPE_FIELDNAME, getField(pojo, DSO_LOCK_TYPE_FIELDNAME)); final Object lockStrategy = getField(pojo, DSO_LOCK_STRATEGY_FIELDNAME); writer.addPhysicalAction(DSO_LOCK_STRATEGY_FIELDNAME, getDehydratableObject(lockStrategy, objectManager)); super.dehydrate(objectManager, tcObject, writer, pojo); }