Primavera Integration API 7.0

com.primavera.integration.client.bo.object
Class UserOBS

java.lang.Object
  extended by com.primavera.integration.client.BOBase
      extended by com.primavera.integration.client.bo.BusinessObject
          extended by com.primavera.integration.client.bo.object.UserOBS

public class UserOBS
extends BusinessObject

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
UserOBS(Session session)
          Class constructor specifying the Session.
UserOBS(Session session, ObjectId objId)
          Class constructor specifying the Session and ObjectId of the object.
UserOBS(Session session, ObjectId userObjectId, ObjectId obsObjectId)
          Class constructor specifying the Session and the individual components of the multi-part key: UserObjectId and OBSObjectId.
UserOBS(Session session, com.primavera.infr.db.PrmRowSet rowSet, int iIndex)
          Class constructor called internally after objects are retrieved from the server.
 
Method Summary
 ObjectId create()
          Creates this UserOBS object in the database.
static ObjectId[] create(Session session, UserOBS[] userobs)
          Creates multiple UserOBS objects in the database.
static ObjectId createObjectId(ObjectId userObjectId, ObjectId obsObjectId)
          Creates a multi-part ObjectId from two individual ObjectIds.
 void delete()
          Deletes this UserOBS object from the database.
static void delete(Session session, UserOBS[] userobs)
          Deletes multiple UserOBS objects from the database.
static java.lang.String[] getAllFields()
          Gets all fields for this business object.
 java.util.Date getCreateDate()
          Gets the date this association was created.
 java.lang.String getCreateUser()
          Gets the name of the user that created this association.
static java.lang.String[] getDefaultXMLExportFields()
          Gets the fields that are exported by the XML exporter when no fields are specified.
static java.lang.String[] getFilterableFields()
          Gets all fields that can be filtered.
static java.lang.String[] getInternalAllFields()
          An internal method that should not be called directly by client code.
static java.util.Set<java.lang.String> getInternalAllFieldsSet()
          An internal method that should not be called directly by client code.
static java.lang.String[] getInternalDefaultLoadFields()
          An internal method that should not be called directly by client code.
 java.util.Date getLastUpdateDate()
          Gets the date this association was last updated.
 java.lang.String getLastUpdateUser()
          Gets the name of the user that last updated this association.
static java.lang.String[] getMinimumXMLExportFields()
          Gets all fields that are always exported at a minimum by the new flat XML exporter
 ObjectId getObjectId()
          Gets the ObjectId for this object.
 java.lang.String getOBSName()
          Gets the name of the person/role in the organization, sometimes referred to as the "responsible manager".
 ObjectId getOBSObjectId()
          Gets the unique ID of the OBS to which the user is granted access.
 java.lang.String getProfileName()
          Gets the name of security profile.
 ObjectId getProjectProfileObjectId()
          Gets the unique ID of the project profile with which the user is granted access to the project and OBS.
static java.lang.String[] getRequiredCreateFields()
          Gets all fields that must be set before calling create() on this business object.
 java.lang.String getUserName()
          Gets the user's login name.
 ObjectId getUserObjectId()
          Gets the unique ID of the user who is assigned to the project OBS.
static java.lang.String[] getWritableFields()
          Gets all writable fields for this business object.
static UserOBS load(Session session, java.lang.String[] fields, ObjectId objId)
          Loads a single UserOBS object from the database.
static BOIterator<UserOBS> load(Session session, java.lang.String[] fields, ObjectId[] objIds)
          Loads multiple UserOBS objects from the database.
 OBS loadOBS(java.lang.String[] fields)
          Loads an associated OBS object from the database.
 ProjectProfile loadProjectProfile(java.lang.String[] fields)
          Loads an associated ProjectProfile object from the database.
 User loadUser(java.lang.String[] fields)
          Loads an associated User object from the database.
 void setOBSObjectId(ObjectId o)
          Sets the unique ID of the OBS to which the user is granted access.
 void setProjectProfileObjectId(ObjectId o)
          Sets the unique ID of the project profile with which the user is granted access to the project and OBS.
 void setUserObjectId(ObjectId o)
          Sets the unique ID of the user who is assigned to the project OBS.
 java.lang.String toString()
          Returns a string representation of the object.
 void update()
          Updates this UserOBS object in the database.
static void update(Session session, UserOBS[] userobs)
          Updates multiple UserOBS objects in the database.
 
Methods inherited from class com.primavera.integration.client.bo.BusinessObject
equals, hashCode, isNull, setNull, setObjectId
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UserOBS

public UserOBS(Session session)
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

public UserOBS(Session session,
               ObjectId objId)
        throws BusinessObjectException
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 Session
objId - 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 Session
userObjectId - the first ObjectId in the key
obsObjectId - 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 Session
rowSet - the PrmRowSet retrieved from the server
iIndex - the row index in the PrmRowSet associated with this business object
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects
Method Detail

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.
java.lang.IllegalArgumentException - if one of the input parameters was null.

