Attribute定義の基本機能

Universal Framework XにおけるAttribute定義の書き方と基本機能について解説します。

Attribute定義の作成

アトリビュート定義はXML形式で、ルートタグ「attributes」内に記述します。
  1. XMLを作成する
  2. ルートタグにattributesタグを記述し、使用する機能にあわせたXMLスキーマを読込む
    ※XMLスキーマの参照パスの間違いに注意してください
  3. attributeタグにて項目定義を記述する

    <?xml version="1.0" encoding="UTF-8"?>
     <attributes
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="../../cam/usax/resource/Attribute_WebEx.xsd"
     controller="jp.co.cam.usax.rule.bean.resource.impl.AttributeResource"
     description="{定義内容の説明}">
     
     <attribute id="{項目ID}" name="{項目名}"
      description="{項目の概要}">
     </attribute>
    </attributes>
  

データ項目名の使い方

項目名称をname属性に設定することで項目名の一元管理と多言語化対応を容易に実現します。
アトリビュート定義の多言語化対応はこちらを参照

Eventクラス(DataBean)内で項目名を取得する


    // アトリビュート定義
    final AttributeResourceIF resource = super.getAttributeResource();

    // 設定
    AttributeResourceIF.AttributeIF attr; 

    if (resource.hasAttribute("{項目ID}")) {
        attr = resource.getAttribute("{項目ID}");

        System.out.println("項目名:" + attr.getName());
    }
  

メッセージの出力

WEBパッケージを使用した場合は、JSP出力時に{@attribute:項目ID}を項目名に変換します。
この機能を用いてエラーメッセージの項目名は下記の通り実装できます。

    // メッセージ・コンテナ
    final MessageIF msgs = super.getMessage();
    
    // メッセージ定義
    final MessageResourceIF prop = msgs.getMessageResource();
    
    // メッセージ:{@attribute:USER_CODE}を入力してください
    final String msg = prop.get("COM0000", new String[]{"{@attribute:USER_CODE}"});
    
    msgs.addError(msg);
  

データ型を設定

対象項目のデータ型を指定することで、変換可否のチェック及びデータの型変換を自動化します。
また、DataBeanのgetObject("{項目ID}")で値を取得した場合も指定のデータ型で値が返却されます。 (様式)
datatype="{データ型}"

dataformat="{データ様式}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     datatype="java.sql.Date"
     dataformat="yyyy/MM/dd">
  

対応するデータ型

データの初期値を設定

対象項目の初期値を設定します。 (様式)
datainit="{初期値}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     datatype="java.lang.Integer" dataformat="#"
     datainit="0">
  

データの最大字数を設定

対象項目の最大字数を制限します。 (様式)
maxcols="{文字数}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     maxcols="20">
  

データの最大行数を設定

対象項目の最大行数を制限します。 (様式)
maxrows="{行数}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     maxrows="10">
  

バリデータを停止する

対象項目をバリデート処理の対象から除外します。 (様式)
validateFlag="false"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     validateFlag="false">
  

他のアトリビュートを継承する

指定したアトリビュートを継承し、自身の設定でオーバーライドします。 (様式)
ref="{アトリビュートID}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     ref="SAMPLE_BASE">
  

項目の表示字数を設定(WEBパッケージ利用時)

対象項目の表示文字数を指定します。 (様式)
cols="{文字数}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     cols="20">
  
※HTML出力時のclass属性に「"col" + {文字数}」のCSS名が出力されます。

HTML出力イメージ


    <input type="text" name="SAMPLE" class="col20">
  

項目の表示行数を設定(WEBパッケージ利用時)

対象項目の表示行数を指定します。
※2行以上の指定によりinput[type="text"]タグはtextareaタグとして出力されます。 (様式)
rows="{行数}"
(記述例)

    <attribute id="SAMPLE"  name="サンプル"
     cols="80" rows="5">
  
※HTML出力時のclass属性に「"row" + {行数}」のCSS名が出力されます。

HTML出力イメージ


    <textarea name="SAMPLE" class="col80 row5">
  

©Camel engineering LLP