Class Role
Roles are project personnel job titles or skills, such as mechanical engineer, inspector, or carpenter. They represent a type of resource with a certain level of proficiency rather than a specific individual. Roles can also be assigned to specific resources to further identify that resource's skills. For example, a resource may have a role of a engineer and manager.
You can create a set of roles to assign to resources and activities in all projects in the enterprise. You can establish an unlimited number of roles and organize them in a hierarchy for easier management and assignment. The set of roles you assign to an activity defines the activity's skill requirements.
You can temporarily assign roles during the planning stages of the project to see how certain resources affect the schedule. Once you finalize your plans, you can replace the roles with resources that fulfill the role skill levels. Five proficiency levels can be assigned to roles: Master, Expert, Skilled, Proficient and Inexperienced.
Roles may be loaded with summarized project role spreads using the loadWithProjectRoleSpread() method. All projects must have been previously summarized using the summarizer job service. The ObjectId(s) of the project(s) are normally specified for which to load the project role spreads. If no project ObjectIds are specified, project role spreads are loaded for all projects to which the role is assigned. After loading, call the getProjectRoleSpreads() method to access the spread data.
Roles are hierarchical objects.
See Also: Quick reference of Role fields
-
Constructor Summary
ConstructorsConstructorDescriptionClass constructor specifying the Session.Class constructor specifying the Session and ObjectId of the object.Class constructor called internally after objects are retrieved from the server. -
Method Summary
Modifier and TypeMethodDescriptioncreate()Creates this Role object in the database.static ObjectId[]Creates multiple Role objects in the database.createRoleChild(Role rolechild) Creates an associated Role object in the database.ObjectId[]createRoleChildren(Role[] rolechildren) Creates multiple associated Role objects in the database.createRoleLimit(RoleLimit rolelimit) Creates an associated RoleLimit object in the database.ObjectId[]createRoleLimits(RoleLimit[] rolelimits) Creates multiple associated RoleLimit objects in the database.createRoleRate(RoleRate rolerate) Creates an associated RoleRate object in the database.voiddelete()Deletes this Role object from the database.voidDeletes this Role object from the database.static voidDeletes multiple Role objects from the database.static voidDeletes multiple role objects in a hierarchy from the database and set the new parent of all child objects.static String[]Gets all fields for this business object.booleanGets the option that indicates whether costs and quantities are linked, and whether quantities should be updated when costs are updated.Gets the date this role was created.Gets the name of the user that created this role.static String[]Deprecated.static String[]Gets all fields that can be filtered.getId()Gets the short code that uniquely identifies the role.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 role was last updated.Gets the name of the user that last updated this role.static String[]Gets all fields in the main group for this business object.static String[]Gets all fields that are always exported at a minimum by the new flat XML exportergetName()Gets the name of the role.Gets the unique ID generated by the system.Gets the unique ID of the parent role of this role in the hierarchy.Gets the field containing project spread data for this role.static String[]Gets all fields that must be set before calling create() on this business object.Gets the responsibilities for the role.static String[]Gets all spread fields that can be specified in the spreadFields parameter of loadWithRoleSpreadSpread methods for this business object.intGets the sequence number for sorting.static String[]Gets all writable fields for this business object.static RoleLoads a single Role object from the database.static BOIterator<Role>Loads multiple Role objects from the database.loadParentRole(String[] fields) Loads an associated Role object from the database.loadResourceAssignments(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated ResourceAssignment objects from the database.loadResourceRoles(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated ResourceRole objects from the database.loadRoleChildren(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated Role objects from the database.loadRoleCodeAssignments(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated RoleCodeAssignment objects from the database.loadRoleLimits(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated RoleLimit objects from the database.loadRoleRate(String[] fields) Loads an associated RoleRate object from the database.static BOIterator<Role>loadRootRoles(Session session, String[] fields) Loads the root Role objects from the database.static BOIterator<Role>loadWithProjectRoleSpread(Session session, String[] nonSpreadFields, ObjectId[] objIds, String[] spreadFields, SpreadPeriodType periodType, Date startDate, Date endDate, boolean bIncludeCumulative, ObjectId[] projectObjectIds) Loads multiple Role objects with summarized spreads from the database.static RoleloadWithProjectRoleSpread(Session session, String[] nonSpreadFields, ObjectId objId, String[] spreadFields, SpreadPeriodType periodType, Date startDate, Date endDate, boolean bIncludeCumulative, ObjectId[] projectObjectIds) Loads a Role object with summarized spreads from the database.voidsetCalculateCostFromUnits(boolean b) Sets the option that indicates whether costs and quantities are linked, and whether quantities should be updated when costs are updated.voidSets the short code that uniquely identifies the role.voidSets the name of the role.voidSets the unique ID generated by the system.voidSets the unique ID of the parent role of this role in the hierarchy.voidSets the responsibilities for the role.voidsetSequenceNumber(int i) Sets the sequence number for sorting.toString()Returns a string representation of the object.voidupdate()Updates this Role object in the database.static voidUpdates multiple Role objects in the database.Methods inherited from class com.primavera.integration.client.bo.BusinessObject
equals, getMaxFieldLength, getValue, getValue, hashCode, isNull, setEarlyDate, setNullMethods inherited from class com.primavera.integration.client.BOBase
combineFields
-
Constructor Details
-
Role
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
-
Role
Class constructor specifying the Session and ObjectId of the object. This constructor is most commonly used when update() will be called on this object.- Parameters:
session- the SessionobjId- the ObjectId- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
Role
public Role(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
-
loadParentRole
public Role loadParentRole(String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads an associated Role object from the database.- Parameters:
fields- fields to load- Returns:
- Role the Role 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
-
createRoleChild
public ObjectId createRoleChild(Role rolechild) throws ServerException, NetworkException, BusinessObjectException Creates an associated Role object in the database.- Parameters:
rolechild- RoleChild object to create- Returns:
- ObjectId unique ID of the newly created Role 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
-
createRoleChildren
public ObjectId[] createRoleChildren(Role[] rolechildren) throws ServerException, NetworkException, BusinessObjectException Creates multiple associated Role objects in the database.- Parameters:
rolechildren- array of RoleChild objects to create- Returns:
- ObjectId[] array of object ids of newly created Role 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
-
loadRoleChildren
public BOIterator<Role> loadRoleChildren(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated Role objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- 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
-
loadRootRoles
public static BOIterator<Role> loadRootRoles(Session session, String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads the root Role objects from the database.- Parameters:
session- the Session objectfields- fields to load- 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
-
loadRoleCodeAssignments
public BOIterator<RoleCodeAssignment> loadRoleCodeAssignments(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated RoleCodeAssignment objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- 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
-
loadResourceRoles
public BOIterator<ResourceRole> loadResourceRoles(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated ResourceRole objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- 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
-
loadResourceAssignments
public BOIterator<ResourceAssignment> loadResourceAssignments(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated ResourceAssignment objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- 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
-
createRoleRate
public ObjectId createRoleRate(RoleRate rolerate) throws ServerException, NetworkException, BusinessObjectException Creates an associated RoleRate object in the database.- Parameters:
rolerate- RoleRate object to create- Returns:
- ObjectId unique ID of newly created RoleRate 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
-
loadRoleRate
public RoleRate loadRoleRate(String[] fields) throws ServerException, NetworkException, BusinessObjectException Loads an associated RoleRate object from the database.- Parameters:
fields- fields to load- Returns:
- RoleRate the RoleRate 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
-
createRoleLimit
public ObjectId createRoleLimit(RoleLimit rolelimit) throws ServerException, NetworkException, BusinessObjectException Creates an associated RoleLimit object in the database.- Parameters:
rolelimit- RoleLimit object to create- Returns:
- ObjectId unique ID of the newly created RoleLimit 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
-
createRoleLimits
public ObjectId[] createRoleLimits(RoleLimit[] rolelimits) throws ServerException, NetworkException, BusinessObjectException Creates multiple associated RoleLimit objects in the database.- Parameters:
rolelimits- array of RoleLimit objects to create- Returns:
- ObjectId[] array of object ids of newly created RoleLimit 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
-
loadRoleLimits
public BOIterator<RoleLimit> loadRoleLimits(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated RoleLimit objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- 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
-
getParentObjectId
Gets the unique ID of the parent role of this role in the hierarchy. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Returns:
- the value in the field ParentObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setParentObjectId
Sets the unique ID of the parent role of this role in the hierarchy. 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
-
getObjectId
Gets the unique ID generated by the system. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Overrides:
getObjectIdin classBusinessObject- Returns:
- the value in the field ObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setObjectId
Sets the unique ID generated by the system. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Overrides:
setObjectIdin classBusinessObject- Parameters:
o- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getSequenceNumber
Gets the sequence number for sorting.- Returns:
- the value in the field SequenceNumber
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setSequenceNumber
Sets the sequence number for sorting.- Parameters:
i- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getId
Gets the short code that uniquely identifies the role. 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 Id
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setId
Sets the short code that uniquely identifies the role. This field must contain a valid value in order to create this type of business object in the database.- Parameters:
s- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getName
Gets the name of the role. The role name uniquely identifies the role. 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 Name
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setName
Sets the name of the role. The role name uniquely identifies the role. This field must contain a valid value in order to create this type of business object in the database.- Parameters:
s- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getResponsibilities
Gets the responsibilities for the role. This field may not be included in the where clause or order by clause specified when loading business objects.- Returns:
- the value in the field Responsibilities
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setResponsibilities
Sets the responsibilities for the role. This field may not be included in the where clause or order by clause specified when loading business objects.- Parameters:
s- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCreateDate
Gets the date this role 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 role 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 role.- 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 role.- Returns:
- the value in the field LastUpdateUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCalculateCostFromUnits
Gets the option that indicates whether costs and quantities are linked, and whether quantities should be updated when costs are updated.- Returns:
- the value in the field CalculateCostFromUnits
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setCalculateCostFromUnits
Sets the option that indicates whether costs and quantities are linked, and whether quantities should be updated when costs are updated.- Parameters:
b- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getProjectRoleSpreads
Gets the field containing project spread data for this role. If a role is attempted to be loaded with project spread data, getProjectRoleSpread will return null if no project spread data was available for that role. This field may not be included in the where clause or order by clause specified when loading business objects.- Returns:
- the value in the field ProjectRoleSpread
- 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
-
getMainFields
Gets all fields in the main group for this business object.- Returns:
- String[] an array of fields in this group
-
getRoleSpreadFields
Gets all spread fields that can be specified in the spreadFields parameter of loadWithRoleSpreadSpread methods for this business object.- Returns:
- String[] an array of all spread fields
-
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. -
create
Creates this Role object in the database.- Returns:
- ObjectId the unique ID of the newly created Role 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, Role[] roles) throws ServerException, NetworkException, BusinessObjectException Creates multiple Role objects in the database.- Parameters:
session- the Session objectroles- array of Role objects to create- Returns:
- ObjectId[] the array of unique IDs of newly created Role 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 Role load(Session session, String[] fields, ObjectId objId) throws ServerException, NetworkException, BusinessObjectException Loads a single Role object from the database.- Parameters:
session- the Session objectfields- fields to loadobjId- unique ID of the Role object- Returns:
- Role the Role 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<Role> load(Session session, String[] fields, ObjectId[] objIds) throws ServerException, NetworkException, BusinessObjectException Loads multiple Role objects from the database.- Parameters:
session- the Session objectfields- fields to loadobjIds- object ids of the Role 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
-
loadWithProjectRoleSpread
public static Role loadWithProjectRoleSpread(Session session, String[] nonSpreadFields, ObjectId objId, String[] spreadFields, SpreadPeriodType periodType, Date startDate, Date endDate, boolean bIncludeCumulative, ObjectId[] projectObjectIds) throws ServerException, NetworkException, BusinessObjectException Loads a Role object with summarized spreads from the database.- Parameters:
nonSpreadFields- fields to loadobjId- unique ID of the Role objectspreadFields- the fields to include in the spread objectperiodType- the period of the spread data (hour, day, etc.)startDate- the start date of the spreadendDate- the end date of the spreadbIncludeCumulative- indicates whether to include cumulative spread dataprojectObjectIds- object ids of the Project objects- Returns:
- Role the Role 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
-
loadWithProjectRoleSpread
public static BOIterator<Role> loadWithProjectRoleSpread(Session session, String[] nonSpreadFields, ObjectId[] objIds, String[] spreadFields, SpreadPeriodType periodType, Date startDate, Date endDate, boolean bIncludeCumulative, ObjectId[] projectObjectIds) throws ServerException, NetworkException, BusinessObjectException Loads multiple Role objects with summarized spreads from the database.- Parameters:
nonSpreadFields- fields to loadobjIds- object ids of the Role objectsspreadFields- the fields to include in the spread objectperiodType- the period of the spread data (hour, day, etc.)startDate- the start date of the spreadendDate- the end date of the spreadbIncludeCumulative- indicates whether to include cumulative spread dataprojectObjectIds- object ids of the Project 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 Role 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, Role[] roles) throws ServerException, NetworkException, BusinessObjectException Updates multiple Role objects in the database.- Parameters:
session- the Session objectroles- array of Role 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 Role 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 void delete(ObjectId replacementId) throws ServerException, NetworkException, BusinessObjectException Deletes this Role object from the database.- Parameters:
replacementId- unique ID of the new parent for all current child 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
-
delete
public static void delete(Session session, Role[] roles) throws ServerException, NetworkException, BusinessObjectException Deletes multiple Role objects from the database.- Parameters:
session- the Session objectroles- array of Role 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
-
delete
public static void delete(Session session, Role[] roles, ObjectId replacementParent) throws ServerException, NetworkException, BusinessObjectException Deletes multiple role objects in a hierarchy from the database and set the new parent of all child objects.- Parameters:
session- the Session objectroles- array of Role objects to deletereplacementParent- replacement parent 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
-