org.unitedfront2.domain.accesscontrol
Interface AccessControl

All Superinterfaces:
Deletable, Identifiable<AccessControl>, Serializable, Storable
All Known Implementing Classes:
AbstractAccessControl, AccessControlProxy, AuthorOnly, FriendOnly, FriendsOfFriendsOnly, OwnerOnly, Public, UserOnly

public interface AccessControl
extends Serializable, Identifiable<AccessControl>, Storable, Deletable

資源に対するアクセス制御ロジックを実装するためのインターフェースです。アクセス制御の対象となる資源は Resource インターフェースを実装する必要があります。

資源の所有者は、その資源に対する全ての権限を持っています。

Author:
kurokkie
See Also:
org.unitedfront2.domain.accesscontrol

Method Summary
 void access(CopyrightedResource resource)
          不特定ユーザとして著作物にアクセスします。
 void access(CopyrightedResource resource, int userId)
          ユーザが著作物にサクセスします。
 void access(CopyrightedResource resource, User user)
          ユーザが著作物にサクセスします。
 void access(Resource resource)
          不特定ユーザとして資源にアクセスします。
 void access(Resource resource, int userId)
          ユーザが資源にアクセスします。
 void access(Resource resource, User user)
          ユーザが資源にアクセスします。
 AccessControl changeTo(Class<? extends AccessControl> clazz)
          指定したアクセス制御タイプに変更します。
 AccessControl changeTo(String className)
          指定したアクセス制御タイプに変更します。
 void delete()
          自身をデータベースから削除します。データに不整合が生じた場合、例外が発生します。このメソッドの呼出し 後、ドメインオブジェクトは使用できません。
 Integer getId()
           
 Class<? extends AccessControl> getType()
          このアクセス制御型を返します。アクセス制御の処理には Object.getClass() ではなく このメソッドを使用してください。プロキシ AccessControlProxy によって保護されている アクセス制御クラスであってもこのメソッドは
 void setId(Integer id)
           
 void store()
          自身を永続化します。永続化の対象は、transient 修飾子が付いていない、全ての 永続プロパティです。主キーが設定されていなければ新規のデータとして登録し、主キーが設定されていれ ば既存のデータを更新します。永続化の過程で主キーなどが自動生成された場合、自身の対応するプロパ ティに自動生成された値が設定されます。データに不整合が生じた場合、例外が発生します。
 
Methods inherited from interface org.unitedfront2.domain.Identifiable
identify
 

Method Detail

access

void access(Resource resource)
            throws AccessDeniedException
不特定ユーザとして資源にアクセスします。

Parameters:
resource - 資源
Throws:
AccessDeniedException - アクセス拒否

access

void access(Resource resource,
            int userId)
            throws AccessDeniedException
ユーザが資源にアクセスします。

Parameters:
resource - 資源
userId - ユーザ ID
Throws:
AccessDeniedException - アクセス拒否
????:
${userId} exists.

access

void access(Resource resource,
            User user)
            throws AccessDeniedException
ユーザが資源にアクセスします。

Parameters:
resource - 資源
user - ユーザ
Throws:
AccessDeniedException - アクセス拒否
????:
${userId} exists.

access

void access(CopyrightedResource resource)
            throws AccessDeniedException
不特定ユーザとして著作物にアクセスします。

Parameters:
resource - 著作物
Throws:
AccessDeniedException - アクセス拒否

access

void access(CopyrightedResource resource,
            int userId)
            throws AccessDeniedException
ユーザが著作物にサクセスします。

Parameters:
resource - 著作物
userId - ユーザ ID
Throws:
AccessDeniedException - アクセス拒否
????:
${userId} exists.

access

void access(CopyrightedResource resource,
            User user)
            throws AccessDeniedException
ユーザが著作物にサクセスします。

Parameters:
resource - 著作物
user - ユーザ
Throws:
AccessDeniedException - アクセス拒否
????:
${userId} exists.

store

void store()
Description copied from interface: Storable
自身を永続化します。永続化の対象は、transient 修飾子が付いていない、全ての 永続プロパティです。主キーが設定されていなければ新規のデータとして登録し、主キーが設定されていれ ば既存のデータを更新します。永続化の過程で主キーなどが自動生成された場合、自身の対応するプロパ ティに自動生成された値が設定されます。データに不整合が生じた場合、例外が発生します。

Specified by:
store in interface Storable

delete

void delete()
Description copied from interface: Deletable
自身をデータベースから削除します。データに不整合が生じた場合、例外が発生します。このメソッドの呼出し 後、ドメインオブジェクトは使用できません。

Specified by:
delete in interface Deletable

changeTo

AccessControl changeTo(String className)
指定したアクセス制御タイプに変更します。

Parameters:
className - クラス名
Returns:
変更後のアクセス制御(このオブジェクト自身)

changeTo

AccessControl changeTo(Class<? extends AccessControl> clazz)
指定したアクセス制御タイプに変更します。

Parameters:
clazz - アクセス制御クラス
Returns:
変更後のアクセス制御(このオブジェクト自身)

getType

Class<? extends AccessControl> getType()
このアクセス制御型を返します。アクセス制御の処理には Object.getClass() ではなく このメソッドを使用してください。プロキシ AccessControlProxy によって保護されている アクセス制御クラスであってもこのメソッドは

Returns:
アクセス制御タイプ

getId

Integer getId()

setId

void setId(Integer id)


Copyright © 2007-2009 www.unitedfront2.org. All Rights Reserved.