Test_CompositeComponent Module


Uses

  • module~~test_compositecomponent~~UsesGraph module~test_compositecomponent Test_CompositeComponent ESMF ESMF module~test_compositecomponent->ESMF funit funit module~test_compositecomponent->funit module~mapl_abstractcomponent mapl_AbstractComponent module~test_compositecomponent->module~mapl_abstractcomponent module~mapl_abstractframeworkcomponent mapl_AbstractFrameworkComponent module~test_compositecomponent->module~mapl_abstractframeworkcomponent module~mapl_compositecomponent mapl_CompositeComponent module~test_compositecomponent->module~mapl_compositecomponent module~mapl_keywordenforcermod mapl_KeywordEnforcerMod module~test_compositecomponent->module~mapl_keywordenforcermod module~mapl_surrogateframeworkcomponent mapl_SurrogateFrameworkComponent module~mapl_abstractframeworkcomponent->module~mapl_surrogateframeworkcomponent module~mapl_compositecomponent->module~mapl_abstractframeworkcomponent module~mapl_abstractcomposite mapl_AbstractComposite module~mapl_compositecomponent->module~mapl_abstractcomposite module~mapl_concretecomposite mapl_ConcreteComposite module~mapl_compositecomponent->module~mapl_concretecomposite module~mapl_keywordenforcer mapl_KeywordEnforcer module~mapl_keywordenforcermod->module~mapl_keywordenforcer module~mapl_concretecomposite->module~mapl_abstractframeworkcomponent module~mapl_concretecomposite->module~mapl_abstractcomposite gFTL_StringVector gFTL_StringVector module~mapl_concretecomposite->gFTL_StringVector module~mapl_stringcompositemap mapl_StringCompositeMap module~mapl_concretecomposite->module~mapl_stringcompositemap module~mapl_stringcompositemap->module~mapl_abstractcomposite

Derived Types

type, public, extends(CompositeComponent) ::  CompleteComponent

Components

Type Visibility Attributes Name Initial
class(ConcreteComposite), public, pointer :: composite => null()

Type-Bound Procedures

procedure, public :: add_child
procedure, public :: add_child_component
procedure, public :: finalize
generic, public :: get_child => get_child_by_name, get_child_by_index
procedure, public :: get_child_by_index
procedure, public :: get_child_by_name
procedure, public :: get_component
procedure, public :: get_composite
procedure, public :: get_internal_state
procedure, public :: get_num_children
procedure, public :: get_parent
procedure, public :: initialize
procedure, public :: run
procedure, public :: run_child
procedure, public :: set_component
procedure, public :: set_composite

Functions

public function get_internal_state(this) result(state)

Arguments

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

Return Value type(ESMF_State), pointer

public function get_component(this) result(component)

Arguments

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

Return Value class(AbstractComponent), pointer

public function add_child_component(this, name, user_component) result(child)

Arguments

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

Return Value class(AbstractFrameworkComponent), pointer


Subroutines

public subroutine finalize(this, clock, phase, unusable, rc)

Arguments

Type IntentOptional Attributes Name
class(CompleteComponent), 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

public subroutine initialize(this, clock, phase, unusable, rc)

Arguments

Type IntentOptional Attributes Name
class(CompleteComponent), 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

public subroutine run(this, clock, phase, unusable, rc)

Arguments

Type IntentOptional Attributes Name
class(CompleteComponent), 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

public subroutine run_child(this, name, clock, phase, unusable, rc)

Arguments

Type IntentOptional Attributes Name
class(CompleteComponent), 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

public subroutine set_component(this, component)

Arguments

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

public subroutine test_get_num_children()

Arguments

None