You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

699 lines
26 KiB

//Copyright 2020 Siemens Digital Industries Software
//==================================================
//Copyright $2020.
//Siemens Product Lifecycle Management Software Inc.
//All Rights Reserved.
//==================================================
//Copyright 2020 Siemens Digital Industries Software
/*==================================================================================================
File description:
This file contains the declaration for the Business Object, BusinessObjectDelegate
Filename: BusinessObjectDelegate.hxx
Module: metaframework
@BMIDE autogenerated
==================================================================================================*/
#ifndef TEAMCENTER__BUSINESSOBJECTDELEGATE_HXX
#define TEAMCENTER__BUSINESSOBJECTDELEGATE_HXX
#include <common/tc_deprecation_macros.h>
#include <metaframework/BusinessObject.hxx>
#include <metaframework/libmetaframework_exports.h>
namespace Teamcenter
{
class BusinessObjectDelegate;
}
namespace Teamcenter
{
class BusinessObjectImpl;
}
namespace Teamcenter
{
class BusinessObject;
}
namespace Teamcenter
{
class BusinessObjectGenImpl;
}
namespace Teamcenter_alias = ::Teamcenter;
class METAFRAMEWORK_API Teamcenter_alias::BusinessObjectDelegate
{
public:
// Method to initialize this Class
static int initializeClass();
// Method to get the BusinessObjectDelegate instance
static BusinessObjectDelegate& getInstance();
// Method to create the BusinessObjectImpl pointer
static BusinessObjectImpl* createImpl( BusinessObject& ifObj );
// Method to delete the BusinessObjectImpl pointer
static void deleteImpl( BusinessObjectImpl* impl );
///
/// Getter for a string Property
/// @version Teamcenter 10
/// @param value - Parameter value
/// @param isNull - Returns true if the Parameter value is null
/// @return - Status. 0 if successful
///
int getObject_stringBase(const BusinessObject &ifObj, std::string &value, bool &isNull ) const;
///
/// This is the getter for retrieving the recipe/permanent ID if its been created (and cached on the instance). Every Business Object should implement this operation.
/// @version Teamcenter 11.1
/// @param uid - Recipe/permanent ID
/// @param isFirstTime - If Session Recovery Uid is yet to be set or does the object need to be serialized again?
/// @return - Failure code
///
int fnd0AskSRUidBase(const BusinessObject &ifObj, std::string *uid, bool *isFirstTime ) const;
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.4
/// @param inputs - A vector of data that contains reference information to the object to be created
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0CreateBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.4
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0CreatePostBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.4
/// @param inputs - A vector of data that contains reference information to the object to be created
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0FinalizeCreateInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0FinalizeSaveAsInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// Generates permanent ID/recipe. Every Business Object should implement this operation.
/// @version Teamcenter 11.1
/// @param recipe - Permanent ID/recipe
/// @return - Failure code.
///
int fnd0GenerateRecipeBase(const BusinessObject &ifObj, std::string *recipe );
///
/// This operation returns the children to be displayed when expanding this object.
/// @version Teamcenter 10
/// @param propertyNames - The list of propertyNames to expand. If empty, then the properties defined in <TYPE>_DefaultChildProperties and <TYPE>_DefaultPseudoFolder are returned.
/// @param childTags - Tags of children.
/// @param childContextPropertyNames - The propertyName in which this child exists in the parent.
/// @return - status
///
int fnd0GetChildrenBase(const BusinessObject &ifObj, const std::vector< std::string > *propertyNames, std::vector< tag_t > *childTags, std::vector< std::string > *childContextPropertyNames );
///
///
/// @version Teamcenter 11.4
/// @param getDeepCopydata - This is the object to hold input information.
/// @param bd - This is the bulkData
/// @return -
///
int fnd0GetDeepCopyDataBase( std::vector< ::Teamcenter::BulkInput* > *getDeepCopydata, ::Teamcenter::BulkData *bd );
///
/// Gets the current POM serialization state. Runtime Business Object does not need to implement this operation.
/// @version Teamcenter 11.1
/// @param currentState - Gets the current POM serialization state.
/// @return - Failure code
///
int fnd0GetSerializationStateBase(const BusinessObject &ifObj, bool *currentState ) const;
///
/// If Business Object supports recoverable ID. Every Business Object should implement this operation.
/// @version Teamcenter 11.1
/// @param isPersistedRecipe - isPersistedRecipe param should be set to true if the recipe is limited to the user session and should be serialized to the database
/// @param isRecoverableIDSupported - Returning true indicates support for recoverability/permanent IDs
/// @return - Failure code.
///
int fnd0IsRecoverableBase(const BusinessObject &ifObj, bool *isPersistedRecipe, bool *isRecoverableIDSupported ) const;
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0PerformDeepCopyBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0SaveAsBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0SaveAsPostBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.4
/// @param inputs - A vector of data that contains reference information to the object to be created
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0SetPropertiesFromCreateInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0SetPropertiesFromSaveAsInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// Sets the current POM serialization state. Runtime Business Object does not need to implement this operation.
/// @version Teamcenter 11.1
/// @param newState - true marks the POM serialization recipe as out-of-date, false marks it as up-to-date.
/// @param stateChanged - true if the state has changed.
/// @return - Failure code
///
int fnd0SetSerializationStateBase(const BusinessObject &ifObj, bool newState, bool *stateChanged );
///
/// This is the setter for the recipe/permanent ID when it is created (to be cached on the instance). Every Business Object should implement this operation.
/// @version Teamcenter 11.1
/// @param uid - Rrecipe/permanent ID
/// @return - Failure code.
///
int fnd0SetSRUidBase(const BusinessObject &ifObj, const std::string *uid );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.4
/// @param inputs - A vector of data that contains reference information to the object to be created
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0ValidateCreateInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// This operation is not supported now, there will be no support for issues stemming from uses of this operation.
/// @version Teamcenter 11.2.3
/// @param inputs - A vector of data that contains reference information to the object to be saved
/// @param bd - A data structure to store objects and other information relevant for set-based operation
/// @return -
///
int fnd0ValidateSaveAsInputBase( std::vector< ::Teamcenter::BulkInput* > *inputs, ::Teamcenter::BulkData *bd );
///
/// To Return the Character
/// @version Tc 8
/// @param charName - To return the character Name
/// @param charRetValue - The value of the Character
/// @param isNull - Is the Value Null
/// @return - Returns the status as Integer
///
int getCharBase(const BusinessObject &ifObj, const std::string &charName, char &charRetValue, bool &isNull );
///
/// The array of Character
/// @version Tc 8
/// @param charArrayName - The Char array Name
/// @param vectorCharVals - vector of char values
/// @param vectorIsNullVals - Is the Values Null
/// @return - Returns the Status as Integer
///
int getCharArrayBase(const BusinessObject &ifObj, const std::string &charArrayName, std::vector< char > &vectorCharVals, std::vector< int > &vectorIsNullVals );
///
/// get date value
/// @version Tc 8
/// @param dateName - Name of the date property
/// @param dateRetValue - Value of the date property
/// @param isNull - is value Null
/// @return - status
///
int getDateBase(const BusinessObject &ifObj, const std::string &dateName, date_t &dateRetValue, bool &isNull );
///
/// get array of Date Values for a property
/// @version Tc 8
/// @param dateArrayName - Name of the date array property
/// @param dateArrayRetValue - Value of the date array
/// @param isNull - is null values
/// @return - status
///
int getDateArrayBase(const BusinessObject &ifObj, const std::string &dateArrayName, std::vector< date_t > &dateArrayRetValue, std::vector< int > &isNull );
///
/// gets deep copy data
/// @version Teamcenter 9
/// @param operation - operation desc
/// @param deepCopyDatas - desc
/// @return - returns an int
///
int getDeepCopyDataBase(const BusinessObject &ifObj, const std::string *operation, std::vector< ::Teamcenter::DeepCopyData* > *deepCopyDatas );
///
/// To get the double value
/// @version Tc 8
/// @param doubleName - The name of the double variable
/// @param doubleRetValue - The value of the double variable
/// @param isNull - Is the value Null
/// @return - Returns the status as Integer
///
int getDoubleBase(const BusinessObject &ifObj, const std::string &doubleName, double &doubleRetValue, bool &isNull );
///
/// Array of Doubles
/// @version Tc 8
/// @param doubleArrayName - The Array Name
/// @param vectorDoubleVals - Array of Doubles
/// @param vectorIsNullVals - Is the Value Null
/// @return - Return the status as Integer
///
int getDoubleArrayBase(const BusinessObject &ifObj, const std::string &doubleArrayName, std::vector< double > &vectorDoubleVals, std::vector< int > &vectorIsNullVals );
///
/// To get the Integer
/// @version Tc 8
/// @param intName - The name of the Integer
/// @param intRetValue - The value of the Integer
/// @param isNull - Is the value null
/// @return - Returns the status as Integer
///
int getIntBase(const BusinessObject &ifObj, const std::string &intName, int &intRetValue, bool &isNull );
///
/// Array of Integers
/// @version Tc 8
/// @param intArrayName - The array name of integers
/// @param vectorIntVals - The Vector of Integer values
/// @param vectorIsNullVals - are the Values Null
/// @return - Returns the status as Integers
///
int getIntArrayBase(const BusinessObject &ifObj, const std::string &intArrayName, std::vector< int > &vectorIntVals, std::vector< int > &vectorIsNullVals );
///
/// To get the Logical Value
/// @version Tc 8
/// @param logicalName - The name of the Logical Variable
/// @param boolRetValue - The logical value
/// @param isNull - Is the value null
/// @return - Returns the status as Integer
///
int getLogicalBase(const BusinessObject &ifObj, const std::string &logicalName, bool &boolRetValue, bool &isNull );
///
/// Array of Logical Values
/// @version Tc 8
/// @param logicalArrayName - Array of Logical Names
/// @param vectorLogicalVals - Vector of Logical Values
/// @param vectorIsNullVals - are the Value Null
/// @return - Returns the status as Integer
///
int getLogicalArrayBase(const BusinessObject &ifObj, const std::string &logicalArrayName, std::vector< int > &vectorLogicalVals, std::vector< int > &vectorIsNullVals );
///
/// Returns the String
/// @version Tc 8
/// @param stringName - The name of the String
/// @param stringRetValue - The value of the string
/// @param isNull - Is the String Null
/// @return - Returns the status as Integer
///
int getStringBase(const BusinessObject &ifObj, const std::string &stringName, std::string &stringRetValue, bool &isNull );
///
/// To get the StringArray
/// @version Tc 8
/// @param stringArrayName - The String name
/// @param vectorStringVals - Vector of Strings
/// @param vectorIsNullVals - vector of booleans
/// @return - Returns the status as Integer
///
int getStringArrayBase(const BusinessObject &ifObj, const std::string &stringArrayName, std::vector< std::string > &vectorStringVals, std::vector< int > &vectorIsNullVals );
///
/// Returns the Tag
/// @version Tc 8
/// @param tagName - The name of the Tag
/// @param tagRetValue - The value of the Tag
/// @param isNull - Is the Value Null
/// @return - Returns the status as Integer
///
int getTagBase(const BusinessObject &ifObj, const std::string &tagName, tag_t &tagRetValue, bool &isNull );
///
/// Array of Tags
/// @version Tc 8
/// @param tagArrayName - Nameof the Tag Array
/// @param vectorTagVals - Vector of Tags
/// @param vectorIsNullVals - are the Value Null
/// @return - Returns the status as Integer
///
int getTagArrayBase(const BusinessObject &ifObj, const std::string &tagArrayName, std::vector< tag_t > &vectorTagVals, std::vector< int > &vectorIsNullVals );
///
/// perform deep copy
/// @version Teamcenter 9
/// @param pOperationInput - desc
/// @param vecDeepCopyData - deep copy data
/// @return - returns an int
///
int performDeepCopyBase(const BusinessObject &ifObj, ::Teamcenter::OperationInput *pOperationInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData );
///
/// To set the character
/// @version Tc 8
/// @param charName - The Name
/// @param charValue - The Character Value
/// @param isNull - Is the Value Null
/// @return - Returns an Integer
///
int setCharBase(const BusinessObject &ifObj, const std::string &charName, const char &charValue, bool isNull );
///
/// To set the character array
/// @version Tc 8
/// @param charArrayName - charArrayName
/// @param vectorCharVals - vectorCharVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an Integer
///
int setCharArrayBase(const BusinessObject &ifObj, const std::string &charArrayName, const std::vector< char > &vectorCharVals, const std::vector< int > *vectorIsNullVals );
///
/// To set the Date
/// @version Tc 8
/// @param dateName - dateName
/// @param dateValue - dateValue
/// @param isNull - isNull
/// @return - Returns an Integer
///
int setDateBase(const BusinessObject &ifObj, const std::string &dateName, const date_t &dateValue, bool isNull );
///
/// To set the Date Array
/// @version Tc 8
/// @param dateArrayName - dateArrayName
/// @param vectorDateVals - vectorDateVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an Integer
///
int setDateArrayBase(const BusinessObject &ifObj, const std::string &dateArrayName, const std::vector< date_t > &vectorDateVals, const std::vector< int > *vectorIsNullVals );
///
/// To set the Double Value
/// @version Tc 8
/// @param doubleName - doubleName
/// @param doubleValue - doubleValue
/// @param isNull - isNull
/// @return - Returns an Integer
///
int setDoubleBase(const BusinessObject &ifObj, const std::string &doubleName, const double &doubleValue, bool isNull );
///
/// To set the double array
/// @version Tc 8
/// @param doubleArrayName - doubleArrayName
/// @param vectorDoubleVals - vectorDoubleVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an Integer
///
int setDoubleArrayBase(const BusinessObject &ifObj, const std::string &doubleArrayName, const std::vector< double > &vectorDoubleVals, const std::vector< int > *vectorIsNullVals );
///
/// To set an Integer
/// @version Tc 8
/// @param intName - The name of the integer
/// @param intValue - The Integer Value
/// @param isNull - Is the value Null
/// @return - Returns status as Integer
///
int setIntBase(const BusinessObject &ifObj, const std::string &intName, const int &intValue, bool isNull );
///
/// To the the Array of Integer type data on BusinessObject
/// @version Tc 8
/// @param intArrayName - name of the integer array
/// @param vectorIntVals - vector or array of integer values
/// @param vectorIsNullVals - vector of isNulls
/// @return - success or failure
///
int setIntArrayBase(const BusinessObject &ifObj, const std::string &intArrayName, const std::vector< int > &vectorIntVals, const std::vector< int > *vectorIsNullVals );
///
/// To set the Logical Value
/// @version Tc 8
/// @param logicalName - logicalName
/// @param logicalValue - logicalValue
/// @param isNull - isNull
/// @return - Returns an Integer
///
int setLogicalBase(const BusinessObject &ifObj, const std::string &logicalName, const bool logicalValue, bool isNull );
///
/// To set Logical Array
/// @version Tc 8
/// @param boolArrayName - boolArrayName
/// @param vectorboolVals - vectorboolVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an Integer
///
int setLogicalArrayBase(const BusinessObject &ifObj, const std::string &boolArrayName, const std::vector< int > &vectorboolVals, const std::vector< int > *vectorIsNullVals );
///
/// To set the String
/// @version Tc 8
/// @param stringName - stringName
/// @param stringValue - stringValue
/// @param isNull - isNull
/// @return - Returns an Integer
///
int setStringBase(const BusinessObject &ifObj, const std::string &stringName, const std::string &stringValue, bool isNull );
///
/// To set the string array
/// @version Tc 8
/// @param stringArrayName - stringArrayName
/// @param vectorStringVals - vectorStringVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an integer
///
int setStringArrayBase(const BusinessObject &ifObj, const std::string &stringArrayName, const std::vector< std::string > &vectorStringVals, const std::vector< int > *vectorIsNullVals );
///
/// To set the tag
/// @version Tc 8
/// @param tagName - tagName
/// @param tagValue - tagValue
/// @param isNull - isNull
/// @return - Returns an Integer
///
int setTagBase(const BusinessObject &ifObj, const std::string &tagName, const tag_t &tagValue, bool isNull );
///
/// To set the Tag Array
/// @version Tc 8
/// @param tagArrayName - tagArrayName
/// @param vectorTagVals - vectorTagVals
/// @param vectorIsNullVals - vectorIsNullVals
/// @return - Returns an Integer
///
int setTagArrayBase(const BusinessObject &ifObj, const std::string &tagArrayName, const std::vector< tag_t > &vectorTagVals, const std::vector< int > *vectorIsNullVals );
///
/// desc for validate for create
/// @version Tc 8
/// @param creInput - desc for creInput parameter
/// @return - ret desc for validate for create
///
int createBase(const BusinessObject &ifObj, ::Teamcenter::CreateInput *creInput );
///
/// desc for createPost
/// @version Tc 8
/// @param creInput - Description for the Create Input
/// @return - return desc for createPost
///
int createPostBase(const BusinessObject &ifObj, ::Teamcenter::CreateInput *creInput );
///
/// Description for the Finalize Create Input
/// @version Tc 8
/// @param creInput - desc for creInput parameter
/// @return - Return desc for Initialize for Create
///
int finalizeCreateInputBase(const BusinessObject &ifObj, ::Teamcenter::CreateInput *creInput );
///
/// finalize operation input
/// @version Teamcenter 9
/// @param pSavAsInput - desc
/// @param vecDeepCopyData - desc
/// @return - returns an int
///
int finalizeSaveAsInputBase(const BusinessObject &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData );
///
/// save as operation
/// @version Teamcenter 9
/// @param pSavAsInput - save as input
/// @param vecDeepCopyData - vector deepcopy data
/// @param newObjTag - new object tag
/// @return - returns an int
///
int saveAsBase(const BusinessObject &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData, tag_t *newObjTag );
///
/// Generic saveAsPost operation.
/// @version Teamcenter 8.1
/// @param pSavAsInput - Input argument as SaveAsInput object.
/// @param vecDeepCopyData - vector deepcopy data
/// @return - Return integer value.
///
int saveAsPostBase(const BusinessObject &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData );
///
/// desc for setPropertiesFromCreateInpu
/// @version Tc 8
/// @param creInput - Description for CreateInput
/// @return - return desc for setPropertiesFromCreateInput
///
int setPropertiesFromCreateInputBase(const BusinessObject &ifObj, ::Teamcenter::CreateInput *creInput );
///
/// setproperties from saveas input
/// @version Teamcenter 9
/// @param pSavAsInput - desc
/// @return - returns an int
///
int setPropertiesFromSaveAsInputBase(const BusinessObject &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput );
///
/// desc for validate for create
/// @version Tc 8
/// @param creInput - desc for creInput parameter
/// @return - ret desc for validate for create
///
int validateCreateInputBase(const BusinessObject &ifObj, ::Teamcenter::CreateInput *creInput );
///
/// validate saveas input
/// @version Teamcenter 9
/// @param pSavAsInput - desc
/// @param vecDeepCopyData - desc
/// @return - returns an int
///
int validateSaveAsInputBase(const BusinessObject &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData );
protected:
// Pointer to the instance
static BusinessObjectDelegate* m_pInstance;
BusinessObjectDelegate();
virtual ~BusinessObjectDelegate();
static void setInstance( BusinessObjectDelegate* instance );
private:
friend class ::Teamcenter::BusinessObjectGenImpl;
};
#include <metaframework/libmetaframework_undef.h>
#endif // TEAMCENTER__BUSINESSOBJECTDELEGATE_HXX