|
SAP NetWeaver 2004S SPS 09 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
The principal factory provides means to
NOTE: As this interface can be extended, this interface can be freely used, but must not be implemented.
| Field Summary | |
static String |
ICUSTOM_OBJECT
Deprecated. |
static String |
IGROUP
|
static String |
IPRINCIPAL
|
static String |
IPRINCIPALSET
|
static String |
IROLE
|
static String |
IUSER
|
static String |
IUSERACCOUNT
|
static String |
VERSIONSTRING
|
| Method Summary | |
void |
addDataSource(InputStream configuration)
Adds a new datasource dynamically to IPrincipalFactory. |
void |
addPrincipalToParent(String customObjectId,
String parentPrincipalId)
assign customObject with customObjectId to parent-customOjbect with parentPrincipalId. |
void |
commitPrincipals(IPrincipalMaint[] objects)
Commit the changes applied to a set of objects to the object
store in one pass. |
void |
deletePrincipal(String uniqueID)
Delete a object from the use store |
void |
deletePrincipals(String[] uniqueIDs)
Delete objects from the principal store |
void |
deregisterPrincipalMetaData(String principalTypeIdentifier)
Deregisters the IPrincipalMetaData object. |
IPrincipalMetaData[] |
getAvailablePrincipalMetaData()
Get all available IPrincipalMetaData objects. |
IPrincipalMaint |
getMutablePrincipal(String uniqueId)
Get a object which can be modified. |
IPrincipal |
getPrincipal(String uniqueId)
Get a principal by using its id. |
IPrincipal |
getPrincipal(String uniqueId,
AttributeList populateAttributes)
Get a principal by using its uniqueId and the populateAttributes which should be populated. |
IPrincipalMetaData |
getPrincipalMetaData(String principalTypeIdentifier)
Get a IPrincipalMetaData object for the given principal type identifier. |
IPrincipal[] |
getPrincipals(String[] uniqueIDs)
Gets the objects for multiple unique IDs |
IPrincipal[] |
getPrincipals(String[] uniqueIDs,
AttributeList populateAttributes)
Gets the objects for multiple unique IDs and populates all attributes in populateAttributes |
IPrincipalSearchFilter |
getPrincipalSearchFilter(boolean orMode,
String principalTypeIdentifier)
Returns an IPrincipalSearchFilter object to be used to specify query attributes IPrincipalSearchFilter only contains attributes which will be queried |
String |
getPrincipalType(String uniqueId)
get the data type out of a principal's uniqueId. |
String |
getPrincipalTypeIdentifier(String uniqueId)
Get the principal type identifier for this custom object. |
boolean |
isPrincipalAttributeModifiable(IPrincipal principal,
String namespace,
String attributename)
Checks whether a specific attribute of the given principal is modifiable. |
boolean |
isPrincipalAttributeModifiable(String uniqueId,
String namespace,
String attributename)
Checks whether a specific attribute of the principal with the given uniqueId is modifiable. |
boolean |
isPrincipalDeletable(String uniqueId)
Checks whether the principal with the given uniqueId can be deleted. |
boolean |
isPrincipalModifiable(String uniqueId)
Checks whether at least one attribute of the principal with the given uniqueId is modifiable. |
IPrincipalMaint |
newPrincipal(IPrincipal copyFrom)
Creates a new object. |
IPrincipalMaint |
newPrincipal(String principalTypeIdentifier)
Creates a new, initially blank object. |
IPrincipalMetaData |
newPrincipalMetaData(String principalTypeIdentifier,
int principalType)
Returns a new IPrincipalMetaData object, or throws a ObjectAlreadyExistsException, if there is already a IPrincipalMetaData object for the given principalTypeIdentifier. |
IPrincipalMaint[] |
newPrincipals(String principalTypeIdentifier,
int num)
Creates new, initially blank object objects. |
IPrincipalSet |
newPrincipalSet(IPrincipalSet copyFrom)
Creates a new object. |
IPrincipalSet |
newPrincipalSet(String principalTypeIdentifier)
Creates a new, initially blank object. |
void |
registerListener(PrincipalListener objectListener,
int modifier)
registerListener allows to subscribe to a predefined eventName PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener |
void |
registerListener(PrincipalListener objectListener,
int modifier,
boolean notifyAfterPhysicalCommitCompleted)
registerListener allows to subscribe to a predefined eventName PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener |
void |
registerPrincipalMetaData(IPrincipalMetaData metadata)
Registers the given IPrincipalMetaData object. |
void |
removePrincipalFromParent(String customObjectId,
String parentPrincipalId)
unassign customObject with customObjectId to parent-customOjbect with parentPrincipalId. |
void |
rollbackPrincipals(IPrincipalMaint[] objects)
Roll back (i.e. discard) the changes applied to a set of objects
.
|
void |
savePrincipals(IPrincipalMaint[] objects)
Batch save, the data is not made permanent until commitObjects() is called |
ISearchResult |
searchPrincipals(IPrincipalSearchFilter filter)
Search for objects in the objects store which match the criteria specified in the given filter. |
ISearchResult |
simplePrincipalSearch(String searchCriteria,
String principalType,
int mode,
boolean caseSensitive,
Map searchAttributes)
Search for principals using the default attributes (or combined) which are defined in the UME configuration. |
void |
unregisterListener(PrincipalListener objectListener)
unregisterListener unsubscribes a receiver from a previously subscribed event. |
| Methods inherited from interface com.sap.security.api.IConfigurable |
initialize |
| Field Detail |
public static final String VERSIONSTRING
public static final String IUSER
public static final String IUSERACCOUNT
public static final String IGROUP
public static final String IROLE
public static final String IPRINCIPAL
public static final String IPRINCIPALSET
public static final String ICUSTOM_OBJECT
| Method Detail |
public String getPrincipalType(String uniqueId)
throws UMException
IUSER, IUSERACCOUNT,
IGROUP, IROLE,
IPRINCIPAL, IPRINCIPALSET
uniqueId - The unique id of a principal
UMException
public IPrincipal getPrincipal(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
public IPrincipal getPrincipal(String uniqueId,
AttributeList populateAttributes)
throws UMException
uniqueId - The unique id of the principalpopulateAttributes - The attributes which should be populated
UMException
public boolean isPrincipalModifiable(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
public boolean isPrincipalDeletable(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
public boolean isPrincipalAttributeModifiable(IPrincipal principal,
String namespace,
String attributename)
throws UMException
principal - The principalnamespace - The namespace of the attributeattributename - The name of the attribute
UMException
public boolean isPrincipalAttributeModifiable(String uniqueId,
String namespace,
String attributename)
throws UMException
uniqueId - The unique id of the principalnamespace - The namespace of the attributeattributename - The name of the attribute
UMException
public IPrincipal[] getPrincipals(String[] uniqueIDs)
throws NoSuchPrincipalException
NoSuchPrincipalException - if one or more of the given unique IDs
are not assigned to any object
public IPrincipal[] getPrincipals(String[] uniqueIDs,
AttributeList populateAttributes)
throws NoSuchPrincipalException
populateAttributes - AttributeList
NoSuchPrincipalException - if one or more of the given unique IDs
are not assigned to any objectpublic IPrincipalMaint newPrincipal(String principalTypeIdentifier)
IPrincipalMaint.commit().
Note: don't forget to add this type to the data source configuration. One data source
has to be home for this object type
principalTypeIdentifier - 4 letter Identifier for this new principal
public IPrincipalSet newPrincipalSet(String principalTypeIdentifier)
newPrincipal(String) After setting the appropriate data via
IPrincipalMaint's set-methods, the object object must be commited to the object
store via IPrincipalMaint.commit().
Note: don't forget to add this type to the data source configuration. One data source
has to be home for this object type
principalTypeIdentifier - 4 letter Identifier for this new principal
public IPrincipalSet newPrincipalSet(IPrincipalSet copyFrom)
copyFrom will be used as a template, i.e. some (but not
necessarily all) attributes will be copied to the new object. The unique
ID for the new object will be generated by the object factory.
After setting the appropriate data via set-methods, the principal object
must be commited to the principal store via IPrincipalMaint.commit().
public IPrincipalMaint newPrincipal(IPrincipal copyFrom)
copyFrom will be used as a template, i.e. some (but not
necessarily all) attributes will be copied to the new object. The unique
ID for the new object will be generated by the object factory.
After setting the appropriate data via set-methods, the principal object
must be commited to the principal store via IPrincipalMaint.commit().
public void deletePrincipal(String uniqueID)
throws UMException
UMException - if the object can't be deleted
public void deletePrincipals(String[] uniqueIDs)
throws UMException
UMException - if the objects can't be deleted
public void commitPrincipals(IPrincipalMaint[] objects)
throws UMException
objects to the object
store in one pass. Depending on the object factory's implementation, this
will result in better performance than calling IPrincipalMaint.commit()
on each object object individually.
Note that either commiting or rolling back changes will be
required to unlock objects if the object factory employs pessimistic
locking.
UMException - if one or more of the IPrincipalMaint objects cannot
be stored successfully.
public void rollbackPrincipals(IPrincipalMaint[] objects)
throws UMException
objects
.
Note that either commiting or rolling back changes will be
required to unlock objects if the object factory employs pessimistic
locking.
UMException - if one or more of the IPrincipalMaint objects cannot
be discarded successfully.
public ISearchResult searchPrincipals(IPrincipalSearchFilter filter)
throws UMException
given filter. In order to get a principal search filter use
getPrincipalSearchFilter(boolean,String).
You can define a search filter using methods of IPrincipalSearchFilter.
UMException
public void savePrincipals(IPrincipalMaint[] objects)
throws UMException
UMException
public IPrincipalMaint[] newPrincipals(String principalTypeIdentifier,
int num)
IPrincipalMaint.commit().
For batch save and commit savePrincipals(IPrincipalMaint[]) and
commitPrincipals(IPrincipalMaint[])
principalTypeIdentifier - The principal type identifiernum - number of new blank objects requested
public IPrincipalMaint getMutablePrincipal(String uniqueId)
throws UMException
IPrincipalMaint interface which contains the corresponding
set-methods.
uniqueId - The unique id of a principal
UMException - if no modifiable object can be provided.
public String getPrincipalTypeIdentifier(String uniqueId)
throws UMException
UMException
public IPrincipalSearchFilter getPrincipalSearchFilter(boolean orMode,
String principalTypeIdentifier)
throws UMException
IPrincipalSearchFilter only contains attributes which will be queried
orMode - used to define the logical operator of the searched
attributes. If orMode is true the searchfilter will combine the
specified attributes with the logical OR operator. If orMode is
false the defined search attributes are combined with the logical
AND operator.principalTypeIdentifier - specifies the type of the principal. Examples
of reserved principal types are "USER", "ROLE" or "GRUP". For details about the
principalTypeIdentifier see newPrincipal(String)
UMException
FeatureNotAvailableException
public void addPrincipalToParent(String customObjectId,
String parentPrincipalId)
throws UMException
customObjectId - uniqueId of PrincipalparentPrincipalId - uniqueId of the parent Principal
UMException - if data cannot be stored successfully
public void removePrincipalFromParent(String customObjectId,
String parentPrincipalId)
throws UMException
customObjectId - uniqueId of PrincipalparentPrincipalId - uniqueId of the parent Principal
UMException - if data cannot be stored successfully
public void registerListener(PrincipalListener objectListener,
int modifier)
PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener
modifier - constant defined in PrincipalListener
public void registerListener(PrincipalListener objectListener,
int modifier,
boolean notifyAfterPhysicalCommitCompleted)
PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener
modifier - constant defined in PrincipalListenernotifyAfterPhysicalCommitCompleted - Allows callers when set to false, to get a notification before the physical transaction is completed in order to include their actions into the same physical transaction.public void unregisterListener(PrincipalListener objectListener)
public IPrincipalMetaData newPrincipalMetaData(String principalTypeIdentifier,
int principalType)
throws UMException
principalTypeIdentifier - The principalTypeIdentifier which is described by the new IPrincipalMetaData objectprincipalType - The semantic principal type, e.g. IPrincipalMetaData.IPrincipalSet or IPrincipalMetaData.IPrincipal
ObjectAlreadyExistsException - if there is already a object for the given principal type
UMException
public void registerPrincipalMetaData(IPrincipalMetaData metadata)
throws UMException
principal type identifier as the given one. The object becomes persistent, and will also be
available after the restart of the system.
metadata - The IPrincipalMetaData object that should be registered
UMException
public void deregisterPrincipalMetaData(String principalTypeIdentifier)
throws UMException
principalTypeIdentifier - The principal type identifier.
UMException
public IPrincipalMetaData[] getAvailablePrincipalMetaData()
throws UMException
UMException
public IPrincipalMetaData getPrincipalMetaData(String principalTypeIdentifier)
throws NoSuchObjectException,
UMException
principal type identifier. If no
IPrincipalMetaData object is registered for the given principal type identifier, a
NoSuchObjectException is thrown.
principalTypeIdentifier - The principal type identifier
NoSuchObjectException - If no IPrincipalMetaData object is registered for the given principal type identifier
UMException
public void addDataSource(InputStream configuration)
throws UMException
NOTE: The configuration of the new datasource has to be compatible to the configurations of already loaded datasources. Otherwise malfunctions might occur. The implementing class must be accessible from UME-core.
configuration - a java.io.InputStream containing the
data source information in xml format which should be used
to initialize the given datasource
throws - UMException if an error occurs.
UMException
public ISearchResult simplePrincipalSearch(String searchCriteria,
String principalType,
int mode,
boolean caseSensitive,
Map searchAttributes)
throws UMException
searchCriteria - The search criteria which may contain wildcards if ISearchAttribute.LIKE_OPERATOR is used as modeprincipalType - The type of principal to search. Possible values are: IUSER, IUSERACCOUNT, IGROUP, IROLEmode - The modes defined in ISearchAttribute (e.g. ISearchAttribute.EQUALS_OPERATOR)caseSensitive - The case sensitivitysearchAttributes - A map with additional search attributes
like key:"company", value:"SAP"
UMException
|
SAP NetWeaver 2004S SPS 09 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||