//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, Ptn0PartitionLineDelegate Filename: Ptn0PartitionLineDelegate.hxx Module: ptn0partition @BMIDE autogenerated ==================================================================================================*/ #ifndef TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX #define TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX #include #include #include namespace Teamcenter { namespace Partition { class Ptn0PartitionLineDelegate; } } namespace Teamcenter { namespace Partition { class Ptn0PartitionLineImpl; } } namespace Teamcenter { namespace Partition { class Ptn0PartitionLine; } } namespace Teamcenter { namespace Partition { class Ptn0PartitionLineGenImpl; } } namespace Teamcenter_alias = ::Teamcenter; class PTN0PARTITION_API Teamcenter_alias::Partition::Ptn0PartitionLineDelegate { public: // Method to initialize this Class static int initializeClass(); // Method to get the Ptn0PartitionLineDelegate instance static Ptn0PartitionLineDelegate& getInstance(); // Method to create the Ptn0PartitionLineImpl pointer static Ptn0PartitionLineImpl* createImpl( Ptn0PartitionLine& ifObj ); // Method to delete the Ptn0PartitionLineImpl pointer static void deleteImpl( Ptn0PartitionLineImpl* impl ); /// /// Getter for an Integer Property /// @version Teamcenter 13.1 /// @param value - Parameter Value /// @param isNull - Returns true if the Parameter value is null /// @return - Status. 0 if successful /// int getPtn0ChildPartitionCountBase(const Ptn0PartitionLine &ifObj, int &value, bool &isNull ) const; /// /// Returns the BOMLines that are members of the Partition. /// @version Teamcenter 13.1 /// @param values - Parameter value /// @param isNull - Returns true for an array element if the parameter value at that location is null /// @return - Status. 0 if successful /// int getPtn0MembersBase(const Ptn0PartitionLine &ifObj, std::vector< tag_t > &values, std::vector< int > &isNull ) const; /// /// Expands a set of BOM Lines from the same BOM Window, each to one level. The order of the returned child BOM Lines is not guaranteed.The parameter expansionCriteria is a set of bitwise or-ed flags controlling the expansion behavior, see Expansion Criteria Flags. /// @version Teamcenter 12.2 /// @param bulkInput - Bulk Input containing the input parent BOMLines that need to be expanded. /// @param bd - Bulk Data required for bulk processiong of the inputs. /// @param expansionCriteria - Contains bit flags controlling expansion behavior. Refer to the section #Expansion_Criteria. /// @param occurenceThreads - Occurrence thread tags used in filter by occurrence threads. /// @param occurenceThreadParents - BOMLine tags of parent BOMLine for each occurrence thread, used in filter by occurrence threads. /// @param parentLinesToChildLinesMap - Map containing keys as the parent input lines and values as their respective children. /// @param errorMap - Map of all the errors during the expansion of the Parent Lines. /// @return - /// int fnd0ExpandLinesBase( std::vector< ::Teamcenter::BulkInput* > *bulkInput, ::Teamcenter::BulkData *bd, int expansionCriteria, std::vector< tag_t > *occurenceThreads, std::vector< tag_t > *occurenceThreadParents, std::map< tag_t,std::vector< tag_t > > *parentLinesToChildLinesMap, ::Teamcenter::ErrorMap *errorMap ); /// /// 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 Ptn0PartitionLine &ifObj, std::string *recipe ); protected: // Pointer to the instance static Ptn0PartitionLineDelegate* m_pInstance; Ptn0PartitionLineDelegate(); virtual ~Ptn0PartitionLineDelegate(); static void setInstance( Ptn0PartitionLineDelegate* instance ); private: friend class ::Teamcenter::Partition::Ptn0PartitionLineGenImpl; }; #include #endif // TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX