svnno****@sourc*****
svnno****@sourc*****
2009年 11月 19日 (木) 20:58:03 JST
Revision: 41 http://sourceforge.jp/projects/ngms/svn/view?view=rev&revision=41 Author: osiire Date: 2009-11-19 20:58:03 +0900 (Thu, 19 Nov 2009) Log Message: ----------- [NMTree] add comments, add necessary methods in NMTree. Modified Paths: -------------- trunk/source/NMTree/src/info/ngms/nmtree/AbstractDescriptionElement.scala trunk/source/NMTree/src/info/ngms/nmtree/NMDescription.scala trunk/source/NMTree/src/info/ngms/nmtree/NMElementAttribute.scala trunk/source/NMTree/src/info/ngms/nmtree/NMElementPermission.scala trunk/source/NMTree/src/info/ngms/nmtree/NMFileSystemTree.scala trunk/source/NMTree/src/info/ngms/nmtree/NMPath.scala trunk/source/NMTree/src/info/ngms/nmtree/NMTree.scala trunk/source/NMTree/src/info/ngms/nmtree/NMTreeElements.scala trunk/source/NMTree/src/info/ngms/nmtree/NMTreeOperations.scala Added Paths: ----------- trunk/source/NMTree/src/info/ngms/nmtree/NMAccessPermission.scala trunk/source/NMTree/src/info/ngms/nmtree/NMElementVersionStatus.scala trunk/source/NMTree/src/info/ngms/nmtree/NMUser.scala trunk/source/NMTree/src/info/ngms/nmtree/NMUserGroup.scala Modified: trunk/source/NMTree/src/info/ngms/nmtree/AbstractDescriptionElement.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/AbstractDescriptionElement.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/AbstractDescriptionElement.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -11,6 +11,10 @@ val header : LinkedHashMap[String, NMDescription] val body : List[String] + def descriptions : List[NMDescription] = { + header.values.toList + } + def find(tag : String) : Option[NMDescription] = { val nmlz_tag = DescriptionElement.normalizeTag(tag) try { @@ -40,10 +44,16 @@ } } - def update(tag : String, value : String) : Unit = { + def update(tag : String, value : String, comment : String ) : Unit = { val desc = header(DescriptionElement.normalizeTag(tag)) desc.value = value + desc.comment = comment } + + def set( dscr : NMDescription ) : Unit = { } + + def update( f : List[NMDescription] => List[NMDescription] ) : Unit = { } + } object DescriptionElement { Added: trunk/source/NMTree/src/info/ngms/nmtree/NMAccessPermission.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMAccessPermission.scala (rev 0) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMAccessPermission.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -0,0 +1,39 @@ +/* + * Next Generation Management System Project + * Copyright(c) 2009, NGMS Project Team All Rights Reserved. + */ +package info.ngms.nmtree + +/** + * アクセス許可を表現するクラス + * + * @version $Id$ + * @author ogasa****@itpl***** + */ +trait NMAccessPermission { + + /** + * 生成許可権限。これがtrueの場合は、エレメントの作成が可能であることを表現している。 + */ + val create : Boolean + + /** + * 書き込み許可権限。これがtrueの場合は、エレメントへの書き込みが可能であることを表現している。 + */ + val write : Boolean + + /** + * 読み込み許可権限。これがtrueの場合は、エレメントの内容を読み込み可能であることを表現している。 + */ + val read : Boolean + + /** + * 削除許可権限。これがtrueの場合は、エレメントの削除が可能であることを表現している。 + */ + val delete : Boolean + + /** + * アクセス許可変更権限。これがtrueの場合は、エレメントのアクセス許可を変更できることを表現している。 + */ + val changePermission : Boolean +} Property changes on: trunk/source/NMTree/src/info/ngms/nmtree/NMAccessPermission.scala ___________________________________________________________________ Added: svn:keywords + Id Revision Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMDescription.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMDescription.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMDescription.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -4,10 +4,31 @@ */ package info.ngms.nmtree -object NMDescription { - def commentDelimiter = "#" +/** + * タグとそれに関連付いた値を保持する構造。コメント付き。 + * @version $Id$ + * @auther ogasa****@itpl***** + */ + class NMDescription ( val tag : String, var value : String, var comment : String) - def make(tag : String, value : String) = { + /** + * タグとそれに関連付いた値を保持する構造。コメント付き。 + * @version $Id$ + * @auther ogasa****@itpl***** + */ + object NMDescription { + /** + * コメントの直前につけるマークの定義 + */ + def commentDelimiter = "#" + + /** + * 値にコメントが結合されている場合は、それを分離してNMDescriptionのインスタンスを作成する関数。 + * @param tag タグ。 + * @param コメントが含まれている値 + * @return NMDescriptionのインスタンス + */ + def make(tag : String, value : String) : NMDescription = { val parts = value split commentDelimiter if (parts.length == 1) new NMDescription(tag, parts(0).trim, "") @@ -16,6 +37,3 @@ } } -class NMDescription ( val tag : String, var value : String, var comment : String) { - import NMDescription.commentDelimiter -} Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMElementAttribute.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMElementAttribute.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMElementAttribute.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -20,9 +20,15 @@ val size : Long /** - * パスが示すエレメントが最後に更新された日時を返す + * パスが示すエレメントが最後に更新された日時を返す。 * @return パスが示すエレメントが最後に更新された日時。 */ val lastUpdateDate : Date + /** + * パスが示すエレメントのバージョン管理ステータスを返す。 + * @return ぱすが示すエレメントのバージョン管理ステータス。 + */ + val versionStatus : NMElementVersionStatus + } Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMElementPermission.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMElementPermission.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMElementPermission.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -5,10 +5,11 @@ package info.ngms.nmtree /** - * NGTreeのエレメントが持つアクセス許可を表現する抽象クラス + * NMTreeのエレメントが持つアクセス許可を表現するクラス * * @version $Id$ * @author ogasa****@itpl***** */ -abstract class NMElementPermission { +trait NMElementPermission { + val permissions : Map[NMUserGroup, NMAccessPermission] } Added: trunk/source/NMTree/src/info/ngms/nmtree/NMElementVersionStatus.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMElementVersionStatus.scala (rev 0) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMElementVersionStatus.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -0,0 +1,35 @@ +/* + * Next Generation Management System Project + * Copyright(c) 2009, NGMS Project Team All Rights Reserved. + */ +package info.ngms.nmtree + +/** + * NMTreeエレメントが持つバージョン管理ステータスの抽象クラス + */ +abstract class NMElementVersionStatus + +/** + * バージョン管理ステータスの一つ。他で定義された状態のいずれでもない状態を意味する。 + */ +case object Neutral extends NMElementVersionStatus + +/** + * バージョン管理ステータスの一つ。バージョン管理元と不整合が発生している状態を意味する。 + */ +case object Conflict extends NMElementVersionStatus + +/** + * バージョン管理ステータスの一つ。バージョン管理元と比べて変更が加えられている状態を意味する。 + */ +case object Modified extends NMElementVersionStatus + +/** + * バージョン管理ステータスの一つ。バージョン管理元には加えられていないエレメントであることを示す。 + */ +case object Added extends NMElementVersionStatus + +/** + * バージョン管理ステータスの一つ。バージョン管理元には存在するがローカルには削除されたエレメントであることを示す。 + */ +case object Deleted extends NMElementVersionStatus Property changes on: trunk/source/NMTree/src/info/ngms/nmtree/NMElementVersionStatus.scala ___________________________________________________________________ Added: svn:keywords + Id Revision Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMFileSystemTree.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMFileSystemTree.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMFileSystemTree.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -46,7 +46,6 @@ val id : Long = 0L val header = h val body = b - def localCommit() : Unit = { } } } @@ -55,7 +54,9 @@ new { val id : Long = 0L val lines : Array[Array[String]] = Array(Array()) - def localCommit() : Unit = {} + def foldl[T] (init : T) (f : (T, Array[String]) => T) : T = { + init + } } } @@ -94,18 +95,39 @@ new NMElementAttribute { val size = 0L val lastUpdateDate = new Date( file.lastModified() ) + val versionStatus = Neutral } } + + def permission( path : NMPath ) : NMElementPermission = { + // 未実装 + new NMElementPermission { val permissions = Map[NMUserGroup, NMAccessPermission]() } + } + + def versionStatus( path : NMPath ) : NMElementVersionStatus = { + Neutral + } + } object TreeOperations { def move( src : NMPath, dst : NMPath ) : Unit = { } - def copy( src : NMPath, dst : NMPath, overwrite : Boolean ) : Unit = { } + def copy( src : NMPath, dst : NMPath, overwrite : Boolean, recursive : Boolean ) : Unit = { } def delete( path : NMPath, recursive : Boolean ) : Unit = { } def symLink( src : NMPath, dst : NMPath ) : Unit = { } + + def changePermission( src : NMPath, permission : NMElementPermission ) : Unit = { } + + def update( src : NMPath, recursive : Boolean ) : Unit = { } + + def commit( src : NMPath, recursive : Boolean ) : Unit = { } + + def revert( src : NMPath ) : Unit = { } + + def resolve( src : NMPath ) : Unit = { } } def pathOp : NMTree.TPathOperations = PathOperations Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMPath.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMPath.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMPath.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -4,6 +4,11 @@ */ package info.ngms.nmtree +/** + * パスを表現し、その操作を内包するクラス。 + * @version $Id$ + * @auther ogasa****@itpl***** + */ object NMPath { val separator : String = "/" @@ -34,6 +39,11 @@ } } +/** + * パスを表現し、その操作を内包するクラス。 + * @version $Id$ + * @auther ogasa****@itpl***** + */ class NMPath ( path : String ) { val canonical = NMPath.canonical(path) @@ -108,6 +118,7 @@ def kind : NMTreeElementKind = { + //未実装 Node } Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMTree.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMTree.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMTree.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -8,7 +8,6 @@ import java.io.InputStream import java.io.OutputStream - /** * NGMS用木構造を表現するクラス * @@ -17,6 +16,9 @@ */ object NMTree { + /** + * 木構造のパス操作の実装が必ず備えているべき関数一覧 + */ type TPathOperations = { /* @@ -44,8 +46,22 @@ */ def attribute( path : NMPath ) : NMElementAttribute + /* + * パスが示すエレメントが持つアクセス許可を返す + * @return パスが示すエレメントが持つアクセス許可。 + */ + def permission( path : NMPath ) : NMElementPermission + + /* + * パスが示すエレメントが持つバージョン管理ステータスを返す。 + * @return パスが示すエレメントが持つバージョン管理ステータス。 + */ + def versionStatus( path : NMPath ) : NMElementVersionStatus } + /** + * 木構造の操作の実装が必ず備えているべき関数一覧 + */ type TTreeOperations = { /* * パスの移動を定義する関数。 @@ -55,6 +71,7 @@ * @throws SourceNotFoundException * @throws DestinationNotFoundException * @throws DestinationAlreadyExistsException + * @throws LowLevelException */ def move( src : NMPath, dst : NMPath ) : Unit @@ -63,12 +80,14 @@ * @param src コピー元のパス * @param dst コピー先のパス。コピー先のパスが作成されたコピーの親になる。 * @param overwrite trueの場合、コピー先にすでに同じパスが存在しても上書きを行う。 + * @param recursive trueが指定された場合は、指定されたパスの子供を再帰的に辿り、全ての子供をコピーする。 * @throws AppPermissionException * @throws SourceNotFoundException * @throws DestinationNotFoundException * @throws DestinationAlreadyExistsException + * @throws LowLevelException */ - def copy( src : NMPath, dst : NMPath, overwrite : Boolean ) : Unit + def copy( src : NMPath, dst : NMPath, overwrite : Boolean, recursive : Boolean ) : Unit /* * パスの削除を定義する関数。 @@ -76,7 +95,8 @@ * @param recursive trueが指定された場合は、指定されたパスの子供を再帰的に辿り、全ての子供を削除する。 * @throws AppPermissionException * @throws DestinationNotFoundException - */ + * @throws LowLevelException + */ def delete( path : NMPath, recursive : Boolean ) : Unit /* @@ -86,10 +106,62 @@ * @throws AppPermissionException * @throws DestinationNotFoundException * @throws DestinationAlreadyExistsException + * @throws LowLevelException */ def symLink( src : NMPath, dst : NMPath ) : Unit + + /* + * エレメントのアクセス許可を定義する関数。 + * @param src アクセス許可を変更したいパス。 + * @param dst リンクした結果新しく作成されるパス。 + * @throws AppPermissionException + * @throws SourceNotFoundException + * @throws LowLevelException + */ + def changePermission( src : NMPath, permission : NMElementPermission ) : Unit + + /* + * バージョン管理元から最新のデータをローカルへ変更を反映する関数。 + * @param src 変更を反映したいパス + * @param recursive 指定されたパスの子エレメントを再帰的にバージョン管理元へ反映したい時にtrueを設定する。 + * @throws AppPermissionException + * @throws SourceNotFoundException + * @throws LowLevelException + */ + def update( src : NMPath, recursive : Boolean ) : Unit + + /* + * バージョン管理元へローカルな変更を反映する関数。 + * @param src 変更を反映したいパス + * @param recursive 指定されたパスの子エレメントを再帰的にバージョン管理元へ反映したい時にtrueを設定する。 + * @throws AppPermissionException + * @throws SourceNotFoundException + * @throws CannotCommitOldVersionException + * @throws CannotCommitConflictException + * @throws LowLevelException + */ + def commit( src : NMPath, recursive : Boolean ) : Unit + + /* + * ローカルな変更を破棄して、指定されたエレメントとバージョン管理元に合わせる関数。 + * @throws AppPermissionException + * @throws SourceNotFoundException + * @throws LowLevelException + */ + def revert( src : NMPath ) : Unit + + /* + * ローカルなエレメントの衝突状態が解消されたことを知らせる関数。 + * @throws AppPermissionException + * @throws SourceNotFoundException + * @throws LowLevelException + */ + def resolve( src : NMPath ) : Unit } + /** + * Streamエレメントの実装が必ず備えているべき変数、関数一覧 + */ type TStreamElement = { /* * グローバルに一意な番号。同一ファイルには同一のIDが割り振られ、変化しない。 @@ -108,6 +180,9 @@ val output : OutputStream } + /** + * Descriptionエレメントの実装が必ず備えているべき変数、関数一覧 + */ type TDescriptionElement = { /* * グローバルに一意な番号。同一ファイルには同一のIDが割り振られ、変化しない。 @@ -115,23 +190,77 @@ */ val id : Long - val header : scala.collection.mutable.LinkedHashMap[String, NMDescription] + /* + * Descriptionエレメントに含まれる全NMDescription。 + * 出現順番は実装依存。 + */ + def descriptions : List[NMDescription] + + /* + * 指定されたタグに対応する値を返す。 + * @param tag 欲しいと思う値のタグ。 + * @return 指定されたタグが存在すればそのタグに対応する値、無ければNone。 + */ def findVal(tag : String) : Option[String] + + /* + * 指定されたタグに対応する値を用いて指定された関数を呼び出す。 + * @param tag 欲しいと思う値のタグ + * @param default 指定されたタグが存在しない場合に関数へ渡される値。 + * @param f 実行される関数。 + * @return 関数fの戻り値。 + */ def findWith[A](tag : String) (default : A) (f : NMDescription => A) : A - def update(tag : String, value : String) : Unit - def localCommit() : Unit + + /* + * 指定されたタグと値をエレメントに書き込む。 + * @param tag キーと成るタグ。 + * @param value タグに対応する値。 + * @param comment コメント。 + */ + def update(tag : String, value : String, comment : String) : Unit + + /* + * 指定されたDescriptionをエレメントに書き込む。 + * @param dscr Description情報のインスタンス + */ + def set( dscr : NMDescription ) : Unit + + /* + * 指定された関数を実行後、変更された内容をエレメントへ書き込む。同時に複数のDescriptionを更新する場合に用いる。 + * @param f 更新をするための関数。引数には現在のDescription情報が渡され、戻り値のDescription情報がエレメントへ反映される。 + */ + def update( f : List[NMDescription] => List[NMDescription] ) : Unit } + /** + * Tableエレメントの実装が必ず備えているべき変数、関数一覧 + */ type TTableElement = { /* * グローバルに一意な番号。同一ファイルには同一のIDが割り振られ、変化しない。 * このIDはパスに依存しない。 */ val id : Long + + /* + * Tableエレメントに含まれるデータをArray[Arrayy[String]]として表現したもの。 + * 実装はlines変数をlazyにしなければならない。 + */ val lines : Array[Array[String]] - def localCommit() : Unit + + /* + * Tableエレメントのデータを各行のArrayと見たときの左側畳み込み関数。 + * @param init 畳み込みの初期値。 + * @param f 畳み込み関数。引数に渡されるArray[String]は一行を列に分けたときの配列。 + * @return 畳み込まれた値。 + */ + def foldl[T] (init : T) (f : (T, Array[String]) => T) : T } + /** + * 木構造の実装が必ず備えているべき変数、関数一覧 + */ type NMTreeImplimentation = { def createStream( path : NMPath ) : TStreamElement def createDescription( path : NMPath ) : TDescriptionElement @@ -140,7 +269,7 @@ def treeOp : TTreeOperations } - object ImplMap { + private[nmtree] object ImplMap { val impls = scala.collection.mutable.Map.empty[String, NMTreeImplimentation] def find( path : String ) : Option[NMTreeImplimentation] = { // 未実装 @@ -194,7 +323,7 @@ case class DepthFirst( order : WalkOrder ) extends WalkDirection case object BreadthFirst extends WalkDirection - def traversal[T]( root : NMPath, dir : WalkDirection) (f : Tuple2[T, NMPath] => T) ( init : T ) : T = { + def traversal[T]( root : NMPath, dir : WalkDirection) (f : (T, NMPath) => T) ( init : T ) : T = { // 未実装 init } Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMTreeElements.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMTreeElements.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMTreeElements.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -1,3 +1,7 @@ +/* + * Next Generation Management System Project + * Copyright(c) 2009, NGMS Project Team All Rights Reserved. + */ package info.ngms.nmtree abstract class NMTreeElementKind Modified: trunk/source/NMTree/src/info/ngms/nmtree/NMTreeOperations.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMTreeOperations.scala 2009-11-18 06:57:16 UTC (rev 40) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMTreeOperations.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -34,6 +34,21 @@ */ case class DestinationAlreadyExistsException( dst : NMPath ) extends NMTreeOperationException + /** + * 指定された操作元のバージョンがバージョン管理元より古い場合に発生する例外。 + */ + case class CannotCommitOldVersionException( src : NMPath ) extends NMTreeOperationException + + /** + * 指定された操作元がバージョン管理元と衝突している場合に発生する例外。 + */ + case class CannotCommitConflictException( src : NMPath ) extends NMTreeOperationException + + /** + * 下位レベルのエラーにより操作が実行できないことを意味する例外。 + */ + case class LowLevelException( msg : String ) extends NMTreeOperationException + /** * 木構造の操作を定義する抽象クラス。 */ @@ -50,14 +65,17 @@ * パスのコピーを定義するケースクラス。 * @param src コピー元のパス * @param dst コピー先のパス。コピー先のパスが作成されたコピーの親になる。 + * @param overwrite trueの場合、コピー先にすでに同じパスが存在しても上書きを行う。 + * @param recursive trueが指定された場合は、指定されたパスの子供を再帰的に辿り、全ての子供をコピーする。 */ -case class Copy( src : NMPath, dst : NMPath ) extends NMTreeOperations +case class Copy( src : NMPath, dst : NMPath, overwrite : Boolean, recursive : Boolean ) extends NMTreeOperations /** * パスの削除を定義するケースクラス。 * @param path 指定されたパスが削除される。 + * @param recursive trueが指定された場合は、指定されたパスの子供を再帰的に辿り、全ての子供を削除する。 */ -case class Delete( path : NMPath ) extends NMTreeOperations +case class Delete( path : NMPath, recursive : Boolean ) extends NMTreeOperations /** * シンボリックリンクを定義するケースクラス。 @@ -65,3 +83,36 @@ * @param dst リンクした結果新しく作成されるパス。 */ case class SymLink( src : NMPath, dst : NMPath ) extends NMTreeOperations + +/** + * エレメントへのアクセス許可の変更を定義するケースクラス + * @param src 変更を反映したいパス。 + * @param permission 変更後のアクセス許可 + */ +case class ChangePermission( src : NMPath, permission : NMElementPermission ) extends NMTreeOperations + +/** + * バージョン管理元から最新のデータをローカルへ反映させる操作を定義するケースクラス + * @param src 変更を反映したいパス + * @param recursive 指定されたパスの子エレメントを再帰的にバージョン管理元へ反映したい時にtrueを設定する。 + */ +case class Update( src : NMPath ) extends NMTreeOperations + +/** + * バージョン管理元へ変更を通知する操作を定義するケースクラス + * @param src 変更を反映したいパス + * @param recursive 指定されたパスの子エレメントを再帰的にバージョン管理元へ反映したい時にtrueを設定する。 + */ + case class Commit( src : NMPath, recursive : Boolean ) extends NMTreeOperations + +/** + * 指定されたパスのローカルな変更を破棄し、バージョン管理元に合わせる操作を定義するケースクラス。 + * @param src ローカルな変更を破棄したいパス。 + */ + case class Revert( src : NMPath ) extends NMTreeOperations + +/** + * 指定されたパスのバージョン管理元との衝突状態を解消する操作を定義するケースクラス。 + * @param src 衝突を解消したいパス + */ + case class Resolve( src : NMPath ) extends NMTreeOperations Added: trunk/source/NMTree/src/info/ngms/nmtree/NMUser.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMUser.scala (rev 0) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMUser.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -0,0 +1,23 @@ +/* + * Next Generation Management System Project + * Copyright(c) 2009, NGMS Project Team All Rights Reserved. + */ +package info.ngms.nmtree + +/** + * ユーザー権限を特徴付けるユーザを表現するクラス + * + * @version $Id$ + * @author ogasa****@itpl***** + */ +trait NMUser { + /** + * ユーザーID + */ + val id : Int + + /** + * ユーザー名 + */ + val name : String +} Property changes on: trunk/source/NMTree/src/info/ngms/nmtree/NMUser.scala ___________________________________________________________________ Added: svn:keywords + Id Revision Added: trunk/source/NMTree/src/info/ngms/nmtree/NMUserGroup.scala =================================================================== --- trunk/source/NMTree/src/info/ngms/nmtree/NMUserGroup.scala (rev 0) +++ trunk/source/NMTree/src/info/ngms/nmtree/NMUserGroup.scala 2009-11-19 11:58:03 UTC (rev 41) @@ -0,0 +1,23 @@ +/* + * Next Generation Management System Project + * Copyright(c) 2009, NGMS Project Team All Rights Reserved. + */ +package info.ngms.nmtree + +/** + * ユーザー権限を記述するグループの表現 + * + * @version $Id$ + * @author ogasa****@itpl***** + */ +trait NMUserGroup { + /** + * このグループ名 + */ + val name : String + + /** + * このグループに属するユーザーのリスト + */ + val users : List[NMUser] +} Property changes on: trunk/source/NMTree/src/info/ngms/nmtree/NMUserGroup.scala ___________________________________________________________________ Added: svn:keywords + Id Revision