getObjectId

public ObjectId getObjectId()
                     throws BusinessObjectException
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:
getObjectId in class BusinessObject
Returns:
ObjectId the multi-part ObjectId of this object
Throws:
BusinessObjectException - if the ObjectId fields were not loaded.

create

public ObjectId create()
                throws ServerException,
                       NetworkException,
                       BusinessObjectException
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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - 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 object
userobs - 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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

load

public static UserOBS load(Session session,
                           java.lang.String[] fields,
                           ObjectId objId)
                    throws ServerException,
                           NetworkException,
                           BusinessObjectException
Loads a single UserOBS object from the database.

Parameters:
session - the Session object
fields - fields to load
objId - unique ID of the UserOBS object
Returns:
UserOBS the UserOBS object
Throws:
ServerException - if a problem occurred on the server-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

load

public static BOIterator<UserOBS> load(Session session,
                                       java.lang.String[] fields,
                                       ObjectId[] objIds)
                                throws ServerException,
                                       NetworkException,
                                       BusinessObjectException
Loads multiple UserOBS objects from the database.

Parameters:
session - the Session object
fields - fields to load
objIds - 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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

update

public void update()
            throws ServerException,
                   NetworkException,
                   BusinessObjectException
Updates this UserOBS object in the database.

Overrides:
update in class BOBase
Throws:
ServerException - if a problem occurred on the server-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - 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 object
userobs - array of UserOBS objects to update
Throws:
ServerException - if a problem occurred on the server-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

delete

public void delete()
            throws ServerException,
                   NetworkException,
                   BusinessObjectException
Deletes this UserOBS object from the database.

Overrides:
delete in class BOBase
Throws:
ServerException - if a problem occurred on the server-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - 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 object
userobs - array of UserOBS objects to delete
Throws:
ServerException - if a problem occurred on the server-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

loadProjectProfile

public ProjectProfile loadProjectProfile(java.lang.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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

loadUser

public User loadUser(java.lang.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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

loadOBS

public OBS loadOBS(java.lang.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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

getUserObjectId

public ObjectId getUserObjectId()
                         throws BusinessObjectException
Gets the unique ID of the user who is assigned to the project OBS. 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

public void setUserObjectId(ObjectId o)
                     throws BusinessObjectException
Sets the unique ID of the user who is assigned to the project OBS. 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

public ObjectId getOBSObjectId()
                        throws BusinessObjectException
Gets the unique ID of the OBS to which the user is granted access. 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

public void setOBSObjectId(ObjectId o)
                    throws BusinessObjectException
Sets the unique ID of the OBS to which the user is granted access. 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

public ObjectId getProjectProfileObjectId()
                                   throws BusinessObjectException
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

public void setProjectProfileObjectId(ObjectId o)
                               throws BusinessObjectException
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

public java.lang.String getUserName()
                             throws BusinessObjectException
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

public java.lang.String getOBSName()
                            throws BusinessObjectException
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

public java.lang.String getProfileName()
                                throws BusinessObjectException
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

public java.util.Date getCreateDate()
                             throws BusinessObjectException
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

public java.util.Date getLastUpdateDate()
                                 throws BusinessObjectException
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

public java.lang.String getCreateUser()
                               throws BusinessObjectException
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

public java.lang.String getLastUpdateUser()
                                   throws BusinessObjectException
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

public static java.lang.String[] 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

public static java.lang.String[] getFilterableFields()
Gets all fields that can be filtered.

Returns:
String[] an array of filterable fields

getInternalDefaultLoadFields

public static java.lang.String[] getInternalDefaultLoadFields()
An internal method that should not be called directly by client code.

Returns:
String[] an internal array

getAllFields

public static java.lang.String[] getAllFields()
Gets all fields for this business object.

Returns:
String[] an array of all fields

getInternalAllFields

public static java.lang.String[] getInternalAllFields()
An internal method that should not be called directly by client code.

Returns:
String[] an internal array

getInternalAllFieldsSet

public static java.util.Set<java.lang.String> getInternalAllFieldsSet()
An internal method that should not be called directly by client code.

Returns:
String[] an internal array

getWritableFields

public static java.lang.String[] getWritableFields()
Gets all writable fields for this business object.

Returns:
String[] an array of writable fields

getDefaultXMLExportFields

public static java.lang.String[] getDefaultXMLExportFields()
Gets the fields that are exported by the XML exporter when no fields are specified.

Returns:
String[] an array of field names

getMinimumXMLExportFields

public static java.lang.String[] 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

public java.lang.String toString()
Returns a string representation of the object. The output is in XML.

Overrides:
toString in class java.lang.Object
Returns:
String a string representation of the object.

Primavera Integration API 7.0

Copyright © 2003, 2009, Oracle and/or its affiliates. All rights reserved.