import 'package:pip_services3_commons/pip_services3_commons.dart';

class MyComponent
    implements
        IConfigurable,
        IReferenceable,
        IUnreferenceable,
        IOpenable,
        IExecutable,
        INotifiable,
        ICleanable {

  MyComponent() {/* Initialize the component */}
  @override
  void configure(ConfigParams config) {/* configure the component */}

  @override
  void setReferences(IReferences references) {/* set component dependencies */}

  @override
  void unsetReferences() {/* unset component references */}

  @override
  bool isOpen() {/* return the component open state */}

  @override
  Future open(String? correlationId) {/* open the component */}

  @override
  Future close(String? correlationId) {/* close the component */}

  @override
  Future execute(String? correlationId, Parameters args) { /* execute the component transaction */ }

  @override
  void notify(String? correlationId, Parameters args) { /* notify the component about events */ }

  @override
  Future clear(String? correlationId) {/* clear the component state */}
}