Primavera Integration API 7.0

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

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.base.ProjectProfileBase
              extended by com.primavera.integration.client.bo.object.ProjectProfile

public class ProjectProfile
extends com.primavera.integration.client.bo.base.ProjectProfileBase

A project profile defines a set of privileges for access to project-specific information. Project profiles are assigned to users based on the OBS hierarchy. To control access to project-specific information, you create project profiles, and then assign specific OBS elements and associated project profiles to individual users. The assigned OBS element determines the EPS and WBS elements for which the user can access project information. The assigned project profile determines the type of access privileges the user has to that project information.

All WBS elements are required to have an assigned responsible OBS. If a user's project profile assignment includes a WBS element's responsible OBS, then the user can access all activities, risks, and issues related to that WBS element. Similarly, all thresholds and project issues also have an assigned responsible OBS. If a user's project profile assignment includes a threshold or issue's responsible OBS, then the user can access that threshold or issue.

A user is not required to have a profile for every project. However, unless a user's global profile is Admin Superuser, that user cannot access a project without a project profile. To allow complete access to a project/OBS assignment, a project profile is included named Project Superuser. You can apply the Project Superuser profile to as many users and for as many projects as you like. The Project Superuser profile has a constant ObjectId defined by the PROJECT_SUPERUSER static constant.

To access individual privileges in a project profile, use the hasPrivilege(), setPrivilege() methods. To get an array of all privileges that are set, use the getPrivileges() method.

See Also:   Quick reference of ProjectProfile fields


Field Summary
static ObjectId PROJECT_SUPERUSER
          Constant for Project Superuser
 
Constructor Summary
ProjectProfile(Session session)
          Class constructor specifying the Session.
ProjectProfile(Session session, ObjectId objId)
          Class constructor specifying the Session and ObjectId of the object.
