public abstract class AbstractMVCGroupManager extends Object implements MVCGroupManager
MVCGroupManager
interface.Modifier and Type | Field and Description |
---|---|
protected static String |
ERROR_ARGS_NULL |
protected static String |
ERROR_CONFIG_NULL |
protected static String |
ERROR_CONFIGURATION_NULL |
protected static String |
ERROR_GROUP_NULL |
protected static String |
ERROR_MVCID_BLANK |
protected static String |
ERROR_MVCTYPE_BLANK |
protected static String |
ERROR_NAME_BLANK |
protected static String |
ERROR_TYPE_NULL |
Constructor and Description |
---|
AbstractMVCGroupManager(GriffonApplication application) |
Modifier and Type | Method and Description |
---|---|
void |
addConfiguration(MVCGroupConfiguration configuration) |
protected void |
addGroup(MVCGroup group) |
MVCGroupConfiguration |
cloneMVCGroupConfiguration(String mvcType,
Map<String,Object> config)
Clones an existing MVCGroupConfiguration, optionally overriding additional config values.
|
List<? extends GriffonMvcArtifact> |
createMVC(Map<String,Object> args,
String mvcType)
Instantiates an MVC group of the specified type with additional variables.
|
List<? extends GriffonMvcArtifact> |
createMVC(Map<String,Object> args,
String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
protected List<? extends GriffonMvcArtifact> |
createMVC(MVCGroupConfiguration configuration,
String mvcId,
Map<String,Object> args) |
List<? extends GriffonMvcArtifact> |
createMVC(String mvcType)
Instantiates an MVC group of the specified type returning only the MVC parts.
|
List<? extends GriffonMvcArtifact> |
createMVC(String mvcType,
Map<String,Object> args)
Instantiates an MVC group of the specified type with additional variables.
|
List<? extends GriffonMvcArtifact> |
createMVC(String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
List<? extends GriffonMvcArtifact> |
createMVC(String mvcType,
String mvcId,
Map<String,Object> args)
Instantiates an MVC group of the specified type with a particular name.
|
MVCGroup |
createMVCGroup(Map<String,Object> args,
String mvcType)
Instantiates an MVC group of the specified type with additional variables.
|
MVCGroup |
createMVCGroup(Map<String,Object> args,
String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
protected abstract MVCGroup |
createMVCGroup(MVCGroupConfiguration configuration,
String mvcId,
Map<String,Object> args) |
MVCGroup |
createMVCGroup(String mvcType)
Instantiates an MVC group of the specified type.
|
MVCGroup |
createMVCGroup(String mvcType,
Map<String,Object> args)
Instantiates an MVC group of the specified type with additional variables.
|
MVCGroup |
createMVCGroup(String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
MVCGroup |
createMVCGroup(String mvcType,
String mvcId,
Map<String,Object> args)
Instantiates an MVC group of the specified type with a particular name.
|
protected abstract void |
doInitialize(Map<String,MVCGroupConfiguration> configurations) |
MVCGroupConfiguration |
findConfiguration(String mvcType) |
<C extends GriffonController> |
findController(String name,
Class<C> type)
Finds a named controller.
|
MVCGroup |
findGroup(String mvcId) |
<M extends GriffonModel> |
findModel(String name,
Class<M> type)
Finds a named model.
|
<V extends GriffonView> |
findView(String name,
Class<V> type)
Finds a named view.
|
GriffonApplication |
getApplication() |
MVCGroup |
getAt(String mvcId) |
Map<String,MVCGroupConfiguration> |
getConfigurations() |
<C extends GriffonController> |
getController(String name,
Class<C> type)
Finds a named controller.
|
Map<String,? extends GriffonController> |
getControllers()
Returns all currently available controller instances, keyed by group name.
|
Map<String,MVCGroup> |
getGroups() |
<M extends GriffonModel> |
getModel(String name,
Class<M> type)
Finds a named model.
|
Map<String,? extends GriffonModel> |
getModels()
Returns all currently available model instances, keyed by group name.
|
<V extends GriffonView> |
getView(String name,
Class<V> type)
Finds a named view.
|
Map<String,? extends GriffonView> |
getViews()
Returns all currently available view instances, keyed by group name.
|
void |
initialize(Map<String,MVCGroupConfiguration> configurations)
Initializes this manager with the group configurations provided by the application and addons.
|
void |
removeConfiguration(MVCGroupConfiguration configuration) |
void |
removeConfiguration(String name) |
protected void |
removeGroup(MVCGroup group) |
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(Map<String,Object> args,
String mvcType,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(Map<String,Object> args,
String mvcType,
String mvcId,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(String mvcType,
Map<String,Object> args,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(String mvcType,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(String mvcType,
String mvcId,
Map<String,Object> args,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVC(String mvcType,
String mvcId,
MVCFunction<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
void |
withMVCGroup(Map<String,Object> args,
String mvcType,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
void |
withMVCGroup(Map<String,Object> args,
String mvcType,
String mvcId,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
protected <M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVCGroup(MVCGroupConfiguration configuration,
String mvcId,
Map<String,Object> args,
MVCFunction<M,V,C> handler) |
protected void |
withMVCGroup(MVCGroupConfiguration configuration,
String mvcId,
Map<String,Object> args,
MVCGroupFunction handler) |
void |
withMVCGroup(String mvcType,
Map<String,Object> args,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
void |
withMVCGroup(String mvcType,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
void |
withMVCGroup(String mvcType,
String mvcId,
Map<String,Object> args,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
void |
withMVCGroup(String mvcType,
String mvcId,
MVCGroupFunction handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newMVCGroup, newMVCGroupConfiguration
destroyMVCGroup
protected static final String ERROR_MVCTYPE_BLANK
protected static final String ERROR_MVCID_BLANK
protected static final String ERROR_CONFIGURATION_NULL
protected static final String ERROR_GROUP_NULL
protected static final String ERROR_CONFIG_NULL
protected static final String ERROR_ARGS_NULL
protected static final String ERROR_NAME_BLANK
protected static final String ERROR_TYPE_NULL
@Inject public AbstractMVCGroupManager(@Nonnull GriffonApplication application)
public GriffonApplication getApplication()
getApplication
in interface MVCGroupManager
@Nonnull public Map<String,MVCGroupConfiguration> getConfigurations()
getConfigurations
in interface MVCGroupManager
@Nonnull public Map<String,MVCGroup> getGroups()
getGroups
in interface MVCGroupManager
@Nonnull public MVCGroupConfiguration findConfiguration(@Nonnull String mvcType)
findConfiguration
in interface MVCGroupManager
@Nullable public MVCGroup findGroup(@Nonnull String mvcId)
findGroup
in interface MVCGroupManager
@Nullable public MVCGroup getAt(@Nonnull String mvcId)
getAt
in interface MVCGroupManager
public final void initialize(@Nonnull Map<String,MVCGroupConfiguration> configurations)
MVCGroupManager
initialize
in interface MVCGroupManager
configurations
- available group configurationspublic void addConfiguration(@Nonnull MVCGroupConfiguration configuration)
addConfiguration
in interface MVCGroupManager
public void removeConfiguration(@Nonnull MVCGroupConfiguration configuration)
removeConfiguration
in interface MVCGroupManager
public void removeConfiguration(@Nonnull String name)
removeConfiguration
in interface MVCGroupManager
@Nonnull public final Map<String,? extends GriffonModel> getModels()
MVCGroupManager
getModels
in interface MVCGroupManager
@Nonnull public final Map<String,? extends GriffonView> getViews()
MVCGroupManager
getViews
in interface MVCGroupManager
@Nonnull public final Map<String,? extends GriffonController> getControllers()
MVCGroupManager
getControllers
in interface MVCGroupManager
@Nonnull public MVCGroupConfiguration cloneMVCGroupConfiguration(@Nonnull String mvcType, @Nonnull Map<String,Object> config)
MVCGroupManager
cloneMVCGroupConfiguration
in interface MVCGroupManager
mvcType
- the name of the configuration to cloneconfig
- additional config parameters to be set on the configuration@Nonnull protected List<? extends GriffonMvcArtifact> createMVC(@Nonnull MVCGroupConfiguration configuration, @Nullable String mvcId, @Nonnull Map<String,Object> args)
protected <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull MVCGroupConfiguration configuration, @Nullable String mvcId, @Nonnull Map<String,Object> args, @Nonnull MVCFunction<M,V,C> handler)
protected void withMVCGroup(@Nonnull MVCGroupConfiguration configuration, @Nullable String mvcId, @Nonnull Map<String,Object> args, @Nonnull MVCGroupFunction handler)
@Nonnull protected abstract MVCGroup createMVCGroup(@Nonnull MVCGroupConfiguration configuration, @Nullable String mvcId, @Nonnull Map<String,Object> args)
protected abstract void doInitialize(@Nonnull Map<String,MVCGroupConfiguration> configurations)
@Nonnull public MVCGroup createMVCGroup(@Nonnull String mvcType)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available in Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be created as follows
MapfooGroup = createMVCGroup('foo') assert (fooGroup.controller instanceof FooController)
createMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.@Nonnull public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available in Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be created as follows
MVCGroup fooGroup = createMVCGroup('foo', 'foo' + System.currentTimeMillis()) assert (fooGroup.controller instanceof FooController)MVC groups must have an unique name.
createMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.@Nonnull public MVCGroup createMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } 'bar' { model = 'com.acme.FooModel' view = 'com.acme.BarView' controller = 'com.acme.BarController' } }Notice that groups "foo" and "bar share the same model type, We can make them share the same model instance by creating the groups in the following way:
MVCGroup fooGroup = createMVCGroup('foo') MVCGroup barGroup = createMVCGroup('bar', model: fooGroup.model) assert fooGroup.model == barGroup.model
createMVCGroup
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.@Nonnull public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull Map<String,Object> args)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } 'bar' { model = 'com.acme.FooModel' view = 'com.acme.BarView' controller = 'com.acme.BarController' } }Notice that groups "foo" and "bar share the same model type, We can make them share the same model instance by creating the groups in the following way:
MVCGroup fooGroup = createMVCGroup('foo') MVCGroup barGroup = createMVCGroup('bar', model: fooGroup.model) assert fooGroup.model == barGroup.model
createMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.@Nonnull public MVCGroup createMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }We can create two instances of the same group that share the same model instance in the following way:
MVCGroup fooGroup1 = createMVCGroup('foo', 'foo1') MVCGroup fooGroup2 = createMVCGroup('bar', 'foo2', model: fooGroup1.model) assert fooGroup1.model == fooGroup2.modelMVC groups must have an unique name.
createMVCGroup
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.mvcId
- the name to assign to the built group.@Nonnull public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }We can create two instances of the same group that share the same model instance in the following way:
MVCGroup fooGroup1 = createMVCGroup('foo', 'foo1') MVCGroup fooGroup2 = createMVCGroup('bar', 'foo2', model: fooGroup1.model) assert fooGroup1.model == fooGroup2.modelMVC groups must have an unique name.
createMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available in Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be created as follows
def (m, v, c) = createMVC('foo') assert (c instanceof FooController)
createMVC
in interface MVCHandler
mvcType
- the type of group to build.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String,Object> args, @Nonnull String mvcType)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } 'bar' { model = 'com.acme.FooModel' view = 'com.acme.BarView' controller = 'com.acme.BarController' } }Notice that groups "foo" and "bar share the same model type, We can make them share the same model instance by creating the groups in the following way:
def (m1, v1, c1) = createMVC('foo') def (m2, v2, c2) = createMVC('bar', model: m1) assert fm1 == m2
createMVC
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull Map<String,Object> args)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } 'bar' { model = 'com.acme.FooModel' view = 'com.acme.BarView' controller = 'com.acme.BarController' } }Notice that groups "foo" and "bar share the same model type, We can make them share the same model instance by creating the groups in the following way:
def (m1, v1, c1) = createMVC('foo') def (m2, v2, c2) = createMVC('bar', model: m1) assert fm1 == m2
createMVC
in interface MVCHandler
mvcType
- the type of group to build.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available in Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be created as follows
def (m, v, c) = createMVC('foo', 'foo' + System.currenttimeMillis()) assert (c instanceof FooController)MVC groups must have an unique name.
createMVC
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }We can create two instances of the same group that share the same model instance in the following way:
def (m1, v1, c1) = createMVC('foo', 'foo1') def (m2, v2, c2) = createMVC('foo', 'foo2', model: m1) assert fm1 == m2MVC groups must have an unique name.
createMVC
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.mvcId
- the name to assign to the built group.@Nonnull public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args)
MVCHandler
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenarios
Application.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }We can create two instances of the same group that share the same model instance in the following way:
def (m1, v1, c1) = createMVC('foo', 'foo1') def (m2, v2, c2) = createMVC('foo', 'foo2', model: m1) assert fm1 == m2MVC groups must have an unique name.
createMVC
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.public <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available inApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
withMVC("foo", new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVC
in interface MVCHandler
mvcType
- the type of group to build.handler
- a code block used to configure and manage the instantiated grouppublic <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available inApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
withMVC("foo", "foo1", new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });MVC groups must have an unique name.
withMVC
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.handler
- a code block used to configure and manage the instantiated grouppublic <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
MapMVC groups must have an unique name.map = ... // initialized elsewhere withMVC("foo", "foo1", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVC
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.handler
- a code block used to configure and manage the instantiated grouppublic <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
MapMVC groups must have an unique name.map = ... // initialized elsewhere withMVC("foo", "foo1", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVC
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.mvcId
- the name to assign to the built group.handler
- a code block used to configure and manage the instantiated grouppublic <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull Map<String,Object> args, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
Mapmap = ... // initialized elsewhere withMVC("foo", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVC
in interface MVCHandler
mvcType
- the type of group to build.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.handler
- a code block used to configure and manage the instantiated grouppublic <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVC(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull MVCFunction<M,V,C> handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
Mapmap = ... // initialized elsewhere withMVC("foo", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVC
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull String mvcType, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available inApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
withMVC("foo", new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });
withMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
For example, with the following entry available inApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
withMVCGroup("foo", "foo1", new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });MVC groups must have an unique name.
withMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
MapMVC groups must have an unique name.map = ... // initialized elsewhere withMVCGroup("foo", "foo1", map, new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });
withMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.mvcId
- the name to assign to the built group.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
MapMVC groups must have an unique name.map = ... // initialized elsewhere withMVCGroup("foo", "foo1", map, new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });
withMVCGroup
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.mvcId
- the name to assign to the built group.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull String mvcType, @Nonnull Map<String,Object> args, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
Mapmap = ... // initialized elsewhere withMVCGroup("foo", map, new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });
withMVCGroup
in interface MVCHandler
mvcType
- the type of group to build.args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.handler
- a code block used to configure and manage the instantiated grouppublic void withMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull MVCGroupFunction handler)
MVCHandler
This method is of particular interest when working with short lived MVC groups such as those used to build dialogs.
MVC groups must be previously configured with the application's metadata before they can be used. This registration process usually takes place automatically at boot time. The type of the group can be normally found in the application's configuration file.
The args Map can contain any value that will be used in one of the following scenariosApplication.groovy
mvcGroups { 'foo' { model = 'com.acme.FooModel' view = 'com.acme.FooView' controller = 'com.acme.FooController' } }An instance of the "foo" group can be used as follows
Mapmap = ... // initialized elsewhere withMVCGroup("foo", map, new MVCGroupCallable() { public void call(MVCGroup group) { group.getModel().setSomeProperty(someValue); group.getController().invokeAnAction(); } });
withMVCGroup
in interface MVCHandler
args
- any useful values that can be set as properties on each MVC member or that
identify a member that can be shared with other groups.mvcType
- the type of group to build.handler
- a code block used to configure and manage the instantiated group@Nonnull public <C extends GriffonController> C getController(@Nonnull String name, @Nonnull Class<C> type) throws ArtifactNotFoundException
MVCGroupManager
getController
in interface MVCGroupManager
name
- the name of the group that holds the controllertype
- the type of the controllerArtifactNotFoundException
- if the named controller could not be found@Nonnull public <M extends GriffonModel> M getModel(@Nonnull String name, @Nonnull Class<M> type) throws ArtifactNotFoundException
MVCGroupManager
getModel
in interface MVCGroupManager
name
- the name of the group that holds the modeltype
- the type of the modelArtifactNotFoundException
- if the named model could not be found@Nonnull public <V extends GriffonView> V getView(@Nonnull String name, @Nonnull Class<V> type) throws ArtifactNotFoundException
MVCGroupManager
getView
in interface MVCGroupManager
name
- the name of the group that holds the viewtype
- the type of the viewArtifactNotFoundException
- if the named view could not be found@Nullable public <C extends GriffonController> C findController(@Nonnull String name, @Nonnull Class<C> type)
MVCGroupManager
findController
in interface MVCGroupManager
name
- the name of the group that holds the controllertype
- the type of the controller@Nullable public <M extends GriffonModel> M findModel(@Nonnull String name, @Nonnull Class<M> type)
MVCGroupManager
findModel
in interface MVCGroupManager
name
- the name of the group that holds the modeltype
- the type of the model@Nullable public <V extends GriffonView> V findView(@Nonnull String name, @Nonnull Class<V> type)
MVCGroupManager
findView
in interface MVCGroupManager
name
- the name of the group that holds the viewtype
- the type of the view