00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2006 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: pdelrieu@openmobileis.org 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 * 00022 * Author : Philippe Delrieu 00023 * 00024 * Modifications : 00025 * 2004 Creation P.Delrieu 00026 * 2004 Modified by Romain Beaugrand 00027 * 00028 */ 00029 package org.openmobileis.database.fastobjectdb.db.query.soda; 00030 00031 import org.odbms.Constraint; 00032 import org.openmobileis.common.util.collection.LongArray; 00033 import org.openmobileis.database.fastobjectdb.db.exception.FODBException; 00034 00041 public abstract class BaseConstraint implements Constraint { 00042 public static final int COMPARATOR_NONE=0; 00043 public static final int EQUALS=1; 00044 public static final int GREATER=2; 00045 public static final int SMALLER=3; 00046 public static final int IDENTITY=4; 00047 public static final int LIKE=5; 00048 public static final int CONTAINS=6; 00049 public static final int NOT=7; 00050 public static final int EQUALGREATER=9; 00051 public static final int EQUALSMALLER=10; 00052 public static final int DISTINCT=11; 00053 00054 public static final int CONSTRAINT_NONE=10; 00055 public static final int CONSTRAINT_AND=11; 00056 public static final int CONSTRAINT_OR=12; 00057 00058 private BaseConstraint nextConstraint; 00059 protected int nextContraintLink = CONSTRAINT_AND; 00063 public BaseConstraint() { 00064 super(); 00065 } 00066 00070 public BaseConstraint getNextConstraint() { 00071 return nextConstraint; 00072 } 00073 00077 public void setNextConstraint(BaseConstraint constraint, int link) { 00078 nextConstraint = constraint; 00079 nextContraintLink = link; 00080 } 00081 00082 protected abstract void execute(LongArray longArray) throws FODBException ; 00083 00084 }