ProjectProfile(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 ProjectProfile object in the database.
static ObjectId[] create(Session session, ProjectProfile[] projectprofiles)
          Creates multiple ProjectProfile objects in the database.
 void delete()
          Deletes this ProjectProfile object from the database.
static void delete(Session session, ProjectProfile[] projectprofiles)
          Deletes multiple ProjectProfile objects from the database.
static java.lang.String[] getAllFields()
          Gets all fields for this business object.
 java.util.Date getCreateDate()
          Gets the date this project profile was created.
 java.lang.String getCreateUser()
          Gets the name of the user that created this project profile.
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.
 boolean getIsDefault()
          Gets the flag that indicates this security profile is the default profile assigned to UserOBS objects.
 boolean getIsSuperUser()
          Gets the flag that indicates this is the project superuser profile, which gives a user read/write privileges for all project and OBS specific information and features.
 java.util.Date getLastUpdateDate()
          Gets the date this project profile was last updated.
 java.lang.String getLastUpdateUser()
          Gets the name of the user that last updated this project profile.
static java.lang.String[] getMinimumXMLExportFields()
          Gets all fields that are always exported at a minimum by the new flat XML exporter
 java.lang.String getName()
          Gets the unique name of this project profile.
 ObjectId getObjectId()
          Gets the unique ID generated by the system.
 ProjectPrivilege[] getPrivileges()
          Sets this privilege on or off.
static java.lang.String[] getRequiredCreateFields()
          Gets all fields that must be set before calling create() on this business object.
static java.lang.String[] getWritableFields()
          Gets all writable fields for this business object.
 boolean hasPrivilege(ProjectPrivilege priv)
          Find out whether this profile has a certain privilege.
static ProjectProfile load(Session session, java.lang.String[] fields, ObjectId objId)
          Loads a single ProjectProfile object from the database.
static BOIterator<ProjectProfile> load(Session session, java.lang.String[] fields, ObjectId[] objIds)
          Loads multiple ProjectProfile objects from the database.
 BOIterator<UserOBS> loadUserOBS(java.lang.String[] fields, java.lang.String sWhereClause, java.lang.String sOrderBy)
          Loads multiple associated UserOBS objects from the database.
 void setIsDefault(boolean b)
          Sets the flag that indicates this security profile is the default profile assigned to UserOBS objects.
 void setName(java.lang.String s)
          Sets the unique name of this project profile.
 void setObjectId(ObjectId o)
          Sets the unique ID generated by the system.
 void setPrivilege(ProjectPrivilege priv, boolean bOn)
          Turn a certain privilege on or off.
 java.lang.String toString()
          Returns a string representation of the object.
 void update()
          Updates this ProjectProfile object in the database.
static void update(Session session, ProjectProfile[] projectprofiles)
          Updates multiple ProjectProfile objects in the database.
 
Methods inherited from class com.primavera.integration.client.bo.BusinessObject
equals, hashCode, isNull, setNull
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PROJECT_SUPERUSER

public static final ObjectId PROJECT_SUPERUSER
Constant for Project Superuser

Constructor Detail

ProjectProfile

public ProjectProfile(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

ProjectProfile

public ProjectProfile(Session session,
                      ObjectId objId)
               throws BusinessObjectException
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 Session
objId - the ObjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

ProjectProfile

public ProjectProfile(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

create

public ObjectId create()
                throws ServerException,
                       NetworkException,
                       BusinessObjectException
Creates this ProjectProfile object in the database.

Returns:
ObjectId the unique ID of the newly created 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

create

public static ObjectId[] create(Session session,
                                ProjectProfile[] projectprofiles)
                         throws ServerException,
                                NetworkException,
                                BusinessObjectException
Creates multiple ProjectProfile objects in the database.

Parameters:
session - the Session object
projectprofiles - array of ProjectProfile objects to create
Returns:
ObjectId[] the array of unique IDs of newly created ProjectProfile 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 ProjectProfile load(Session session,
                                  java.lang.String[] fields,
                                  ObjectId objId)
                           throws ServerException,
                                  NetworkException,
                                  BusinessObjectException
Loads a single ProjectProfile object from the database.

Parameters:
session - the Session object
fields - fields to load
objId - unique ID of the ProjectProfile object
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

load

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

Parameters:
session - the Session object
fields - fields to load
objIds - object ids of the ProjectProfile 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 ProjectProfile 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,
                          ProjectProfile[] projectprofiles)
                   throws ServerException,
                          NetworkException,
                          BusinessObjectException
Updates multiple ProjectProfile objects in the database.

Parameters:
session - the Session object
projectprofiles - array of ProjectProfile 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 ProjectProfile 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,
                          ProjectProfile[] projectprofiles)
                   throws ServerException,
                          NetworkException,
                          BusinessObjectException
Deletes multiple ProjectProfile objects from the database.

Parameters:
session - the Session object
projectprofiles - array of ProjectProfile 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

loadUserOBS

public BOIterator<UserOBS> loadUserOBS(java.lang.String[] fields,
                                       java.lang.String sWhereClause,
                                       java.lang.String sOrderBy)
                                throws ServerException,
                                       NetworkException,
                                       BusinessObjectException
Loads multiple associated UserOBS objects from the database.

Parameters:
fields - fields to load
sWhereClause - where clause
sOrderBy - 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-side
NetworkException - if a problem occurred in the network layer
BusinessObjectException - if a problem occurred in the client-side business objects

hasPrivilege

public boolean hasPrivilege(ProjectPrivilege priv)
                     throws BusinessObjectException
Find out whether this profile has a certain privilege.

Overrides:
hasPrivilege in class com.primavera.integration.client.bo.base.ProjectProfileBase
Parameters:
priv - identify which privilege
Returns:
boolean whether this profile has this privilege or not
Throws:
BusinessObjectException

setPrivilege

public void setPrivilege(ProjectPrivilege priv,
                         boolean bOn)
                  throws BusinessObjectException
Turn a certain privilege on or off.

Overrides:
setPrivilege in class com.primavera.integration.client.bo.base.ProjectProfileBase
Parameters:
priv - identify which privilege
bOn - turn on/off this privilege
Throws:
BusinessObjectException

getPrivileges

public ProjectPrivilege[] getPrivileges()
                                 throws BusinessObjectException
Sets this privilege on or off.

Overrides:
getPrivileges in class com.primavera.integration.client.bo.base.ProjectProfileBase
Returns:
ProjectPrivilege[] privileges that are on
Throws:
BusinessObjectException

getObjectId

public ObjectId getObjectId()
                     throws BusinessObjectException
Gets the unique ID generated by the system.

Overrides:
getObjectId in class BusinessObject
Returns:
the value in the field ObjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

setObjectId

public void setObjectId(ObjectId o)
                 throws BusinessObjectException
Sets the unique ID generated by the system.

Overrides:
setObjectId in class BusinessObject
Parameters:
o - the value to set this field to
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getIsDefault

public boolean getIsDefault()
                     throws BusinessObjectException
Gets the flag that indicates this security profile is the default profile assigned to UserOBS objects. When a ProjectProfile object is deleted from the database, all UserOBS objects assigned to that profile are reassigned to the default profile. You cannot not delete the default profile.

Returns:
the value in the field IsDefault
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

setIsDefault

public void setIsDefault(boolean b)
                  throws BusinessObjectException
Sets the flag that indicates this security profile is the default profile assigned to UserOBS objects. When a ProjectProfile object is deleted from the database, all UserOBS objects assigned to that profile are reassigned to the default profile. You cannot not delete the default profile.

Parameters:
b - the value to set this field to
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getIsSuperUser

public boolean getIsSuperUser()
                       throws BusinessObjectException
Gets the flag that indicates this is the project superuser profile, which gives a user read/write privileges for all project and OBS specific information and features.

Returns:
the value in the field IsSuperUser
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getName

public java.lang.String getName()
                         throws BusinessObjectException
Gets the unique name of this project profile. 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

public void setName(java.lang.String s)
             throws BusinessObjectException
Sets the unique name of this project profile. 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

getCreateDate

public java.util.Date getCreateDate()
                             throws BusinessObjectException
Gets the date this project profile 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 project profile 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 project profile.

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 project profile.

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.