Gridarta Editor
net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R > Class Template Reference
+ Inheritance diagram for net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:
+ Collaboration diagram for net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:

Public Member Functions

void addPlugin (@NotNull final File file)
 
boolean addPlugin (@NotNull final Plugin< G, A, R > plugin)
 
void addPluginModelListener (@NotNull final PluginModelListener< G, A, R > listener)
 
Plugin< G, A, R > getPlugin (@NotNull final String name)
 
Plugin< G, A, R > getPlugin (final int index)
 
int getPluginCount ()
 
Iterator< Plugin< G, A, R > > iterator ()
 
Plugin< G, A, R > newPlugin (@NotNull final String name, @NotNull final String code)
 
 PluginModel (@NotNull final PluginParameterFactory< G, A, R > pluginParameterFactory, @NotNull final PluginModelParser< G, A, R > pluginModelParser)
 
void removePlugin (@NotNull final Plugin< G, A, R > plugin)
 
void removePluginModelListener (@NotNull final PluginModelListener< G, A, R > listener)
 
void reRegister (@NotNull final Plugin< G, A, R > plugin)
 
void savePlugin (@NotNull final Plugin< G, A, R > plugin, @NotNull final File file) throws IOException
 

Private Member Functions

void firePluginCreatedEvent (@NotNull final Plugin< G, A, R > plugin)
 
void firePluginDeletedEvent (@NotNull final Plugin< G, A, R > plugin)
 
void firePluginRegisteredEvent (@NotNull final Plugin< G, A, R > plugin)
 
void firePluginUnregisteredEvent (@NotNull final Plugin< G, A, R > plugin)
 

Private Attributes

final Collection< PluginModelListener< G, A, R > > listeners = new CopyOnWriteArrayList<>()
 
final PluginModelParser< G, A, R > pluginModelParser
 
final PluginParameterFactory< G, A, R > pluginParameterFactory
 
final Map< String, Plugin< G, A, R > > plugins = new TreeMap<>()
 

Static Private Attributes

static final Category LOG = Logger.getLogger(PluginModel.class)
 

Detailed Description

Author
tchize
Andreas Kirschbaum

Definition at line 49 of file PluginModel.java.

Constructor & Destructor Documentation

◆ PluginModel()

net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.PluginModel ( @NotNull final PluginParameterFactory< G, A, R >  pluginParameterFactory,
@NotNull final PluginModelParser< G, A, R >  pluginModelParser 
)

Definition at line 73 of file PluginModel.java.

Member Function Documentation

◆ addPlugin() [1/2]

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addPlugin ( @NotNull final File  file)

Definition at line 115 of file PluginModel.java.

◆ addPlugin() [2/2]

boolean net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addPlugin ( @NotNull final Plugin< G, A, R >  plugin)

Add a new plugin.

Parameters
pluginthe plugin to add
Returns
true
if the plugin was added, or
false
if the plugin name already exists

Definition at line 104 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.addPlugin(), net.sf.gridarta.gui.scripts.ImportPluginAction< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.importPlugin(), and net.sf.gridarta.plugin.PluginModel< G, A, R >.newPlugin().

+ Here is the caller graph for this function:

◆ addPluginModelListener()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addPluginModelListener ( @NotNull final PluginModelListener< G, A, R >  listener)

Adds a listener to be informed of changes.

Parameters
listenerthe listener

Definition at line 155 of file PluginModel.java.

Referenced by net.sf.gridarta.gui.dialog.plugin.PluginController<?, ?, ?>.PluginController(), and net.sf.gridarta.gui.dialog.plugin.PluginManager< G, A, R >.PluginManager().

+ Here is the caller graph for this function:

◆ firePluginCreatedEvent()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.firePluginCreatedEvent ( @NotNull final Plugin< G, A, R >  plugin)
private

Notify all listeners about an added plugin.

Parameters
pluginthe added plugin

Definition at line 171 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.addPlugin().

+ Here is the caller graph for this function:

