Show page source of Function/service/validator/MasterValidatorService #96731

= Validator実装サービス jp.ossc.nimbus.service.validator.!MasterValidatorService
[http://nimbus.sourceforge.jp/reports/apidocs/jp/ossc/nimbus/service/validator/MasterValidatorService.html jp.ossc.nimbus.service.validator.MasterValidatorService]は、オブジェクトがマスタに含まれているかを検証する[http://nimbus.sourceforge.jp/reports/apidocs/jp/ossc/nimbus/util/validator/Validator.html Validator]実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
||下位サービスインタフェース||用途||
||[wiki:Function/service/connection#header_ConnectionFactory jp.ossc.nimbus.service.connection.ConnectionFactory]||JDBCコネクションを取得する。||
||[wiki:Function/service/connection#header_PersistentManager jp.ossc.nimbus.service.connection.PersistentManager]||データベースからマスタを読み込む。||
||[wiki:Function/service/codemaster#header_CodeMasterFinder jp.ossc.nimbus.service.codemaster.CodeMasterFinder]||コードマスタを取得する。||
||[wiki:Function/service/context/ThreadContextService jp.ossc.nimbus.service.context.ThreadContextService]||コードマスタを取得する。||

以下に検証の都度データベースに問い合わせて検証するサービス定義を示します。
{{{ code xml
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE server PUBLIC
  "-//Nimbus//DTD Nimbus 1.0//JA"
  "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">

<server>
    
    <manager>
        
        <!-- マスタに含まれているかを検証するValidatorサービス -->
        <service name="Validator"
                 code="jp.ossc.nimbus.service.validator.MasterValidatorService">
            
            <!-- ConnectionFactoryサービスのサービス名を設定する -->
            <attribute name="ConnectionFactoryServiceName">#ConnectionFactory</attribute>
            
            <!-- PersistentManagerサービスのサービス名を設定する -->
            <attribute name="PersistentManagerServiceName">#PersistentManager</attribute>
            
            <!-- マスタ問い合わせクエリを設定する -->
            <attribute name="Query">select count(1) from USER_MST where ID=?</attribute>
            
            <depends>ConnectionFactory</depends>
            
            <depends>PersistentManager</depends>
            
        </service>
        
        <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
        <service name="ConnectionFactory"
                 code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
            <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
            <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
            <attribute name="UserName">sa</attribute>
            <attribute name="Password"></attribute>
        </service>
        
        <!-- Java BeansとデータベースをO/R MappingするPersistentManagerサービス -->
        <service name="PersistentManager"
                 code="jp.ossc.nimbus.service.connection.DefaultPersistentManagerService"/>
        
    </manager>
    
</server>

}}}

以下に[wiki:Function/service/codemaster#header_CodeMasterFinder コードマスタ]を使って検証するサービス定義を示します。
{{{ code xml
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE server PUBLIC
  "-//Nimbus//DTD Nimbus 1.0//JA"
  "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">

<server>
    
    <manager>
        
        <!-- マスタに含まれているかを検証するValidatorサービス -->
        <service name="Validator"
                 code="jp.ossc.nimbus.service.validator.MasterValidatorService">
            
            <!-- CodeMasterFinderサービスのサービス名を設定する -->
            <attribute name="CodeMasterFinderServiceName">#CodeMasterFinder</attribute>
            
            <!-- マスタ問い合わせクエリを設定する -->
            <attribute name="CodeMasterName">codemaster/USER_MST</attribute>
            
            <depends>CodeMasterFinder</depends>
            
        </service>
        
        <!-- マスターを取得するCodeMasterFinderサービス -->
        <service name="CodeMasterFinder"
                  code="jp.ossc.nimbus.service.codemaster.CodeMasterService">
            <attribute name="BeanFlowInvokerFactoryServiceName">#BeanFlowInvokerFactory</attribute>
            <attribute name="MasterNames">
                codemaster/USER_MST
            </attribute>
            <depends>BeanFlowInvokerFactory</depends>
        </service>
        
        <!-- 業務フローを生成するBeanFlowInvokerFactoryサービス -->
        <service name="BeanFlowInvokerFactory"
                  code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
            <attribute name="DirPaths">flow</attribute>
            <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
            <attribute name="Validate">true</attribute>
        </service>
        
    </manager>
    
</server>

}}}

----
[wiki:Function/service/validator#header_Validator 検証/Validator]