Package gistoolkit.datasources.filter

Source Code of gistoolkit.datasources.filter.SQLStringAttributeINFilter

/*
*    GISToolkit - Geographical Information System Toolkit
*    (C) 2002, Ithaqua Enterprises Inc.
*
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation;
*    version 2.1 of the License.
*
*    This library is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*    Lesser General Public License for more details.
*
*    You should have received a copy of the GNU Lesser General Public
*    License along with this library; if not, write to the Free Software
*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*   
*/

package gistoolkit.datasources.filter;

import java.util.*;
import gistoolkit.datasources.SQLConverter;
import gistoolkit.features.AttributeType;

/**
* Class to provide date filtering on attributes in an SQL oriented data source.
*/
public class SQLStringAttributeINFilter extends StringAttributeFilter implements SQLFilter {
   
    /** Creates new SQLDateAttributeFilter for use with the configuration utility only.*/
    public SQLStringAttributeINFilter() {
    }
   
    /** Yah, I know I need a different place for the toSQL functions, than SimpleDBDataSource, I'm working on it.  */
    public String getFilterSQL(SQLConverter inConverter) {
        if (getAttributeValue() == null) return null;
        String tempAttributeValue = (String) getAttributeValue();
        if (tempAttributeValue.length() == 0) return "";
       
        // create the list.
        ArrayList tempList = new ArrayList();
        StringTokenizer st = new StringTokenizer((String) getAttributeValue());
        while (st.hasMoreElements()){
            tempList.add(st.nextToken(","));
        }
        StringBuffer tempSB = new StringBuffer();
        tempSB.append(getAttributeName());
        tempSB.append(" IN(");
        for (int i=0; i<tempList.size(); i++){
            if (i>0) tempSB.append(",");
            tempSB.append(inConverter.toSQLString(tempAttributeValue, new AttributeType(AttributeType.STRING)));
        }
        tempSB.append(")");
        return tempSB.toString();
    }   
}
TOP

Related Classes of gistoolkit.datasources.filter.SQLStringAttributeINFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.