/*
* Copyright 2004-2015 the Seasar Foundation and the Others.
*
* Licensed under the Apache 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.apache.org/licenses/LICENSE-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.
*/
package org.seasar.extension.jdbc;
import org.seasar.framework.beans.PropertyDesc;
/**
* プロパティの型をあらわすインターフェースです。
*
* @author higa
*
*/
public interface PropertyType {
/**
* プロパティ記述を返します。
*
* @return プロパティ記述
*/
PropertyDesc getPropertyDesc();
/**
* JDBC用の型を返します。
*
* @return JDBC用の型
*/
ValueType getValueType();
/**
* プロパティ名を返します。
*
* @return プロパティ名
*/
String getPropertyName();
/**
* カラム名を返します。
*
* @return カラム名
*/
String getColumnName();
/**
* カラム名を設定します。
*
* @param columnName
* カラム名
*/
void setColumnName(String columnName);
/**
* プライマリーキーかどうかを返します。
*
* @return プライマリーキーかどうか
*/
boolean isPrimaryKey();
/**
* プライマリーキーかどうかを設定します。
*
* @param primaryKey
* プライマリーキーかどうか
*/
void setPrimaryKey(boolean primaryKey);
/**
* 永続されるかどうかを返します。
*
* @return 永続されるかどうか
*/
boolean isPersistent();
/**
* 永続されるかどうかを設定します。
*
* @param persistent
* 永続されるかどうか
*/
void setPersistent(boolean persistent);
}