public static InternalFactHandle[] orderFacts(ObjectStore objectStore) { // this method is just needed for testing purposes, to allow round tripping int size = objectStore.size(); InternalFactHandle[] handles = new InternalFactHandle[size]; int i = 0; for (Iterator<?> it = objectStore.iterateFactHandles(); it.hasNext();) { handles[i++] = (InternalFactHandle) it.next(); } Arrays.sort(handles, new HandleSorter()); return handles; }
public void reset() { this.objectStore.clear(); }
public boolean contains(Object object) { if ( object instanceof FactHandle ) { return this.store.getObjectForHandle( (InternalFactHandle) object ) != null; } else { return this.store.getHandleForObject( object ) != null; } }
public Iterator< ? > iterator() { Iterator it; if ( type == OBJECT ) { if ( filter != null ) { it = store.iterateObjects( filter ); } else { it = store.iterateObjects(); } } else { if ( filter != null ) { it = store.iterateFactHandles( filter ); } else { it = store.iterateFactHandles(); } } return it; }
/** * This class is not thread safe, changes to the working memory during * iteration may give unexpected results */ public Iterator iterateFactHandles(org.drools.runtime.ObjectFilter filter) { return getObjectStore().iterateFactHandles( filter ); }
handle = this.objectStore.reconnect( factHandle ); this.objectStore.removeHandle( handle ); this.objectStore.addHandle( handle, object );
public Iterator iterateObjects() { return this.objectStore.iterateObjects(); }
handle = this.objectStore.reconnect( handle ); this.wm ); this.objectStore.removeHandle( handle );
this.ruleBase.readLock(); handle = this.objectStore.getHandleForObject( object ); this.objectStore.updateHandle( handle, object );
private InternalFactHandle createHandle(final Object object, ObjectTypeConf typeConf) { InternalFactHandle handle; handle = this.handleFactory.newFactHandle( object, typeConf, this.wm, this ); this.objectStore.addHandle( handle, object ); return handle; }
public FactHandle getFactHandleByIdentity(final Object object) { return this.objectStore.getHandleForObjectIdentity( object ); }
public FactHandle getFactHandle(Object object) { return this.objectStore.getHandleForObject( object ); }
public Object getObject(org.drools.runtime.rule.FactHandle factHandle) { return this.objectStore.getObjectForHandle(factHandle); }
public boolean isEmpty() { if ( this.filter == null ) { return this.store.isEmpty(); } return size() == 0; }
/** * Returns the fact Object for the given <code>FactHandle</code>. It * actually attempts to return the value from the handle, before retrieving * it from objects map. * * @see WorkingMemory * * @param handle * The <code>FactHandle</code> reference for the * <code>Object</code> lookup */ public Object getObject(org.drools.runtime.rule.FactHandle handle) { // the handle might have been disconnected, so reconnect if it has if ( ((InternalFactHandle)handle).isDisconnected() ) { handle = this.defaultEntryPoint.getObjectStore().reconnect( handle ); } return this.defaultEntryPoint.getObject( handle ); }
/** * This class is not thread safe, changes to the working memory during * iteration may give unexpected results */ public Iterator iterateFactHandles() { return getObjectStore().iterateFactHandles(); }
public Iterator iterateObjects(org.drools.runtime.ObjectFilter filter) { return this.objectStore.iterateObjects( filter ); }
public static void readFactHandles(MarshallerReaderContext context, org.drools.marshalling.impl.ProtobufMessages.EntryPoint _ep, ObjectStore objectStore) throws IOException, ClassNotFoundException { InternalWorkingMemory wm = context.wm; WorkingMemoryEntryPoint entryPoint = context.wm.getEntryPoints().get( _ep.getEntryPointId() ); // load the handles for ( ProtobufMessages.FactHandle _handle : _ep.getHandleList() ) { InternalFactHandle handle = readFactHandle( context, entryPoint, _handle ); context.handles.put( handle.getId(), handle ); if ( handle.getObject() != null ) { objectStore.addHandle( handle, handle.getObject() ); } // add handle to object type node assertHandleIntoOTN( context, wm, handle ); } }
/** * @see WorkingMemory */ public FactHandle getFactHandleByIdentity(final Object object) { return getObjectStore().getHandleForObjectIdentity( object ); }
public static InternalFactHandle[] orderFacts(ObjectStore objectStore) { // this method is just needed for testing purposes, to allow round tripping int size = objectStore.size(); InternalFactHandle[] handles = new InternalFactHandle[size]; int i = 0; for ( Iterator it = objectStore.iterateFactHandles(); it.hasNext(); ) { handles[i++] = (InternalFactHandle) it.next(); } Arrays.sort( handles, new HandleSorter() ); return handles; }