1 /** 2 * The contents of this file are subject to the Mozilla Public License Version 1.1 3 * (the "License"); you may not use this file except in compliance with the License. 4 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 5 * Software distributed under the License is distributed on an "AS IS" basis, 6 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 7 * specific language governing rights and limitations under the License. 8 * 9 * The Original Code is "StructurePredicate.java". Description: 10 * "Reusable Predicate selecting certain subtypes of Structure." 11 * 12 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 13 * 2002. All Rights Reserved. 14 * 15 * Contributor(s): ______________________________________. 16 * 17 * Alternatively, the contents of this file may be used under the terms of the 18 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are 19 * applicable instead of those above. If you wish to allow use of your version of this 20 * file only under the terms of the GPL and not to allow others to use your version 21 * of this file under the MPL, indicate your decision by deleting the provisions above 22 * and replace them with the notice and other provisions required by the GPL License. 23 * If you do not delete the provisions above, a recipient may use your version of 24 * this file under either the MPL or the GPL. 25 * 26 */ 27 package ca.uhn.hl7v2.util; 28 29 import ca.uhn.hl7v2.model.Structure; 30 import ca.uhn.hl7v2.util.FilterIterator.Predicate; 31 32 public class StructurePredicate implements Predicate<Structure> { 33 34 private final Class<? extends Structure> desired; 35 36 public StructurePredicate(Class<? extends Structure> desired) { 37 super(); 38 this.desired = desired; 39 } 40 41 public boolean evaluate(Structure obj) { 42 return desired.isAssignableFrom(obj.getClass()); 43 } 44 45 }