AbstractFrameworkComponent Derived Type

type, public, abstract, extends(SurrogateFrameworkComponent) :: AbstractFrameworkComponent


Inherits

type~~abstractframeworkcomponent~~InheritsGraph type~abstractframeworkcomponent AbstractFrameworkComponent type~surrogateframeworkcomponent SurrogateFrameworkComponent type~abstractframeworkcomponent->type~surrogateframeworkcomponent

Inherited by

type~~abstractframeworkcomponent~~InheritedByGraph type~abstractframeworkcomponent AbstractFrameworkComponent type~compositecomponent CompositeComponent type~compositecomponent->type~abstractframeworkcomponent type~concretecomposite ConcreteComposite type~compositecomponent->type~concretecomposite composite type~concretecomposite->type~abstractframeworkcomponent component type~concretecomposite->type~concretecomposite parent type~baseframeworkcomponent BaseFrameworkComponent type~baseframeworkcomponent->type~compositecomponent type~completecomponent CompleteComponent type~completecomponent->type~compositecomponent type~maplgenericcomponent MaplGenericComponent type~maplgenericcomponent->type~baseframeworkcomponent type~mapl_metacomp MAPL_MetaComp type~mapl_metacomp->type~maplgenericcomponent type~namedcomponent NamedComponent type~namedcomponent->type~maplgenericcomponent

Type-Bound Procedures

procedure(i_AddChildComponent), public, deferred :: add_child_component

  • function i_AddChildComponent(this, name, user_component) result(child) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractFrameworkComponent), intent(inout), target :: this
    character(len=*), intent(in) :: name
    class(AbstractComponent), intent(in) :: user_component

    Return Value class(AbstractFrameworkComponent), pointer

procedure(i_Run), public, deferred :: finalize

  • subroutine i_Run(this, clock, phase, unusable, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SurrogateFrameworkComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure(i_GetComponent), public, deferred :: get_component

  • function i_GetComponent(this) result(component) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractFrameworkComponent), intent(in), target :: this

    Return Value class(AbstractComponent), pointer

procedure(i_GetState), public, deferred :: get_internal_state

  • function i_GetState(this) result(state) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractFrameworkComponent), intent(in), target :: this

    Return Value type(ESMF_State), pointer

procedure(i_Run), public, deferred :: initialize

  • subroutine i_Run(this, clock, phase, unusable, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SurrogateFrameworkComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure(i_Run), public, deferred :: run

  • subroutine i_Run(this, clock, phase, unusable, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SurrogateFrameworkComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure(i_RunChild), public, deferred :: run_child

  • subroutine i_RunChild(this, name, clock, phase, unusable, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(SurrogateFrameworkComponent), intent(inout) :: this
    character(len=*), intent(in) :: name
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure(i_SetComponent), public, deferred :: set_component

  • subroutine i_SetComponent(this, component) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractFrameworkComponent), intent(inout), target :: this
    class(AbstractComponent), intent(in) :: component

procedure(i_SetComposite), public, deferred :: set_composite

  • subroutine i_SetComposite(this, composite) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractFrameworkComponent), intent(inout) :: this
    class(AbstractComposite), intent(in), target :: composite

Source Code

   type, abstract, extends(SurrogateFrameworkComponent) :: AbstractFrameworkComponent
   contains
      procedure(i_AddChildComponent), deferred :: add_child_component
      ! accessors
      procedure(i_SetComponent), deferred :: set_component
      procedure(i_GetComponent), deferred :: get_component
      procedure(i_SetComposite), deferred :: set_composite
      procedure(i_GetState), deferred :: get_internal_state
   end type AbstractFrameworkComponent