text: //********************************************************************
  //*    
  //* Warning: This file was generated by ecore4CPP Generator
  //*
  //********************************************************************
  
  #ifndef FUML_SEMANTICS_ACTIONS_REDUCEACTIONACTIVATIONREDUCEACTIONACTIVATIONIMPL_HPP
  #define FUML_SEMANTICS_ACTIONS_REDUCEACTIONACTIVATIONREDUCEACTIONACTIVATIONIMPL_HPP
  
  //*********************************
  // generated Includes
  
  //Model includes
  #include "../ReduceActionActivation.hpp"
  
  #include "fUML/impl/FUMLFactoryImpl.hpp"
  #include "fUML/Semantics/Actions/impl/ActionActivationImpl.hpp"
  
  //*********************************
  namespace fUML::Semantics::Actions 
  {
  	class ReduceActionActivationImpl :virtual public ActionActivationImpl, virtual public ReduceActionActivation 
  	{
  		public: 
  			ReduceActionActivationImpl(const ReduceActionActivationImpl & obj);
  			virtual std::shared_ptr<ecore::EObject> copy() const;
  
  		private:    
  			ReduceActionActivationImpl& operator=(ReduceActionActivationImpl const&) = delete;
  
  		protected:
  			friend class fUML::FUMLFactoryImpl;
  			ReduceActionActivationImpl();
  			virtual std::shared_ptr<ReduceActionActivation> getThisReduceActionActivationPtr() const;
  			virtual void setThisReduceActionActivationPtr(std::weak_ptr<ReduceActionActivation> thisReduceActionActivationPtr);
  
  			//Additional constructors for the containments back reference
  			ReduceActionActivationImpl(std::weak_ptr<fUML::Semantics::Activities::ActivityNodeActivationGroup > par_group);
  
  
  
  
  		public:
  			//destructor
  			virtual ~ReduceActionActivationImpl();
  			
  			//*********************************
  			// Operations
  			//*********************************
  			
  			
  			//*********************************
  			// Attributes Getter Setter
  			//*********************************
  			
  			
  			//*********************************
  			// Reference
  			//*********************************
  			/*!
  			 */
  			virtual std::shared_ptr<fUML::Semantics::CommonBehavior::Execution > getCurrentExecution() const ;
  			
  			/*!
  			 */
  			virtual void setCurrentExecution(std::shared_ptr<fUML::Semantics::CommonBehavior::Execution> _currentExecution_currentExecution) ;
  							
  			
  			//*********************************
  			// Union Getter
  			//*********************************
  			/*!
  			 */
  			virtual std::shared_ptr<Union<fUML::Semantics::Actions::PinActivation>> getPinActivation() const ; 
  			 
  			//*********************************
  			// Structural Feature Getter/Setter
  			//*********************************
  
  			virtual std::shared_ptr<ecore::EObject> eContainer() const ; 
  			
  			//*********************************
  			// Persistence Functions
  			//*********************************
  			virtual void load(std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler) ;
  			virtual void loadAttributes(std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler, std::map<std::string, std::string> attr_list);
  			virtual void loadNode(std::string nodeName, std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler, std::shared_ptr<fUML::FUMLFactory> modelFactory);
  			
  			virtual void resolveReferences(const int featureID, std::list<std::shared_ptr<ecore::EObject> > references) ;
  			virtual void save(std::shared_ptr<persistence::interfaces::XSaveHandler> saveHandler) const ;
  			virtual void saveContent(std::shared_ptr<persistence::interfaces::XSaveHandler> saveHandler) const;
  			
  
  		protected:
  			virtual std::shared_ptr<ecore::EClass> eStaticClass() const;
  			virtual Any eGet(int featureID, bool resolve, bool coreType) const ;
  			virtual bool internalEIsSet(int featureID) const ;
  			virtual bool eSet(int featureID, Any newValue) ;
  
  		private:
  			std::weak_ptr<ReduceActionActivation> m_thisReduceActionActivationPtr;
  	};
  }
  #endif /* end of include guard: FUML_SEMANTICS_ACTIONS_REDUCEACTIONACTIVATIONREDUCEACTIONACTIVATIONIMPL_HPP */
  