com.fiverworks.xone.model
クラス XoneNode

java.lang.Object
  拡張com.fiverworks.xone.model.XoneNode
すべての実装インタフェース:
Comparable, Transformable
直系の既知のサブクラス:
XoneFolder, XoneObjectInfo

public abstract class XoneNode
extends Object
implements Comparable, Transformable

Xoneのノード(フォルダやオブジェクトのメタ情報)を表すクラスです。
XoneFolderとXoneObjectInfoのスーパークラスです。


フィールドの概要
protected static String CLASS_NAME
           
protected  String className
           
static String DB_DELETE
          データベース上で削除されたことを表します。
static String DB_OUT
          データベース上で無効であることを表します。
static String DB_UNLOCK
          データベース上で通常の状態(ロックも削除もされていない)を表します。
static int DELETE
          ノードの状態を表し、DELETEは削除されている状態です。
protected  String hint
           
protected static String HINT
           
protected static String LOCKED_USER
           
protected  String name
           
protected static String NAME
           
static int OUT
          ノードの状態を表し、OUTは無効であることを示す状態です。
protected  String parent
           
protected static String PARENT
           
protected  int parentFolderId
           
protected static ResourceBundle rb
           
static String SEPARATOR
          パス区切り文字です。
protected  int status
           
protected static String STATUS
           
protected  Timestamp timestamp
           
protected static String TIMESTAMP
           
protected  String type
           
protected static String TYPE
           
static int UNLOCK
          ノードの状態を表し、UNLOCKは通常の状態です。
 
コンストラクタの概要
protected XoneNode()
          XoneNodeのインスタンスを生成します。
 
メソッドの概要
static void checkLegalPath(String path)
          指定された文字列が正しいパスかどうか調べます。
 int compareTo(Object o)
          指定されたオブジェクトと比較します。
 String getHint()
          ヒントを取得します。
static String getLastName(String path)
          指定されたパスから、SEPARATORで区切られた最後の名前の部分だけを取得します。
static String getLegalPath(String path)
          指定されたパスの最後が/の場合は、これを取り去ります。
static String getLegalPath(String parent, String name)
          親フォルダと名前から正しいパスを取得します。
 String getName()
          ノードの名前を取得します。
 String getParent()
          親のパスを取得します。
static String getParent(String path)
          指定されたパスから親のパスを取得します。
 String getPath()
          パスを取得します。
static String[] getPathElements(String path)
          指定されたパスから、個々の要素の配列を返します。
 int getStatus()
          ノードの状態を取得します。
 String getStatusString()
          現在の状態(UNLOCK,DELETE,OUT)に対応する文字列を取得します。
static String getStatusString(int status)
          指定された状態に対応する文字列を取得します。
 Timestamp getTimestamp()
          作成または更新した日時を取得します。
 String getType()
          ノードのタイプを取得します。
 boolean isAnyInstance()
          ノードがオブジェクトでAnyインスタンスかどうか返します。
 boolean isClass()
          ノードがオブジェクトでクラスかどうか返します。
 boolean isInstance()
          ノードがオブジェクトでインスタンスかどうか返します。
 boolean isLeaf()
          リーフ(子を持てない)かどうかを返します。
static boolean isLegalPath(String path)
          指定された文字列が正しいパスかどうか返します。
 void setHint(String hint)
          ヒントを設定します。
abstract  String toFullString()
          文字列表現を取得します。
 String toString()
          ノード名を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース com.fiverworks.xone.model.Transformable から継承したメソッド
set, toXoneObject
 

フィールドの詳細

rb

protected static final ResourceBundle rb

name

protected String name

timestamp

protected Timestamp timestamp

type

protected String type

className

protected String className

status

protected int status

hint

protected String hint

parentFolderId

protected int parentFolderId

parent

protected String parent

NAME

protected static final String NAME
関連項目:
定数フィールド値

TYPE

protected static final String TYPE
関連項目:
定数フィールド値

TIMESTAMP

protected static final String TIMESTAMP
関連項目:
定数フィールド値

CLASS_NAME

protected static final String CLASS_NAME
関連項目:
定数フィールド値

STATUS

protected static final String STATUS
関連項目:
定数フィールド値

LOCKED_USER

protected static final String LOCKED_USER
関連項目:
定数フィールド値

PARENT

protected static final String PARENT
関連項目:
定数フィールド値

HINT

protected static final String HINT
関連項目:
定数フィールド値

DB_UNLOCK

public static final String DB_UNLOCK
データベース上で通常の状態(ロックも削除もされていない)を表します。

関連項目:
定数フィールド値

DB_DELETE

public static final String DB_DELETE
データベース上で削除されたことを表します。

関連項目:
定数フィールド値

DB_OUT

public static final String DB_OUT
データベース上で無効であることを表します。

関連項目:
定数フィールド値

UNLOCK

public static final int UNLOCK
ノードの状態を表し、UNLOCKは通常の状態です。

関連項目:
定数フィールド値

DELETE

public static final int DELETE
ノードの状態を表し、DELETEは削除されている状態です。

関連項目:
定数フィールド値

OUT

public static final int OUT
ノードの状態を表し、OUTは無効であることを示す状態です。

関連項目:
定数フィールド値

SEPARATOR

public static final String SEPARATOR
パス区切り文字です。

関連項目:
定数フィールド値
コンストラクタの詳細

XoneNode

protected XoneNode()
XoneNodeのインスタンスを生成します。

メソッドの詳細

getName

public String getName()
ノードの名前を取得します。

戻り値:
ノードの名前

getStatus

public int getStatus()
ノードの状態を取得します。ノードの状態には以下のものがあります。
・UNLOCK:通常の状態(ロックも削除もされていない)
・DELETE:削除されている
・OUT:無効

戻り値:
ノードの状態

getTimestamp

public Timestamp getTimestamp()
作成または更新した日時を取得します。

戻り値:
作成または更新した日時

getType

public String getType()
ノードのタイプを取得します。
タイプは、フォルダの場合は"Folder"、オブジェクトの場合は"XoneClass"、"XoneInstance","XoneAnyInstance"のいずれかです。

戻り値:
ノードのタイプ

isClass

public boolean isClass()
ノードがオブジェクトでクラスかどうか返します。

戻り値:
ノードがオブジェクトでクラスの場合はtrue

isInstance

public boolean isInstance()
ノードがオブジェクトでインスタンスかどうか返します。

戻り値:
ノードがオブジェクトでインスタンスの場合はtrue

isAnyInstance

public boolean isAnyInstance()
ノードがオブジェクトでAnyインスタンスかどうか返します。

戻り値:
ノードがオブジェクトでAnyインスタンスの場合はtrue

getParent

public String getParent()
親のパスを取得します。

戻り値:
親のパス

getPath

public String getPath()
パスを取得します。

戻り値:
パス

getStatusString

public String getStatusString()
現在の状態(UNLOCK,DELETE,OUT)に対応する文字列を取得します。
対応する文字列は以下の通りです。例えば現在の状態がDELETEならば、"削除"を返します。
・UNLOCK:アンロック
・DELETE:削除
・OUT:無効

戻り値:
対応する文字列

getStatusString

public static String getStatusString(int status)
指定された状態に対応する文字列を取得します。
状態にはUNLOCK,DELETE,OUTのいずれかを指定します。これ以外の状態を指定すると、"unknown"を返します。
返される文字列についてはgetStatusStringを参照してください。

パラメータ:
status - 状態
戻り値:
対応する文字列

checkLegalPath

public static void checkLegalPath(String path)
指定された文字列が正しいパスかどうか調べます。isLegalPathの結果がfalseのときは例外を生成します。

パラメータ:
path - 調べるパス
例外:
XoneRuntimeException - pathが不正な場合

isLegalPath

public static boolean isLegalPath(String path)
指定された文字列が正しいパスかどうか返します。
正しいパスとは、以下の条件を満たしていることです。
・"root"で始まること
・区切り文字がスラッシュ"/"であること
・個々の名前がXoneの命名規則にしたがっていること

正しいパスの例:
・root/classes
不正なパスの例:
・sys/classes(rootから始まっていない)
・root/~classes(~classesは命名規則に違反する)

パラメータ:
path - 調べるパス
戻り値:
正しければtrue

getLegalPath

public static String getLegalPath(String parent,
                                  String name)
親フォルダと名前から正しいパスを取得します。 "root/classes"と"Order"を指定した場合、"root/classes/Order"を返します。

パラメータ:
parent - 親フォルダ
name - 名前
戻り値:
パス
例外:
XoneRuntimeException - pathまたはnameが不正な場合

getLegalPath

public static String getLegalPath(String path)
指定されたパスの最後が/の場合は、これを取り去ります。 "root/classes/"を指定した場合、"root/classes"を返します。

パラメータ:
path - パス
戻り値:
パス
例外:
XoneRuntimeException - pathが不正な場合

getLastName

public static String getLastName(String path)
指定されたパスから、SEPARATORで区切られた最後の名前の部分だけを取得します。
"root/classes/Order"を指定した場合、"Order"を返します。
このメソッドはパスが正しいかどうかは調べません。そのため、"rt/cls"のような不正なパス(rootから始まらない)でも 例外を投げず、"cls"を返します。

パラメータ:
path - パス(nullの場合はnullを返す。また、SEPARATORが1つもなければpathと同じ文字列を返す)
戻り値:
最後の名前

getParent

public static String getParent(String path)
指定されたパスから親のパスを取得します。
"root/classes/Order"を指定した場合、"root/classes"を返します。
このメソッドはパスが正しいかどうかは調べません。そのため、"rt/cls"のような不正なパス(rootから始まらない)でも 例外を投げず、"rt"を返します。

パラメータ:
path - パス(nullの場合はnullを返す。また、SEPARATORが1つもない場合もnullを返す)
戻り値:
親のパス

getPathElements

public static String[] getPathElements(String path)
指定されたパスから、個々の要素の配列を返します。
"root/classes/Order"の場合、"root","classes","Order"の配列を返します。
このメソッドはパスが正しいかどうかは調べません。そのため、"rt/cls"のような不正なパス(rootから始まらない)でも 例外を投げず、"rt","cls"を返します。

パラメータ:
path - パス(nullの場合は長さ0の配列を返す)
戻り値:
パスの要素の配列

isLeaf

public boolean isLeaf()
リーフ(子を持てない)かどうかを返します。

戻り値:
フォルダの場合はfalse、オブジェクトの場合はtrue

toString

public String toString()
ノード名を返します。

戻り値:
ノード名

toFullString

public abstract String toFullString()
文字列表現を取得します。

戻り値:
文字列表現

getHint

public String getHint()
ヒントを取得します。

戻り値:
ヒント

setHint

public void setHint(String hint)
ヒントを設定します。

パラメータ:
hint - ヒントの新しい値

compareTo

public int compareTo(Object o)
指定されたオブジェクトと比較します。

定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - 比較するオブジェクト
戻り値:
パラメータの名前がこの名前に等しい場合は0。パラメータの名前がこの名前より辞書順で小さければ0より小さい値。パラメータの名前がこの名前より辞書順で大きい場合は0より大きい値