public StatefulBuffer readStatefulBufferById(Transaction trans, int id, boolean lastCommitted) { if (id <= 0) { throw new IllegalArgumentException("id=" + id); } Slot slot = lastCommitted ? trans.idSystem().committedSlot(id) : trans.idSystem().currentSlot(id); if (DTrace.enabled) { DTrace.SLOT_READ.logLength(id, slot); } return readStatefulBufferBySlot(trans, id, slot); }
private Constraint addEvaluationToAllConstraints(QConEvaluation eval) { if (i_constraints.size() == 0) { _trans .container() .classCollection() .iterateTopLevelClasses( new Visitor4() { public void visit(Object obj) { ClassMetadata classMetadata = (ClassMetadata) obj; QConClass qcc = new QConClass(_trans, classMetadata.classReflector()); addConstraint(qcc); toConstraint(i_constraints).or(qcc); } }); } Iterator4 i = iterateConstraints(); while (i.moveNext()) { ((QCon) i.current()).addConstraint(eval); } // FIXME: should return valid Constraint object return null; }
private ReflectClass reflectClassForClass(Object example) { if (example instanceof ReflectClass) { return (ReflectClass) example; } if (example instanceof Class) { return _trans.reflector().forClass((Class) example); } return null; }
public final boolean delete4( Transaction transaction, ObjectReference ref, Object obj, int cascade, boolean userCall) { int id = ref.getID(); StatefulBuffer reader = readStatefulBufferById(transaction, id); if (reader != null) { if (obj != null) { if ((!showInternalClasses()) && Const4.CLASS_INTERNAL.isAssignableFrom(obj.getClass())) { return false; } } reader.setCascadeDeletes(cascade); transaction.idSystem().notifySlotDeleted(id, SlotChangeFactory.USER_OBJECTS); ClassMetadata classMetadata = ref.classMetadata(); classMetadata.delete(reader, obj); return true; } return false; }
@Override public boolean isDeleted(Transaction trans, int id) { return trans.idSystem().isDeleted(id); }
public final Slot allocateSlotForNewUserObject(Transaction trans, int id, int length) { Slot slot = allocateSlot(length); trans.idSystem().notifySlotCreated(id, slot, SlotChangeFactory.USER_OBJECTS); return slot; }
public final void rollback1(Transaction trans) { trans.rollback(); }
public final int idForNewUserObject(Transaction trans) { return trans.idSystem().newId(SlotChangeFactory.USER_OBJECTS); }
public void commit1(Transaction trans) { trans.commit(); }
private ReflectClass reflectorFor(Transaction trans, final Object obj) { return trans.container().reflector().forObject(obj); }
public void captureQueryResultConfig() { final Config4Impl config = _trans.container().config(); _evaluationMode = config.evaluationMode(); _prefetchDepth = config.prefetchDepth(); _prefetchCount = config.prefetchObjectCount(); }
protected ObjectContainerBase stream() { return _trans.container(); }