Primavera Integration API 7.0

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

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.Relationship

public class Relationship
extends BusinessObject

A relationship defines how an activity relates to the start or finish of another activity or assignment. Add relationships between activities to create a path through your schedule from the first activity to the last activity. These relationships, which form the logic of the project network, are used together with activity durations to determine schedule dates. An activity can have as many relationships as necessary to model the work that must be done. You can also identify relationships between activities that are in different projects; this type of relationship is referred to as an external relationship.

To obtain an array of all fields exported by the XMLExporter by default, use Relationship.getDefaultXMLExportFields(). The default fields for most business objects normally include all fields that are not summary, code, or UDF fields. For Relationship business objects, however, the following fields are also not included in the default XML export fields: PredecessorActivityName and SuccessorActivityName. See the XMLExporter documentation for information on how to customize the export process if these fields are needed in the generated XML output.

See Also:   Quick reference of Relationship fields


Constructor Summary
Relationship(Session session)
          Class constructor specifying the Session.
Relationship(Session session, ObjectId objId)
          Class constructor specifying the Session and ObjectId of the object.
Relationship(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 Relationship object in the database.
static ObjectId[] create(Session session, Relationship[] relationships)
          Creates multiple Relationship objects in the database.
 void delete()
          Deletes this Relationship object from the database.
static void delete(Session session, Relationship[] relationships)
          Deletes multiple Relationship objects from the database.
static java.lang.String[] getAllFields()
          Gets all fields for this business object.
 java.util.Date getCreateDate()
          Gets the date this dependency was created.
 java.lang.String getCreateUser()
          Gets the name of the user that created this dependency.
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 getIsPredecessorBaseline()
          Gets the YesNo value indicating if the predecessor activity is related to a Project or Baseline.
 boolean getIsSuccessorBaseline()
          Gets the YesNo value indicating if the successor activity is related to a Project or Baseline.
 Duration getLag()
          Gets the time lag of the relationship.
 java.util.Date getLastUpdateDate()
          Gets the date this dependency was last updated.
 java.lang.String getLastUpdateUser()
          Gets the name of the user that last updated this dependency.
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 unique ID generated by the system.
 java.lang.String getPredecessorActivityId()
          Gets the activity ID of the predecessor activity.
 java.lang.String getPredecessorActivityName()
          Gets the name of the predecessor activity.
 ObjectId getPredecessorActivityObjectId()
          Gets the unique ID of the predecessor activity.
 ActivityType getPredecessorActivityType()
          Gets the type of the predecessor activity, either 'Task Dependent', 'Resource Dependent', 'Level of Effort', or 'Milestone'.
 java.lang.String getPredecessorProjectId()
          Gets the project ID of the project that owns the predecessor activity.
 ObjectId getPredecessorProjectObjectId()
          Gets the unique ID of the project that owns the predecessor activity.
static java.lang.String[] getRequiredCreateFields()
          Gets all fields that must be set before calling create() on this business object.
 java.lang.String getSuccessorActivityId()
          Gets the activity ID of the successor activity.
 java.lang.String getSuccessorActivityName()
          Gets the name of the successor activity.
 ObjectId getSuccessorActivityObjectId()
          Gets the unique ID of the successor activity.
 ActivityType getSuccessorActivityType()
          Gets the type of the successor activity, either 'Task Dependent', 'Resource Dependent', 'Level of Effort', or 'Milestone'.
 java.lang.String getSuccessorProjectId()
          Gets the project ID of the project that owns the successor activity.
 ObjectId getSuccessorProjectObjectId()
          Gets the unique ID of the project that owns the successor activity.
 RelationshipType getType()
          Gets the type of relationship: 'Finish to Start', 'Finish to Finish', 'Start to Start', or 'Start to Finish'.
static java.lang.String[] getWritableFields()
          Gets all writable fields for this business object.
static Relationship load(Session session, java.lang.String[] fields, ObjectId objId)
          Loads a single Relationship object from the database.
static BOIterator<Relationship> load(Session session, java.lang.String[] fields, ObjectId[] objIds)
          Loads multiple Relationship objects from the database.
 Activity loadPredecessorActivity(java.lang.String[] fields)
          Loads an associated Activity object from the database.
 Project loadPredecessorProject(java.lang.String[] fields)
          Loads an associated Project object from the database.
 Activity loadSuccessorActivity(java.lang.String[] fields)
          Loads an associated Activity object from the database.
 Project loadSuccessorProject(java.lang.String[] fields)
          Loads an associated Project object from the database.
 void setLag(Duration d)
          Sets the time lag of the relationship.
 void setObjectId(ObjectId o)
          Sets the unique ID generated by the system.
 void setPredecessorActivityObjectId(ObjectId o)
          Sets the unique ID of the predecessor activity.
 void setSuccessorActivityObjectId(ObjectId o)
          Sets the unique ID of the successor activity.
 void setType(RelationshipType enm)
          Sets the type of relationship: 'Finish to Start', 'Finish to Finish', 'Start to Start', or 'Start to Finish'.
 java.lang.String toString()
          Returns a string representation of the object.
 void update()
          Updates this Relationship object in the database.
static void update(Session session, Relationship[] relationships)
          Updates multiple Relationship 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
 

Constructor Detail

Relationship

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

Relationship

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

Relationship

public Relationship(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 Relationship object in the database.

Returns:
ObjectId the unique ID of the newly created Relationship 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,
                                Relationship[] relationships)
                         throws ServerException,
                                NetworkException,
                                BusinessObjectException
Creates multiple Relationship objects in the database.

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

Parameters:
session - the Session object
fields - fields to load
objId - unique ID of the Relationship object
Returns:
Relationship the Relationship 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<Relationship> load(Session session,
                                            java.lang.String[] fields,
                                            ObjectId[] objIds)
                                     throws ServerException,
                                            NetworkException,
                                            BusinessObjectException
Loads multiple Relationship objects from the database.

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

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

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

loadSuccessorActivity

public Activity loadSuccessorActivity(java.lang.String[] fields)
                               throws ServerException,
                                      NetworkException,
                                      BusinessObjectException
Loads an associated Activity object from the database.

Parameters:
fields - fields to load
Returns:
Activity the Activity 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

loadPredecessorActivity

public Activity loadPredecessorActivity(java.lang.String[] fields)
                                 throws ServerException,
                                        NetworkException,
                                        BusinessObjectException
Loads an associated Activity object from the database.

Parameters:
fields - fields to load
Returns:
Activity the Activity 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

loadSuccessorProject

public Project loadSuccessorProject(java.lang.String[] fields)
                             throws ServerException,
                                    NetworkException,
                                    BusinessObjectException
Loads an associated Project object from the database.

Parameters:
fields - fields to load
Returns:
Project the Project 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

loadPredecessorProject

public Project loadPredecessorProject(java.lang.String[] fields)
                               throws ServerException,
                                      NetworkException,
                                      BusinessObjectException
Loads an associated Project object from the database.

Parameters:
fields - fields to load
Returns:
Project the Project 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

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

getSuccessorActivityObjectId

public ObjectId getSuccessorActivityObjectId()
                                      throws BusinessObjectException
Gets the unique ID of the successor activity. 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 SuccessorActivityObjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

setSuccessorActivityObjectId

public void setSuccessorActivityObjectId(ObjectId o)
                                  throws BusinessObjectException
Sets the unique ID of the successor activity. 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

getSuccessorActivityType

public ActivityType getSuccessorActivityType()
                                      throws BusinessObjectException
Gets the type of the successor activity, either 'Task Dependent', 'Resource Dependent', 'Level of Effort', or 'Milestone'.

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

getPredecessorActivityType

public ActivityType getPredecessorActivityType()
                                        throws BusinessObjectException
Gets the type of the predecessor activity, either 'Task Dependent', 'Resource Dependent', 'Level of Effort', or 'Milestone'.

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

getPredecessorActivityObjectId

public ObjectId getPredecessorActivityObjectId()
                                        throws BusinessObjectException
Gets the unique ID of the predecessor activity. 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 PredecessorActivityObjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

setPredecessorActivityObjectId

public void setPredecessorActivityObjectId(ObjectId o)
                                    throws BusinessObjectException
Sets the unique ID of the predecessor activity. 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

getSuccessorProjectObjectId

public ObjectId getSuccessorProjectObjectId()
                                     throws BusinessObjectException
Gets the unique ID of the project that owns the successor activity. This field is automatically loaded by default whenever this type of business object is loaded from the database.

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

getPredecessorProjectObjectId

public ObjectId getPredecessorProjectObjectId()
                                       throws BusinessObjectException
Gets the unique ID of the project that owns the predecessor activity. This field is automatically loaded by default whenever this type of business object is loaded from the database.

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

getType

public RelationshipType getType()
                         throws BusinessObjectException
Gets the type of relationship: 'Finish to Start', 'Finish to Finish', 'Start to Start', or 'Start to Finish'.

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

setType

public void setType(RelationshipType enm)
             throws BusinessObjectException
Sets the type of relationship: 'Finish to Start', 'Finish to Finish', 'Start to Start', or 'Start to Finish'.

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

getLag

public Duration getLag()
                throws BusinessObjectException
Gets the time lag of the relationship. This is the time lag between the predecessor activity's start or finish date and the successor activity's start or finish date, depending on the relationship type. The time lag is based on the successor activity's calendar. This value is specified by the project manager and is used by the project scheduler when scheduling activities.

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

setLag

public void setLag(Duration d)
            throws BusinessObjectException
Sets the time lag of the relationship. This is the time lag between the predecessor activity's start or finish date and the successor activity's start or finish date, depending on the relationship type. The time lag is based on the successor activity's calendar. This value is specified by the project manager and is used by the project scheduler when scheduling activities.

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

getSuccessorActivityName

public java.lang.String getSuccessorActivityName()
                                          throws BusinessObjectException
Gets the name of the successor activity. 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 SuccessorActivityName
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getPredecessorActivityName

public java.lang.String getPredecessorActivityName()
                                            throws BusinessObjectException
Gets the name of the predecessor activity. 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 PredecessorActivityName
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getSuccessorActivityId

public java.lang.String getSuccessorActivityId()
                                        throws BusinessObjectException
Gets the activity ID of the successor activity. 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 SuccessorActivityId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getPredecessorActivityId

public java.lang.String getPredecessorActivityId()
                                          throws BusinessObjectException
Gets the activity ID of the predecessor activity. 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 PredecessorActivityId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getSuccessorProjectId

public java.lang.String getSuccessorProjectId()
                                       throws BusinessObjectException
Gets the project ID of the project that owns the successor activity. 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 SuccessorProjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getPredecessorProjectId

public java.lang.String getPredecessorProjectId()
                                         throws BusinessObjectException
Gets the project ID of the project that owns the predecessor activity. 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 PredecessorProjectId
Throws:
BusinessObjectException - if a problem occurred in the client-side business objects

getCreateDate

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

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 dependency.

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

getIsPredecessorBaseline

public boolean getIsPredecessorBaseline()
                                 throws BusinessObjectException
Gets the YesNo value indicating if the predecessor activity is related to a Project or Baseline.

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

getIsSuccessorBaseline

public boolean getIsSuccessorBaseline()
                               throws BusinessObjectException
Gets the YesNo value indicating if the successor activity is related to a Project or Baseline.

Returns:
the value in the field IsSuccessorBaseline
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.