/* * 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; /** * Service用の {@link ComponentCreator}です。 *

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

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