from pip_services3_commons.refer import IReferenceable, IReferences, IUnreferenceable
from pip_services3_commons.run import IOpenable
from pip_services3_commons.run import IExecutable
from pip_services3_commons.config import IConfigurable

class MyComponentA(IReferenceable, IUnreferenceable, IConfigurable, IOpenable, IExecutable):
    
    def __init__(self):
        print("MyComponentA has been created.")
            
    def configure(self, config):
        print("MyComponentA has been configured.")
       
    def is_open(self):
        return self._open

    def open(self, correlation_id):
        print("MyComponentA has been opened.")
    def close(self, correlation_id):
        print("MyComponentA has been closed.")
        
    def my_task(self, correlation_id):
        print("Doing my business task")
        dummy_variable = "dummy value"
    
    def set_references(self, references):
        print("MyComponentA's references have been defined.")    
        
    def unset_references(self):
        print("References cleared")
        
    def execute(self, correlation_id: str, args: str): 
        print('Executing')
        result = args
        return result