@Override public ToggleableStrongReference getOrCreateToggleRef() { final Object peer = getPeerObject(); if (peer == null) { throw new AssertionError("cannot create a toggle reference if peer object is gone"); } return getObjectManager().getOrCreateToggleRef(this.objectID, peer); }
protected TCObjectImpl(final ObjectID id, final Object peer, final TCClass clazz, final boolean isNew) { this.objectID = id; this.tcClazz = clazz; if (peer != null) { setPeerObject(getObjectManager().newWeakObjectReference(id, peer)); } setFlag(IS_NEW_OFFSET, isNew); }
protected TCObjectImpl(final ObjectID id, final Object peer, final TCClass clazz, final boolean isNew) { this.objectID = id; this.tcClazz = clazz; if (peer != null) { setPeerObject(getObjectManager().newWeakObjectReference(id, peer)); } setFlag(IS_NEW_OFFSET, isNew); }
@Override public void primitiveArrayChanged(final int startPos, final Object array, final int length) { markAccessed(); getObjectManager().getTransactionManager().arrayChanged(this, startPos, array, length); }
protected TCObjectImpl(final ObjectID id, final Object peer, final TCClass clazz, final boolean isNew) { this.objectID = id; this.tcClazz = clazz; if (peer != null) { setPeerObject(getObjectManager().newWeakObjectReference(id, peer)); } setFlag(IS_NEW_OFFSET, isNew); }
@Override public void primitiveArrayChanged(final int startPos, final Object array, final int length) { markAccessed(); getObjectManager().getTransactionManager().arrayChanged(this, startPos, array, length); }
@Override public void objectArrayChanged(final int startPos, final Object[] array, final int length) { markAccessed(); for (int i = 0; i < length; i++) { clearArrayReference(startPos + i); } getObjectManager().getTransactionManager().arrayChanged(this, startPos, array, length); }
@Override public void objectArrayChanged(final int startPos, final Object[] array, final int length) { markAccessed(); for (int i = 0; i < length; i++) { clearArrayReference(startPos + i); } getObjectManager().getTransactionManager().arrayChanged(this, startPos, array, length); }
@Override public void objectFieldChanged(final String classname, final String fieldname, final Object newValue, final int index) { try { markAccessed(); if (index == NULL_INDEX) { // Assert.eval(fieldname.indexOf('.') >= 0); clearReference(fieldname); } else { clearArrayReference(index); } getObjectManager().getTransactionManager().fieldChanged(this, classname, fieldname, newValue, index); } catch (final Throwable t) { Util.printLogAndRethrowError(t, logger); } }
@Override public void objectFieldChanged(final String classname, final String fieldname, final Object newValue, final int index) { try { markAccessed(); if (index == NULL_INDEX) { // Assert.eval(fieldname.indexOf('.') >= 0); clearReference(fieldname); } else { clearArrayReference(index); } getObjectManager().getTransactionManager().fieldChanged(this, classname, fieldname, newValue, index); } catch (final Throwable t) { Util.printLogAndRethrowError(t, logger); } }