1 /* 2 * ==================================================================== 3 * 4 * The Apache Software License, Version 1.1 5 * 6 * Copyright (c) 2003 Nick Lothian. All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in 17 * the documentation and/or other materials provided with the 18 * distribution. 19 * 20 * 3. The end-user documentation included with the redistribution, if 21 * any, must include the following acknowlegement: 22 * "This product includes software developed by the 23 * developers of Classifier4J (http://classifier4j.sf.net/)." 24 * Alternately, this acknowlegement may appear in the software itself, 25 * if and wherever such third-party acknowlegements normally appear. 26 * 27 * 4. The name "Classifier4J" must not be used to endorse or promote 28 * products derived from this software without prior written 29 * permission. For written permission, please contact 30 * http://sourceforge.net/users/nicklothian/. 31 * 32 * 5. Products derived from this software may not be called 33 * "Classifier4J", nor may "Classifier4J" appear in their names 34 * without prior written permission. For written permission, please 35 * contact http://sourceforge.net/users/nicklothian/. 36 * 37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 40 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 41 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 48 * SUCH DAMAGE. 49 * ==================================================================== 50 */ 51 52 package net.sf.classifier4J; 53 54 /*** 55 * 56 * <p>Very basic implemntation of the {@link net.sf.classifier4J.IClassifier} interface.</p> 57 * 58 * <p>This implementation just looks for string (set by {@link #setSearchWord(java.lang.String)}) 59 * in the input passed to {@link #classify(java.lang.String)}</p> 60 * 61 * 62 * @author Nick Lothian 63 */ 64 public class SimpleClassifier extends AbstractClassifier implements IClassifier { 65 66 private String searchWord; 67 68 /*** 69 * @return the word this classifier is searching for 70 */ 71 public String getSearchWord() { 72 return searchWord; 73 } 74 75 /*** 76 * @param string The string to look for when matching 77 */ 78 public void setSearchWord(String string) { 79 searchWord = string; 80 } 81 82 /*** 83 * @see net.sf.classifier4J.IClassifier#classify(java.lang.String) 84 */ 85 public double classify(String input) { 86 if ((input != null) && (input.indexOf(searchWord) > 0)) { 87 return 1; 88 } else { 89 return 0; 90 } 91 } 92 93 }