public abstract class AbstractGriffonArtifactScript extends groovy.lang.Script implements GriffonArtifact
| Constructor and Description |
|---|
AbstractGriffonArtifactScript(GriffonApplication application) |
| Modifier and Type | Method and Description |
|---|---|
MVCGroup |
buildMVCGroup(Map<String,Object> args,
String mvcType)
Instantiates an MVC group of the specified type with additional variables.
|
MVCGroup |
buildMVCGroup(Map<String,Object> args,
String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
MVCGroup |
buildMVCGroup(String mvcType)
Instantiates an MVC group of the specified type.
|
MVCGroup |
buildMVCGroup(String mvcType,
Map<String,Object> args)
Instantiates an MVC group of the specified type with additional variables.
|
MVCGroup |
buildMVCGroup(String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
MVCGroup |
buildMVCGroup(String mvcType,
String mvcId,
Map<String,Object> args)
Instantiates an MVC group of the specified type with a particular name.
|
ClassLoader |
classloader()
Returns the classloader used to resolve resources.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(Map<String,Object> args,
String mvcType)
Instantiates an MVC group of the specified type with additional variables.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(Map<String,Object> args,
String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(String mvcType)
Instantiates an MVC group of the specified type returning only the MVC parts.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(String mvcType,
Map<String,Object> args)
Instantiates an MVC group of the specified type with additional variables.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(String mvcType,
String mvcId)
Instantiates an MVC group of the specified type with a particular name.
|
List<? extends GriffonMvcArtifact> |
createMVCGroup(String mvcType,
String mvcId,
Map<String,Object> args)
Instantiates an MVC group of the specified type with a particular name.
|
void |
destroyMVCGroup(String mvcId)
Destroys an MVC group identified by a particular name.
|
GriffonApplication |
getApplication()
Reference to the current
GriffonApplication |
protected abstract String |
getArtifactType() |
GriffonClass |
getGriffonClass()
Returns the GriffonClass associated with this artifact.
|
Logger |
getLog()
Returns a Logger instance suitable for this Artifact.
|
InputStream |
getResourceAsStream(String name)
Returns an input stream for reading the specified resource.
|
URL |
getResourceAsURL(String name)
Finds the resource with the given name.
|
List<URL> |
getResources(String name)
Finds all the resources with the given name.
|
boolean |
isUIThread()
True if the current thread is the UI thread.
|
<R> Future<R> |
runFuture(Callable<R> callable)
Executes a code block as a Future on a default ExecutorService.
|
<R> Future<R> |
runFuture(ExecutorService executorService,
Callable<R> callable)
Executes a code block as a Future on an ExecutorService.
|
void |
runInsideUIAsync(Runnable runnable)
Executes a code block asynchronously on the UI thread.
|
void |
runInsideUISync(Runnable runnable)
Executes a code block synchronously on the UI thread.
|
void |
runOutsideUI(Runnable runnable)
Executes a code block outside of the UI thread.
|
<M extends GriffonModel,V extends GriffonView,C extends GriffonController> |
withMVCGroup(Map<String,Object> args,
String mvcType,
MVCCallable<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> |
withMVCGroup(Map<String,Object> args,
String mvcType,
String mvcId,
MVCCallable<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> |
withMVCGroup(String mvcType,
Map<String,Object> args,
MVCCallable<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> |
withMVCGroup(String mvcType,
MVCCallable<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> |
withMVCGroup(String mvcType,
String mvcId,
Map<String,Object> args,
MVCCallable<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> |
withMVCGroup(String mvcType,
String mvcId,
MVCCallable<M,V,C> handler)
Instantiates an MVC group of the specified type then destroys it after it has been handled.
|
public AbstractGriffonArtifactScript(@Nonnull GriffonApplication application)
@Nonnull public GriffonApplication getApplication()
GriffonArtifactGriffonApplicationgetApplication in interface GriffonArtifact@Nonnull public GriffonClass getGriffonClass()
GriffonArtifactgetGriffonClass in interface GriffonArtifact@Nonnull public Logger getLog()
GriffonArtifactThe Logger is configured with the following prefix 'griffon.app.<type>' where <type> stands for the artifact's type.
Example: the Logger for class com.acme.SampleController will be configured for 'griffon.app.controller.com.acme.SampleController'.
getLog in interface GriffonArtifactpublic boolean isUIThread()
ThreadingHandlerisUIThread in interface ThreadingHandler@Nonnull public <R> Future<R> runFuture(@Nonnull ExecutorService executorService, @Nonnull Callable<R> callable)
ThreadingHandlerrunFuture in interface ThreadingHandler@Nonnull public <R> Future<R> runFuture(@Nonnull Callable<R> callable)
ThreadingHandlerrunFuture in interface ThreadingHandlerpublic void runInsideUISync(@Nonnull Runnable runnable)
ThreadingHandlerrunInsideUISync in interface ThreadingHandlerpublic void runOutsideUI(@Nonnull Runnable runnable)
ThreadingHandlerrunOutsideUI in interface ThreadingHandlerpublic void runInsideUIAsync(@Nonnull Runnable runnable)
ThreadingHandlerrunInsideUIAsync in interface ThreadingHandler@Nonnull public ClassLoader classloader()
ResourceHandlerclassloader in interface ResourceHandler@Nullable public URL getResourceAsURL(@Nonnull String name)
ResourceHandlerThe name of a resource is a '/'-separated path name that identifies the resource.
getResourceAsURL in interface ResourceHandlername - The resource name@Nullable public List<URL> getResources(@Nonnull String name)
ResourceHandlerThe name of a resource is a /-separated path name that identifies the resource.
getResources in interface ResourceHandlername - The resource nameURL objects for
the resource. If no resources could be found, the list
will be empty. Resources that the class loader doesn't have
access to will not be in the list.@Nullable public InputStream getResourceAsStream(@Nonnull String name)
ResourceHandlergetResourceAsStream in interface ResourceHandlername - The resource name@Nonnull public MVCGroup buildMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType)
MVCHandlerMVC 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:
MapfooGroup = buildMVCGroup('foo') Map barGroup = buildMVCGroup('bar', model: fooGroup.model) assert fooGroup.model == barGroup.model
buildMVCGroup in interface MVCHandlerargs - 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> createMVCGroup(@Nonnull String mvcType)
MVCHandlerMVC 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) = createMVCGroup('foo')
assert (c instanceof FooController)
createMVCGroup in interface MVCHandlermvcType - the type of group to build.public <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCCallable<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
withMVCGroup("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.withMVCGroup in interface MVCHandlermvcType - 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 group@Nonnull public List<? extends GriffonMvcArtifact> createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId)
MVCHandlerMVC 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) = createMVCGroup('foo', 'foo' + System.currenttimeMillis())
assert (c instanceof FooController)
MVC groups must have an unique name.createMVCGroup in interface MVCHandlermvcType - the type of group to build.mvcId - the name to assign to the built group.@Nonnull public List<? extends GriffonMvcArtifact> createMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId)
MVCHandlerMVC 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) = createMVCGroup('foo', 'foo1')
def (m2, v2, c2) = createMVCGroup('foo', 'foo2', model: m1)
assert fm1 == m2
MVC groups must have an unique name.createMVCGroup in interface MVCHandlerargs - 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.public <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCCallable<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 withMVCGroup("foo", "foo1", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVCGroup in interface MVCHandlerargs - 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 group@Nonnull public MVCGroup buildMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull String mvcId)
MVCHandlerMVC 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:
MapMVC groups must have an unique name.fooGroup1 = buildMVCGroup('foo', 'foo1') Map fooGroup2 = buildMVCGroup('bar', 'foo2', model: fooGroup1.model) assert fooGroup1.model == fooGroup2.model
buildMVCGroup in interface MVCHandlerargs - 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 buildMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args)
MVCHandlerMVC 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:
MapMVC groups must have an unique name.fooGroup1 = buildMVCGroup('foo', 'foo1') Map fooGroup2 = buildMVCGroup('bar', 'foo2', model: fooGroup1.model) assert fooGroup1.model == fooGroup2.model
buildMVCGroup in interface MVCHandlermvcType - 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> createMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType)
MVCHandlerMVC 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) = createMVCGroup('foo')
def (m2, v2, c2) = createMVCGroup('bar', model: m1)
assert fm1 == m2
createMVCGroup in interface MVCHandlerargs - 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.public <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull String mvcType, @Nonnull MVCCallable<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
withMVCGroup("foo", new MVCCallable<FooModel, FooView, FooController>() {
public void call(FooModel m, FooView v, FooController c) {
m.setSomeProperty(someValue);
c.invokeAnAction();
}
});
withMVCGroup in interface MVCHandlermvcType - the type of group to build.handler - a code block used to configure and manage the instantiated group@Nonnull public MVCGroup buildMVCGroup(@Nonnull String mvcType)
MVCHandlerMVC 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 = buildMVCGroup('foo') assert (fooGroup.controller instanceof FooController)
buildMVCGroup in interface MVCHandlermvcType - the type of group to build.@Nonnull public MVCGroup buildMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId)
MVCHandlerMVC 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
MapMVC groups must have an unique name.fooGroup = buildMVCGroup('foo', 'foo' + System.currentTimeMillis()) assert (fooGroup.controller instanceof FooController)
buildMVCGroup in interface MVCHandlermvcType - the type of group to build.mvcId - the name to assign to the built group.@Nonnull public List<? extends GriffonMvcArtifact> createMVCGroup(@Nonnull String mvcType, @Nonnull Map<String,Object> args)
MVCHandlerMVC 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) = createMVCGroup('foo')
def (m2, v2, c2) = createMVCGroup('bar', model: m1)
assert fm1 == m2
createMVCGroup in interface MVCHandlermvcType - 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.public <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull Map<String,Object> args, @Nonnull String mvcType, @Nonnull MVCCallable<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 withMVCGroup("foo", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVCGroup in interface MVCHandlerargs - 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 <M extends GriffonModel,V extends GriffonView,C extends GriffonController> void withMVCGroup(@Nonnull String mvcType, @Nonnull Map<String,Object> args, @Nonnull MVCCallable<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 withMVCGroup("foo", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVCGroup in interface MVCHandlermvcType - 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 group@Nonnull public MVCGroup buildMVCGroup(@Nonnull String mvcType, @Nonnull Map<String,Object> args)
MVCHandlerMVC 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:
MapfooGroup = buildMVCGroup('foo') Map barGroup = buildMVCGroup('bar', model: fooGroup.model) assert fooGroup.model == barGroup.model
buildMVCGroup in interface MVCHandlermvcType - 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> createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args)
MVCHandlerMVC 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) = createMVCGroup('foo', 'foo1')
def (m2, v2, c2) = createMVCGroup('foo', 'foo2', model: m1)
assert fm1 == m2
MVC groups must have an unique name.createMVCGroup in interface MVCHandlermvcType - 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 withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String,Object> args, @Nonnull MVCCallable<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 withMVCGroup("foo", "foo1", map, new MVCCallable<FooModel, FooView, FooController>() { public void call(FooModel m, FooView v, FooController c) { m.setSomeProperty(someValue); c.invokeAnAction(); } });
withMVCGroup in interface MVCHandlermvcType - 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 destroyMVCGroup(@Nonnull String mvcId)
MVCHandlerATTENTION: make sure to call the super implementation if you override this method otherwise group references will not be kept up to date.
destroyMVCGroup in interface MVCHandlermvcId - the name of the group to destroy and dispose.