Gridarta Editor
src
plugin
src
main
java
net
sf
gridarta
plugin
parameter
AbstractPluginParameter.java
Go to the documentation of this file.
1
/*
2
* Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3
* Copyright (C) 2000-2023 The Gridarta Developers.
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
package
net.sf.gridarta.plugin.parameter;
21
22
import
java.util.Collection;
23
import
java.util.concurrent.CopyOnWriteArrayList;
24
import
net
.
sf
.
gridarta
.
model
.
archetype
.
Archetype
;
25
import
net
.
sf
.
gridarta
.
model
.
gameobject
.
GameObject
;
26
import
net
.
sf
.
gridarta
.
model
.
maparchobject
.
MapArchObject
;
27
import
org.jetbrains.annotations.NotNull;
28
33
public
abstract
class
AbstractPluginParameter
<G
extends
GameObject
<G, A, R>, A extends
MapArchObject
<A>, R extends
Archetype
<G, A, R>, V> implements
PluginParameter
<G, A, R, V> {
34
38
@NotNull
39
private
final
Collection<PluginParameterListener>
listeners
=
new
CopyOnWriteArrayList<>();
40
44
@NotNull
45
private
String
name
=
"[name]"
;
46
50
@NotNull
51
private
String
description
=
"[description]"
;
52
56
protected
AbstractPluginParameter
() {
57
}
58
59
@Override
60
public
void
addPluginParameterListener
(@NotNull
final
PluginParameterListener
listener) {
61
listeners
.add(listener);
62
}
63
64
@Override
65
public
void
removePluginParameterListener
(@NotNull
final
PluginParameterListener
listener) {
66
listeners
.remove(listener);
67
}
68
69
@NotNull
70
@Override
71
public
String
getName
() {
72
return
name
;
73
}
74
75
@Override
76
public
void
setName
(@NotNull
final
String
name
) {
77
if
(this.name.equals(
name
)) {
78
return
;
79
}
80
this.name =
name
;
81
changed
();
82
}
83
84
@NotNull
85
@Override
86
public
String
getDescription
() {
87
return
description
;
88
}
89
90
@Override
91
public
void
setDescription
(@NotNull
final
String
description
) {
92
if
(this.description.equals(
description
)) {
93
return
;
94
}
95
this.description =
description
;
96
changed
();
97
}
98
102
protected
void
changed
() {
103
for
(
final
PluginParameterListener
listener :
listeners
) {
104
listener.changed();
105
}
106
}
107
108
}
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.addPluginParameterListener
void addPluginParameterListener(@NotNull final PluginParameterListener listener)
Definition:
AbstractPluginParameter.java:60
net.sf.gridarta
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.AbstractPluginParameter
AbstractPluginParameter()
Definition:
AbstractPluginParameter.java:56
net.sf.gridarta.model.maparchobject.MapArchObject
Definition:
MapArchObject.java:40
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.setName
void setName(@NotNull final String name)
Definition:
AbstractPluginParameter.java:76
net.sf
net.sf.gridarta.plugin.parameter.PluginParameterListener
Definition:
PluginParameterListener.java:29
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.description
String description
Definition:
AbstractPluginParameter.java:51
net.sf.gridarta.model.archetype
Definition:
AbstractArchetype.java:20
net.sf.gridarta.model.gameobject.GameObject
Definition:
GameObject.java:36
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.setDescription
void setDescription(@NotNull final String description)
Definition:
AbstractPluginParameter.java:91
net.sf.gridarta.model.gameobject
Definition:
AbstractGameObject.java:20
net
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.getDescription
String getDescription()
Definition:
AbstractPluginParameter.java:86
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.name
String name
Definition:
AbstractPluginParameter.java:45
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.changed
void changed()
Definition:
AbstractPluginParameter.java:102
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.getName
String getName()
Definition:
AbstractPluginParameter.java:71
net.sf.gridarta.model
net.sf.gridarta.plugin.parameter.PluginParameter
Definition:
PluginParameter.java:33
net.sf.gridarta.plugin.parameter.AbstractPluginParameter
Definition:
AbstractPluginParameter.java:33
net.sf.gridarta.model.maparchobject
Definition:
AbstractMapArchObject.java:20
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.removePluginParameterListener
void removePluginParameterListener(@NotNull final PluginParameterListener listener)
Definition:
AbstractPluginParameter.java:65
net.sf.gridarta.plugin.parameter.AbstractPluginParameter.listeners
final Collection< PluginParameterListener > listeners
Definition:
AbstractPluginParameter.java:39
net.sf.gridarta.model.archetype.Archetype
Definition:
Archetype.java:41
Generated by
1.8.17