◆ firePluginDeletedEvent()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.firePluginDeletedEvent ( @NotNull final Plugin< G, A, R >  plugin)
private

Notifies all listeners about a removed plugin.

Parameters
pluginthe removed plugin

Definition at line 181 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.removePlugin().

+ Here is the caller graph for this function:

◆ firePluginRegisteredEvent()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.firePluginRegisteredEvent ( @NotNull final Plugin< G, A, R >  plugin)
private

Notifies all listeners about a registered plugin.

Parameters
pluginthe registered plugin

Definition at line 191 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.addPlugin(), and net.sf.gridarta.plugin.PluginModel< G, A, R >.reRegister().

+ Here is the caller graph for this function:

◆ firePluginUnregisteredEvent()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.firePluginUnregisteredEvent ( @NotNull final Plugin< G, A, R >  plugin)
private

Notifies all listeners about an unregistered plugin.

Parameters
pluginthe unregistered plugin

Definition at line 201 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.removePlugin(), and net.sf.gridarta.plugin.PluginModel< G, A, R >.reRegister().

+ Here is the caller graph for this function:

◆ getPlugin() [1/2]

◆ getPlugin() [2/2]

Plugin<G, A, R> net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.getPlugin ( final int  index)

Definition at line 88 of file PluginModel.java.

◆ getPluginCount()

int net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.getPluginCount ( )

Definition at line 83 of file PluginModel.java.

Referenced by net.sf.gridarta.gui.dialog.plugin.PluginManager< G, A, R >.PluginManager().

+ Here is the caller graph for this function:

◆ iterator()

Iterator<Plugin<G, A, R> > net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.iterator ( )

Definition at line 209 of file PluginModel.java.

◆ newPlugin()

Plugin<G, A, R> net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.newPlugin ( @NotNull final String  name,
@NotNull final String  code 
)

Definition at line 219 of file PluginModel.java.

Referenced by net.sf.gridarta.gui.dialog.plugin.PluginManager< G, A, R >.pluginManagerNewScript().

+ Here is the caller graph for this function:

◆ removePlugin()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.removePlugin ( @NotNull final Plugin< G, A, R >  plugin)

Definition at line 125 of file PluginModel.java.

Referenced by net.sf.gridarta.gui.dialog.plugin.PluginManager< G, A, R >.pluginManagerRemoveScript().

+ Here is the caller graph for this function:

◆ removePluginModelListener()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.removePluginModelListener ( @NotNull final PluginModelListener< G, A, R >  listener)

Removes a listener to be informed of changes.

Parameters
listenerthe listener

Definition at line 163 of file PluginModel.java.

◆ reRegister()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.reRegister ( @NotNull final Plugin< G, A, R >  plugin)

◆ savePlugin()

void net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.savePlugin ( @NotNull final Plugin< G, A, R >  plugin,
@NotNull final File  file 
) throws IOException

Saves a plugin to a given file.

Parameters
pluginthe plugin to save
filethe file to save to
Exceptions
IOExceptionif the file cannot be saved

Definition at line 141 of file PluginModel.java.

Referenced by net.sf.gridarta.gui.dialog.plugin.PluginController<?, ?, ?>.savePlugin(), and net.sf.gridarta.gui.dialog.plugin.PluginController<?, ?, ?>.savePluginAs().

+ Here is the caller graph for this function:

Member Data Documentation

◆ listeners

◆ LOG

final Category net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.LOG = Logger.getLogger(PluginModel.class)
staticprivate

The Logger for printing log messages.

Definition at line 55 of file PluginModel.java.

Referenced by net.sf.gridarta.plugin.PluginModel< G, A, R >.addPlugin().

◆ pluginModelParser

◆ pluginParameterFactory

final PluginParameterFactory<G, A, R> net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.pluginParameterFactory
private

◆ plugins

final Map<String, Plugin<G, A, R> > net.sf.gridarta.plugin.PluginModel< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.plugins = new TreeMap<>()
private

Definition at line 64 of file PluginModel.java.


The documentation for this class was generated from the following file: