01: package org.drools.audit.event;
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: /**
20: * An event filter that can be used to filter working memory events.
21: * By default, all events are allowed. You can filter out any of the
22: * three types of working memory events by setting the allow boolean
23: * for that type to false.
24: *
25: * @author <a href="mailto:kris_verlaenen@hotmail.com">Kris Verlaenen </a>
26: */
27: public class WorkingMemoryLogEventFilter implements ILogEventFilter {
28:
29: private boolean allowInsertEvents = true;
30: private boolean allowUpdateEvents = true;
31: private boolean allowRetractEvents = true;
32:
33: public WorkingMemoryLogEventFilter(final boolean allowAssertEvents,
34: final boolean allowModifyEvents,
35: final boolean allowRetractEvents) {
36: setAllowInsertEvents(allowAssertEvents);
37: setAllowUpdateEvents(allowModifyEvents);
38: setAllowRetractEvents(allowRetractEvents);
39: }
40:
41: /**
42: * @see org.drools.audit.event.ILogEventFilter
43: */
44: public boolean acceptEvent(final LogEvent event) {
45: switch (event.getType()) {
46: case LogEvent.INSERTED:
47: return this .allowInsertEvents;
48: case LogEvent.UPDATED:
49: return this .allowUpdateEvents;
50: case LogEvent.RETRACTED:
51: return this .allowRetractEvents;
52: default:
53: return true;
54: }
55: }
56:
57: public void setAllowInsertEvents(final boolean allowInsertEvents) {
58: this .allowInsertEvents = allowInsertEvents;
59: }
60:
61: public void setAllowUpdateEvents(final boolean allowUpdateEvents) {
62: this .allowUpdateEvents = allowUpdateEvents;
63: }
64:
65: public void setAllowRetractEvents(final boolean allowRetractEvents) {
66: this.allowRetractEvents = allowRetractEvents;
67: }
68: }
|