/* * Copyright 2004-2007 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.framework.container.creator; import org.seasar.framework.container.ComponentCreator; import org.seasar.framework.container.ComponentCustomizer; import org.seasar.framework.container.deployer.InstanceDefFactory; import org.seasar.framework.convention.NamingConvention; /** * Daoクラス用の {@link ComponentCreator}です。 *

* 決められた命名規約に従って、クラスからDaoクラスのコンポーネント定義を作成します。 作成されるコンポーネント定義の各種属性は以下になります。 * * * * * * * * * * * * * * * * * * * * * * * * * * *
サフィックス{@link NamingConvention#getActionSuffix() Dao(デフォルト)}
インスタンス定義prototype
自動バインディングauto
外部バインディング無効
インターフェース有効
抽象クラス有効
*

* * @author higa * @author yatsu */ public class DaoCreator extends ComponentCreatorImpl { /** * 指定された{@link NamingConvention 命名規約}に従った{@link DaoCreator}を作成します。 * * @param namingConvention * 命名規約 */ public DaoCreator(NamingConvention namingConvention) { super(namingConvention); setNameSuffix(namingConvention.getDaoSuffix()); setInstanceDef(InstanceDefFactory.PROTOTYPE); setEnableInterface(true); setEnableAbstract(true); } /** * Dao用の {@link ComponentCustomizer コンポーネントカスタマイザ}を返します。 * * @return コンポーネントカスタマイザ */ public ComponentCustomizer getDaoCustomizer() { return getCustomizer(); } /** * Dao用の コンポーネントカスタマイザを設定します。 * * @param customizer * コンポーネントカスタマイザ */ public void setDaoCustomizer(ComponentCustomizer customizer) { setCustomizer(customizer); } }