Gridarta Editor
src
model
src
main
java
net
sf
gridarta
model
data
AbstractNamedObjects.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.model.data;
21
22
import
java.util.HashMap;
23
import
java.util.Iterator;
24
import
java.util.Map;
25
import
java.util.TreeSet;
26
import
org.jetbrains.annotations.NotNull;
27
import
org.jetbrains.annotations.Nullable;
28
36
public
abstract
class
AbstractNamedObjects
<E
extends
NamedObject
> implements
NamedObjects
<E> {
37
41
private
static
final
long
serialVersionUID
= 1L;
42
47
private
final
String
name
;
48
53
private
final
Map<String, E>
objectMap
=
new
HashMap<>();
54
59
@NotNull
60
private
final
NamedTreeNode<E>
treeRoot
=
new
NamedTreeNode<>
();
61
66
protected
AbstractNamedObjects
(
final
String
name
) {
67
this.name =
name
;
68
}
69
70
@NotNull
71
@Override
72
public
NamedTreeNode<E>
getTreeRoot
() {
73
return
treeRoot
;
74
}
75
76
@NotNull
77
@Override
78
public
String
getName
() {
79
return
name
;
80
}
81
87
protected
void
put
(@NotNull
final
E
object
)
throws
IllegalNamedObjectException
{
88
objectMap
.put(
object
.
getName
(),
object
);
89
treeRoot
.
append
(
object
);
90
}
91
92
@Override
93
public
int
size
() {
94
return
objectMap
.size();
95
}
96
97
@Nullable
98
@Override
99
public
E
get
(@NotNull
final
String objectName) {
100
return
objectMap
.get(objectName);
101
}
102
103
@Override
104
public
boolean
containsKey
(@NotNull
final
String
name
) {
105
return
objectMap
.containsKey(
name
);
106
}
107
108
@Override
109
public
Iterator<E>
iterator
() {
110
return
new
TreeSet<>(
objectMap
.values()).iterator();
111
}
112
113
}
net.sf.gridarta.model.data.AbstractNamedObjects.objectMap
final Map< String, E > objectMap
Definition:
AbstractNamedObjects.java:53
net.sf.gridarta.model.data.NamedObjects
Definition:
NamedObjects.java:33
net.sf.gridarta.model.data.AbstractNamedObjects.iterator
Iterator< E > iterator()
Definition:
AbstractNamedObjects.java:109
net.sf.gridarta.model.data.AbstractNamedObjects.containsKey
boolean containsKey(@NotNull final String name)
Definition:
AbstractNamedObjects.java:104
net.sf.gridarta.model.data.IllegalNamedObjectException
Definition:
IllegalNamedObjectException.java:28
net.sf.gridarta.model.data.AbstractNamedObjects.AbstractNamedObjects
AbstractNamedObjects(final String name)
Definition:
AbstractNamedObjects.java:66
net.sf.gridarta.model.data.AbstractNamedObjects.serialVersionUID
static final long serialVersionUID
Definition:
AbstractNamedObjects.java:41
net.sf.gridarta.model.data.AbstractNamedObjects.put
void put(@NotNull final E object)
Definition:
AbstractNamedObjects.java:87
net.sf.gridarta.model.data.AbstractNamedObjects.treeRoot
final NamedTreeNode< E > treeRoot
Definition:
AbstractNamedObjects.java:60
net.sf.gridarta.model.data.NamedTreeNode< E >
net.sf.gridarta.model.data.AbstractNamedObjects
Definition:
AbstractNamedObjects.java:36
net.sf.gridarta.model.data.NamedObject
Definition:
NamedObject.java:32
net.sf.gridarta.model.data.AbstractNamedObjects.size
int size()
Definition:
AbstractNamedObjects.java:93
net.sf.gridarta.model.data.AbstractNamedObjects.name
final String name
Definition:
AbstractNamedObjects.java:47
net.sf.gridarta.model.data.AbstractNamedObjects.getTreeRoot
NamedTreeNode< E > getTreeRoot()
Definition:
AbstractNamedObjects.java:72
net.sf.gridarta.model.data.AbstractNamedObjects.getName
String getName()
Definition:
AbstractNamedObjects.java:78
net.sf.gridarta.model.data.NamedTreeNode.append
void append(@NotNull final NamedObject namedObject)
Definition:
NamedTreeNode.java:134
Generated by
1.8.17