java/sql-dk/src/info/globalcode/sql/dk/SQLType.java
author František Kučera <franta-hg@frantovo.cz>
Thu, 26 Dec 2013 11:58:14 +0100
branchv_0
changeset 68 574cd7fbb5b2
child 92 1399ac70a5bd
permissions -rw-r--r--
SQLType enum wrapper for java.sql.Types

/**
 * SQL-DK
 * Copyright © 2013 František Kučera (frantovo.cz)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package info.globalcode.sql.dk;

import java.sql.Types;

/**
 *
 * @author Ing. František Kučera (frantovo.cz)
 */
public enum SQLType {

	VARCHAR(Types.VARCHAR),
	BOOLEAN(Types.BOOLEAN),
	INTEGER(Types.INTEGER),
	DECIMAL(Types.DECIMAL);
	/**
	 * TODO: more types
	 */
	private int code;

	private SQLType(int code) {
		this.code = code;
	}

	/**
	 * @see java.sql.Types.Types
	 */
	public int getCode() {
		return code;
	}

	/**
	 * @param code see {@linkplain java.sql.Types.Types}
	 * @return found SQLType
	 * @throws IllegalArgumentException if no data type has given code
	 */
	public SQLType valueOf(int code) {
		for (SQLType t : values()) {
			if (t.code == code) {
				return t;
			}
		}
		throw new IllegalArgumentException("No data type has code: " + code);
	}
}