/* * Copyright 2003-2010 Tufts University Licensed under the * Educational Community License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * TypeFactory.java * * Created on February 13, 2004, 4:08 PM */ package tufts.vue.filter; /** * * @author akumar03 */ import java.util.List; import java.util.ArrayList; import java.util.Vector; public class TypeFactory { /** Creates a new instance of TypeFactory */ public static Type getIntegerType() { return new IntegerType(); /** Operator eqOperator = new DefaultOperator("equal","=",true) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); System.out.println("COMPARING "+ value1+ " AND " + value2+ "CLASSES ="+value1.getClass()); if(!(value1 instanceof Integer) || !(value2 instanceof Integer)) return false; else { int v1 = ((Integer)value1).intValue(); int v2 = ((Integer)value2).intValue(); System.out.println("COMPARING "+ v1+ " AND " + v2); if(v1 == v2) return true; else return false; } } }; Operator gtOperator = new DefaultOperator("smaller","<",true) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); if(!(value1 instanceof Integer) || !(value2 instanceof Integer)) return false; else { int v1 = ((Integer)value1).intValue(); int v2 = ((Integer)value2).intValue(); if(v1 > v2) return true; else return false; } } }; Operator ltOperator = new DefaultOperator("greater",">",true) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); if(!(value1 instanceof Integer) || !(value2 instanceof Integer)) return false; else { int v1 = ((Integer)value1).intValue(); int v2 = ((Integer)value2).intValue(); if(v1 < v2) return true; else return false; } } }; Type type = new DefaultType(Type.INTEGER_TYPE); type.getOperators().add(eqOperator); type.getOperators().add(gtOperator); type.getOperators().add(ltOperator); return type; */ } public static Type getStringType() { return new StringType(); /** Operator eqOperator = new DefaultOperator("equals","equals",true) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); if(!(value1 instanceof String) || !(value2 instanceof String)) return false; else { String v1 = (String) value1; String v2 = (String) value2; if(v1.equals(v2)) return true; else return false; } } }; Operator stOperator = new DefaultOperator("starts","starts with",false) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); if(!(value1 instanceof String) || !(value2 instanceof String)) return false; else { String v1 = (String) value1; String v2 = (String) value2; if(v1.startsWith(v2)) return true; else return false; } } }; Operator endOperator = new DefaultOperator("ends","ends with",false) { public boolean compare(Statement s1,Statement s2) { Object value1 = s1.getValue(); Object value2 = s2.getValue(); if(!(value1 instanceof String) || !(value2 instanceof String)) return false; else { String v1 = (String) value1; String v2 = (String) value2; if(v1.endsWith(v2)) return true; else return false; } } }; Type type = new DefaultType(Type.STRING_TYPE); type.getOperators().add(eqOperator); type.getOperators().add(stOperator); type.getOperators().add(endOperator); return type; */ } public static Type getBooleanType() { return new BooleanType(); } // currently returns only string and integer types; public static List getAllTypes() { List typeList = new Vector(); typeList.add(getIntegerType()); typeList.add(getStringType()); //typeList.add(getBooleanType()); return typeList; } }