|
SAP NetWeaver 7.20 (SP01) Composition Environment | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IPrincipalFactory
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 |
|---|
static final String VERSIONSTRING
static final String IUSER
static final String IUSERACCOUNT
static final String IGROUP
static final String IROLE
static final String IPRINCIPAL
static final String IPRINCIPALSET
static final String ICUSTOM_OBJECT
| Method Detail |
|---|
String getPrincipalType(String uniqueId)
throws UMException
IUSER, IUSERACCOUNT,
IGROUP, IROLE,
IPRINCIPAL, IPRINCIPALSET
uniqueId - The unique id of a principal
UMException
IPrincipal getPrincipal(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
IPrincipal getPrincipal(String uniqueId,
AttributeList populateAttributes)
throws UMException
uniqueId - The unique id of the principalpopulateAttributes - The attributes which should be populated
UMException
boolean isPrincipalModifiable(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
boolean isPrincipalDeletable(String uniqueId)
throws UMException
uniqueId - The unique id of the principal
UMException
boolean isPrincipalAttributeModifiable(IPrincipal principal,
String namespace,
String attributename)
throws UMException
principal - The principalnamespace - The namespace of the attributeattributename - The name of the attribute
UMException
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
IPrincipal[] getPrincipals(String[] uniqueIDs)
throws NoSuchPrincipalException
uniqueIDs - array of uniqueIDs which are used to identify the principal objects
NoSuchPrincipalException - if one or more of the given unique IDs
are not assigned to any object
IPrincipal[] getPrincipals(String[] uniqueIDs,
AttributeList populateAttributes)
throws NoSuchPrincipalException
uniqueIDs - array of uniqueIDs which are used to identify the principal objectspopulateAttributes - AttributeList
NoSuchPrincipalException - if one or more of the given unique IDs
are not assigned to any objectIPrincipalMaint 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
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
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().
copyFrom - The object which is used as a blueprint
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().
copyFrom - The object which is used as a blueprint
void deletePrincipal(String uniqueID)
throws UMException
uniqueID - The unique id of the principal
UMException - if the object can't be deleted
void deletePrincipals(String[] uniqueIDs)
throws UMException
uniqueIDs - The unique ids of the principals
UMException - if the objects can't be deleted
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.
objects - Objects which should be stored to the data store
UMException - if one or more of the IPrincipalMaint objects cannot
be stored successfully.
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.
objects - Objects which should be stored to the data store
UMException - if one or more of the IPrincipalMaint objects cannot
be discarded successfully.
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.
filter - filter defined to search for principals
UMException
void savePrincipals(IPrincipalMaint[] objects)
throws UMException
objects - objects which should be saved
UMException
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
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.
String getPrincipalTypeIdentifier(String uniqueId)
throws UMException
uniqueId - the unique id of the object
UMException
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
void addPrincipalToParent(String customObjectId,
String parentPrincipalId)
throws UMException
customObjectId - uniqueId of PrincipalparentPrincipalId - uniqueId of the parent Principal
UMException - if data cannot be stored successfully
void removePrincipalFromParent(String customObjectId,
String parentPrincipalId)
throws UMException
customObjectId - uniqueId of PrincipalparentPrincipalId - uniqueId of the parent Principal
UMException - if data cannot be stored successfully
void registerListener(PrincipalListener objectListener,
int modifier)
PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener
objectListener - object which should be registeredmodifier - constant defined in PrincipalListener
void registerListener(PrincipalListener objectListener,
int modifier,
boolean notifyAfterPhysicalCommitCompleted)
PrincipalListener
The caller has to provide a receiver object which implements PrincipalListener
objectListener - object which should be registeredmodifier - 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.void unregisterListener(PrincipalListener objectListener)
objectListener - object which should be unregistered
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
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
void deregisterPrincipalMetaData(String principalTypeIdentifier)
throws UMException
principalTypeIdentifier - The principal type identifier.
UMException
IPrincipalMetaData[] getAvailablePrincipalMetaData()
throws UMException
UMException
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
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
UMException - if an error occurs.
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| Access Rights |
|---|
| SC | DC |
|---|---|
[sap.com] ENGINEAPI
|
[sap.com] com.sap.security.api.sda
|
[sap.com] ENGFACADE
|
[sap.com] tc/je/usermanagement/api
|
[sap.com] CORE-TOOLS
|
[sap.com] com.sap.engine.client.lib
|
|
SAP NetWeaver 7.20 (SP01) Composition Environment | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||