001/* 
002 * JKNIV, SQLegance keeping queries maintainable.
003 * 
004 * Copyright (C) 2017, the original author or authors.
005 *
006 * This library is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 2.1 of the License.
010 * 
011 * This library is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014 * Lesser General Public License for more details.
015 * 
016 * You should have received a copy of the GNU Lesser General Public
017 * License along with this library; if not, write to the Free Software Foundation, Inc., 
018 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
019 */
020package net.sf.jkniv.sqlegance.statement;
021
022import java.sql.ResultSet;
023
024/**
025 * Flags to indicate the type of <code>ResultSet</code> objects with the given type.
026 * 
027 * @author Alisson Gomes
028 * @see java.sql.ResultSet
029 * @since 0.6.0
030 */
031public enum ResultSetType
032{
033    /** Be type TYPE_FORWARD_ONLY  */
034    DEFAULT(ResultSet.TYPE_FORWARD_ONLY), 
035    /**  */
036    TYPE_FORWARD_ONLY(ResultSet.TYPE_FORWARD_ONLY), 
037    /**  */
038    TYPE_SCROLL_SENSITIVE(ResultSet.TYPE_SCROLL_SENSITIVE), 
039    /**  */
040    TYPE_SCROLL_INSENSITIVE(ResultSet.TYPE_SCROLL_INSENSITIVE);
041
042    private int scrollType;
043    
044    private ResultSetType(int v)
045    {
046        this.scrollType = v;
047    }
048    /**
049     * @param type String that represent enum ignoring case
050     * @return the value of <code>type</code>, type of not found return <code>DEFAULT</code> enum.  
051     */
052    public static ResultSetType get(String type)
053    {
054        ResultSetType rs = ResultSetType.DEFAULT;
055        for (ResultSetType r : ResultSetType.values())
056        {
057            if (String.valueOf(type).equalsIgnoreCase(r.toString()))
058            {
059                rs = r;
060                break;
061            }
062        }
063        return rs;
064    }
065
066    public int getTypeScroll()
067    {
068        return scrollType;
069    }
070}