01: //
02: // This file is part of the prose package.
03: //
04: // The contents of this file are subject to the Mozilla Public License
05: // Version 1.1 (the "License"); you may not use this file except in
06: // compliance with the License. You may obtain a copy of the License at
07: // http://www.mozilla.org/MPL/
08: //
09: // Software distributed under the License is distributed on an "AS IS" basis,
10: // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11: // for the specific language governing rights and limitations under the
12: // License.
13: //
14: // The Original Code is prose.
15: //
16: // The Initial Developer of the Original Code is Andrei Popovici. Portions
17: // created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
18: // All Rights Reserved.
19: //
20: // Contributor(s):
21: //$Id: ObjectInCollectionFilter.java,v 1.1 2003/07/17 11:14:17 apopovic Exp $
22: //=====================================================================
23: //
24: //(history at end)
25: //
26:
27: package ch.ethz.prose.filter;
28:
29: import java.util.Collection;
30:
31: class ObjectInCollectionFilter extends ObjectFilter {
32: private static final long serialVersionUID = 3257002176822980921L;
33: Collection collection = null;
34:
35: protected ObjectInCollectionFilter(int extrMethod, Collection col) {
36: // use extractor to get the target/this object
37: super (extrMethod);
38:
39: // precondition
40: if (collection == null)
41: throw new IllegalArgumentException(
42: "Target/This.inCollection(): null argument");
43:
44: collection = col;
45:
46: }
47:
48: // the implementation of ObjectEquals
49: protected boolean doIsSpecialObject(Object target) {
50: return collection.contains(target);
51: }
52: }
53:
54: //====================================================================
55: //
56: //$Log: ObjectInCollectionFilter.java,v $
57: //Revision 1.1 2003/07/17 11:14:17 apopovic
58: //Added inCollection PointCutter. Improved Documentation
59: //
60: //
61: //
|