01: package org.drools.reteoo;
02:
03: /*
04: * Copyright 2005 JBoss Inc
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License");
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */
18:
19: import java.util.ArrayList;
20: import java.util.Iterator;
21: import java.util.List;
22:
23: import org.drools.common.BaseNode;
24: import org.drools.common.InternalFactHandle;
25: import org.drools.common.InternalWorkingMemory;
26: import org.drools.spi.PropagationContext;
27:
28: public class MockObjectSource extends ObjectSource {
29: /**
30: *
31: */
32: private static final long serialVersionUID = 400L;
33:
34: private int attached;
35:
36: private int updated;
37:
38: private List facts;
39:
40: public MockObjectSource(final int id) {
41: super (id);
42: this .facts = new ArrayList();
43: }
44:
45: public void attach() {
46: this .attached++;
47:
48: }
49:
50: public int getAttached() {
51: return this .attached;
52: }
53:
54: public int getUdated() {
55: return this .updated;
56: }
57:
58: public void addFact(final InternalFactHandle handle) {
59: this .facts.add(handle);
60: }
61:
62: public void updateSink(final ObjectSink sink,
63: final PropagationContext context,
64: final InternalWorkingMemory workingMemory) {
65: this .updated++;
66: for (final Iterator it = this .facts.iterator(); it.hasNext();) {
67: final InternalFactHandle handle = (InternalFactHandle) it
68: .next();
69: sink.assertObject(handle, context, workingMemory);
70: }
71: }
72:
73: public void remove(final BaseNode node,
74: final InternalWorkingMemory[] workingMemories) {
75: // TODO Auto-generated method stub
76:
77: }
78:
79: public void attach(final InternalWorkingMemory[] workingMemories) {
80: // TODO Auto-generated method stub
81:
82: }
83:
84: }
|