|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectwt.prefs.delegates.PreferenceDelegate
wt.prefs.delegates.WindchillEnterpriseDelegate
This class is provided as a potential top level delegate for customizations.
Out-of-the-box, this delegate will provide customers with the ability
to set system wide preferences and policies based on the System Default
preferences. The ruleset for this delegate is that any member of the
Windchill Group Administrators will have the authority to administrate and edit preferences at this
level in the preference Heirarchy. Thus, this delegate fills a gap between
the wt.prefs.delegates.UserDelegate
and
wt.prefs.delegates.DefaultSystemDelegate
which allows
preference values and preference policies to be
set different from the system default but available to all users.
Like all delegates, this delegate
could be subclassed and it's methods overloaded to handle a customers
situation, or not be implemented at all. The order of delegates are defined
in the delegates.properties
file under the property
wt.prefs.delegates.DelegateOrder
which defines the heirarchy
of delegates from top to bottom. See wt.prefs.delegates.PreferenceDelegate
for more details on this property.
When using this delegate in the Preference Heirarchy, the
wt.prefs.delegates.DelegateOrder
property entry for this delegate
should appear as $DIVISION:Windchill Enterprise
. As well, in
the load file preferences.txt
an entry should be included which
defines the class to invoke for this delegate definition. The shipped
preferences.txt file should include a line
which defines that the fully qualified preference name
PrefEntry~$DIVISION:Windchill Enterprise~wt.prefs.delegates.WindchillEnterpriseDelegate~/wt/prefs/delegates
wt/prefs/delegates/$DIVISION:Windchill Enterprise
will utilize the class wt.prefs.delegates.WindchillEnterprsieDelegate
.
Customizing WindchillEnterpriseDelegate
This delegate can be easily customized to handle different users
beyond those defined in the delegate.properties
file without changing
the inplace heirarchy of preferences. First the following step should be done.
wt.customizations.prefs.MySystemAdminDelegate
).WINDCHILL_ENTERPRISE
is defined as public the subclass may
utilize the parent's methods.
isAdministrator(String division, WTUser user)
should be overloaded to include any code that will include additional users
beyond those defined to be memebers of the Administrators Group A sample
of this method might be: public boolean isAdministrator(String division, WTUser user)
{
boolean tvadmin = super.isAdministrator(division,user);
if( tvadmin == false )
{
// do custom user validation.
}
return tvadmin;
}
This would be all that is necessary to develop a delegate which uses
Windchill Administrators and some other users (such as a new group, etc.).
PreferenceDelegate
,
DefaultSystemDelegate
,
UserDelegate
,
PrefsUtil
,
WTPreferences
,
Preferences
Field Summary | |
static String |
WINDCHILL_ENTERPRISE
non-changeable name for this delegate's division. |
Fields inherited from class wt.prefs.delegates.PreferenceDelegate |
DELEGATE_FILE, DELEGATE_ORDER, DELEGATE_PREFERENCE_NODE |
Constructor Summary | |
WindchillEnterpriseDelegate()
|
Method Summary | |
ArrayList |
getDivisions(WTUser user)
This method will return the heirarchial divisions for the named user that this delegate is responsible for. |
ArrayList |
getDivisionsAsAdministrator(WTUser user)
This method will return the divisions which the user has administrative privileges for. |
String |
getLocalizedName(String division,
Locale aLocale)
This method will retrieve the localized name of this Delegate from the resource bundle wt.prefs.prefsResource for display
purposes. |
boolean |
isAdministrator(String division,
WTUser user)
Will determine if the user is an adminstrator of the division. |
Methods inherited from class wt.prefs.delegates.PreferenceDelegate |
getDivisions, getDivisionsAsAdministrator, isAdministrator |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final String WINDCHILL_ENTERPRISE
Constructor Detail |
public WindchillEnterpriseDelegate()
Method Detail |
public String getLocalizedName(String division, Locale aLocale)
wt.prefs.prefsResource
for display
purposes.
getLocalizedName
in class PreferenceDelegate
division
- (ignored)aLocale
- The locale of the client for the message.
public boolean isAdministrator(String division, WTUser user)
isAdministrator
in class PreferenceDelegate
user
- The user of determine administrative privileges for.division
- The divsion to apply the privileges too (ignored in
this class, since this is the top-level division in the heirarchy
public ArrayList getDivisionsAsAdministrator(WTUser user)
getDivisionsAsAdministrator
in class PreferenceDelegate
user
- The user to check authentication on.
public ArrayList getDivisions(WTUser user)
getDivisions
in class PreferenceDelegate
user
- ignored.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |