Class UserOBS
A UserOBS object represents an association between a user object and an OBS object. Users are assigned to global OBS elements to define the scope of project and EPS security for the users. For a user to have access to a project or EPS, the user must be assigned to an OBS element within that project or EPS. (Or, the user must have Admin Superuser privileges.) This gives the user access to any WBS areas their assigned OBS is responsible for.
A utility class, SecurityHelper, has convenience methods for some of the more
common tasks related to security.
Project profiles are assigned to UserOBS objects. Note that this business object has a multi-part object ID; its object ID is a combination of its user object ID and its OBS object ID. The method createObjectId() can be used to create the multi-part object ID from the individual IDs.
See Also: Quick reference of UserOBS fields
-
Constructor Summary
ConstructorsConstructorDescriptionClass constructor specifying the Session.Class constructor specifying the Session and ObjectId of the object.Class constructor specifying the Session and the individual components of the multi-part key: UserObjectId and OBSObjectId.Class constructor called internally after objects are retrieved from the server. -
Method Summary
Modifier and TypeMethodDescriptioncreate()Creates this UserOBS object in the database.static ObjectId[]Creates multiple UserOBS objects in the database.static ObjectIdcreateObjectId(ObjectId userObjectId, ObjectId obsObjectId) Creates a multi-part ObjectId from two individual ObjectIds.voiddelete()Deletes this UserOBS object from the database.static voidDeletes multiple UserOBS objects from the database.static String[]Gets all fields for this business object.Gets the date this association was created.Gets the name of the user that created this association.static String[]Deprecated.static String[]Gets all fields that can be filtered.static String[]An internal method that should not be called directly by client code.An internal method that should not be called directly by client code.static String[]An internal method that should not be called directly by client code.Gets the date this association was last updated.Gets the name of the user that last updated this association.static String[]Gets all fields that are always exported at a minimum by the new flat XML exporterGets the ObjectId for this object.Gets the name of the person/role in the organization, sometimes referred to as the "responsible manager".Gets the unique ID of the OBS to which the user is granted access.Gets the name of security profile.Gets the unique ID of the project profile with which the user is granted access to the project and OBS.static String[]Gets all fields that must be set before calling create() on this business object.Gets the user's login name.Gets the unique ID of the user who is assigned to the project OBS.static String[]Gets all writable fields for this business object.static UserOBSLoads a single UserOBS object from the database.static BOIterator<UserOBS>Loads multiple UserOBS objects from the database.Loads an associated OBS object from the database.loadProjectProfile(String[] fields) Loads an associated ProjectProfile object from the database.Loads an associated User object from the database.voidSets the unique ID of the OBS to which the user is granted access.voidSets the unique ID of the project profile with which the user is granted access to the project and OBS.voidSets the unique ID of the user who is assigned to the project OBS.toString()Returns a string representation of the object.voidupdate()Updates this UserOBS object in the database.static voidUpdates multiple UserOBS objects in the database.Methods inherited from class com.primavera.integration.client.bo.BusinessObject
equals, getMaxFieldLength, getValue, getValue, hashCode, isNull, setEarlyDate, setNull, setObjectIdMethods inherited from class com.primavera.integration.client.BOBase
combineFields
-
Constructor Details
-
UserOBS
Class constructor specifying the Session. This constructor is most commonly used when create() is intended to be called on this object.- Parameters:
session- the Session
-
UserOBS
Class constructor specifying the Session and ObjectId of the object. This constructor is most commonly used when update() is intended to be called on this object. For this particular object, the ObjectId is multi-part, created from the UserObjectId and OBSObjectId field values. If you do not have the multi-part ObjectId already, it would be simpler to instead use the constructor that has multiple key parameters.- Parameters:
session- the SessionobjId- the ObjectId- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
UserOBS
public UserOBS(Session session, ObjectId userObjectId, ObjectId obsObjectId) throws BusinessObjectException Class constructor specifying the Session and the individual components of the multi-part key: UserObjectId and OBSObjectId. This constructor is most commonly used when update() is intended to be called on this object.- Parameters:
session- the SessionuserObjectId- the first ObjectId in the keyobsObjectId- the second ObjectId in the key- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
UserOBS
public UserOBS(Session session, com.primavera.infr.db.PrmRowSet rowSet, int iIndex) throws BusinessObjectException Class constructor called internally after objects are retrieved from the server. Client code should use one of the other constructors for this class.- Parameters:
session- the SessionrowSet- the PrmRowSet retrieved from the serveriIndex- the row index in the PrmRowSet associated with this business object- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
-
Method Details
-
loadProjectProfile
public ProjectProfile loadProjectProfile(String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads an associated ProjectProfile object from the database.- Parameters:
fields- fields to load- Returns:
- ProjectProfile the ProjectProfile object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
loadUser
public User loadUser(String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads an associated User object from the database.- Parameters:
fields- fields to load- Returns:
- User the User object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
loadOBS
public OBS loadOBS(String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads an associated OBS object from the database.- Parameters:
fields- fields to load- Returns:
- OBS the OBS object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
getUserObjectId
Gets the unique ID of the user who is assigned to the project OBS. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.- Returns:
- the value in the field UserObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setUserObjectId
Sets the unique ID of the user who is assigned to the project OBS. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.- Parameters:
o- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getOBSObjectId
Gets the unique ID of the OBS to which the user is granted access. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.- Returns:
- the value in the field OBSObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setOBSObjectId
Sets the unique ID of the OBS to which the user is granted access. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.- Parameters:
o- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getProjectProfileObjectId
Gets the unique ID of the project profile with which the user is granted access to the project and OBS. See the ProjectProfile class for a constant defining the fixed profile of Project Superuser. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Returns:
- the value in the field ProjectProfileObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setProjectProfileObjectId
Sets the unique ID of the project profile with which the user is granted access to the project and OBS. See the ProjectProfile class for a constant defining the fixed profile of Project Superuser. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Parameters:
o- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getUserName
Gets the user's login name.- Returns:
- the value in the field UserName
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getOBSName
Gets the name of the person/role in the organization, sometimes referred to as the "responsible manager".- Returns:
- the value in the field OBSName
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getProfileName
Gets the name of security profile.- Returns:
- the value in the field ProfileName
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCreateDate
Gets the date this association was created.- Returns:
- the value in the field CreateDate
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getLastUpdateDate
Gets the date this association was last updated.- Returns:
- the value in the field LastUpdateDate
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCreateUser
Gets the name of the user that created this association.- Returns:
- the value in the field CreateUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getLastUpdateUser
Gets the name of the user that last updated this association.- Returns:
- the value in the field LastUpdateUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getRequiredCreateFields
Gets all fields that must be set before calling create() on this business object. Generally the array will contain one field in each position, but if this business object requires either one field or another field to be set, both of those fields will appear in an element of the returned array separated by '|'. For example, if this business object requires field A to always be set, and field B or field C to be set, one element in the returned array will contain A, and one element will contain B|C.- Returns:
- String[] an array of required create fields
-
getFilterableFields
Gets all fields that can be filtered.- Returns:
- String[] an array of filterable fields
-
getInternalDefaultLoadFields
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getAllFields
Gets all fields for this business object.- Returns:
- String[] an array of all fields
-
getInternalAllFields
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getInternalAllFieldsSet
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getWritableFields
Gets all writable fields for this business object.- Returns:
- String[] an array of writable fields
-
getDefaultXMLExportFields
Deprecated.Gets the fields that are exported by the hierarchical XML exporter when no fields are specified. This method is no longer relevant since the hierarchical XML exporter has been replaced by the flat XML exporter.- Returns:
- String[] an array of field names
-
getMinimumXMLExportFields
Gets all fields that are always exported at a minimum by the new flat XML exporter- Returns:
- String[] an array of exported fields
-
toString
Returns a string representation of the object. The output is in XML. -
createObjectId
public static ObjectId createObjectId(ObjectId userObjectId, ObjectId obsObjectId) throws InvalidValueException Creates a multi-part ObjectId from two individual ObjectIds.- Parameters:
userObjectId- the ObjectId of the associated user object.obsObjectId- the ObjectId of the associated obs object.- Returns:
- ObjectId the multi-part ObjectId
- Throws:
InvalidValueException- if one of the input parameters was invalid.IllegalArgumentException- if one of the input parameters was null.
-
getObjectId
Gets the ObjectId for this object. The ObjectId field serves as the primary key for the associated table in the database. For this object, the ObjectId is multi-part, consisting internally of the UserObjectId and OBSObjectId fields.- Overrides:
getObjectIdin classBusinessObject- Returns:
- ObjectId the multi-part ObjectId of this object
- Throws:
BusinessObjectException- if the ObjectId fields were not loaded.
-
create
Creates this UserOBS object in the database.- Returns:
- ObjectId the unique ID of the newly created UserOBS object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
create
public static ObjectId[] create(Session session, UserOBS[] userobs) throws ServerException, NetworkException, BusinessObjectException Creates multiple UserOBS objects in the database.- Parameters:
session- the Session objectuserobs- array of UserOBS objects to create- Returns:
- ObjectId[] the array of unique IDs of newly created UserOBS objects
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
load
public static UserOBS load(Session session, String[] fields, ObjectId objId) throws ServerException, NetworkException, BusinessObjectException Loads a single UserOBS object from the database.- Parameters:
session- the Session objectfields- fields to loadobjId- unique ID of the UserOBS object- Returns:
- UserOBS the UserOBS object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
load
public static BOIterator<UserOBS> load(Session session, String[] fields, ObjectId[] objIds) throws ServerException, NetworkException, BusinessObjectException Loads multiple UserOBS objects from the database.- Parameters:
session- the Session objectfields- fields to loadobjIds- object ids of the UserOBS objects- Returns:
- BOIterator a business object iterator used to get the results of the load request
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
update
Updates this UserOBS object in the database.- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
update
public static void update(Session session, UserOBS[] userobs) throws ServerException, NetworkException, BusinessObjectException Updates multiple UserOBS objects in the database.- Parameters:
session- the Session objectuserobs- array of UserOBS objects to update- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
delete
Deletes this UserOBS object from the database.- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
delete
public static void delete(Session session, UserOBS[] userobs) throws ServerException, NetworkException, BusinessObjectException Deletes multiple UserOBS objects from the database.- Parameters:
session- the Session objectuserobs- array of UserOBS objects to delete- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-