Gridarta Editor
src
model
src
main
java
net
sf
gridarta
model
select
AttributeOtherValueMatchCriteria.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.select;
21
22
import
java.util.Arrays;
23
import
java.util.HashSet;
24
import
java.util.Set;
25
import
net
.
sf
.
gridarta
.
model
.
archetype
.
Archetype
;
26
import
net
.
sf
.
gridarta
.
model
.
gameobject
.
GameObject
;
27
import
net
.
sf
.
gridarta
.
model
.
maparchobject
.
MapArchObject
;
28
import
net
.
sf
.
gridarta
.
utils
.
StringUtils
;
29
import
org.jetbrains.annotations.NotNull;
30
36
public
class
AttributeOtherValueMatchCriteria
<G
extends
GameObject
<G, A, R>, A extends
MapArchObject
<A>, R extends
Archetype
<G, A, R>> implements
MatchCriteria
<G, A, R> {
37
41
@NotNull
42
private
final
Set<String>
attributeNames
;
43
47
@NotNull
48
private
final
String
attributeValue
;
49
55
public
AttributeOtherValueMatchCriteria
(@NotNull
final
String
attributeValue
, @NotNull
final
String...
attributeNames
) {
56
this.attributeValue =
attributeValue
;
57
this.attributeNames =
new
HashSet<>(Arrays.asList(
attributeNames
));
58
}
59
60
@Override
61
public
boolean
matches
(@NotNull
final
G gameObject) {
62
for
(
final
String attribute :
StringUtils
.
PATTERN_END_OF_LINE
.split(gameObject.getObjectText())) {
63
final
String[] tmp =
StringUtils
.
PATTERN_SPACES
.split(attribute, 2);
64
if
(tmp.length == 2 && !
attributeNames
.contains(tmp[0])) {
65
if
(tmp[1].contains(
attributeValue
)) {
66
return
true
;
67
}
68
}
69
}
70
71
return
false
;
72
}
73
74
}
net.sf.gridarta.utils.StringUtils
Definition:
StringUtils.java:31
net.sf.gridarta
net.sf.gridarta.utils.StringUtils.PATTERN_SPACES
static final Pattern PATTERN_SPACES
Definition:
StringUtils.java:73
net.sf.gridarta.model.maparchobject.MapArchObject
Definition:
MapArchObject.java:40
net.sf.gridarta.utils.StringUtils.PATTERN_END_OF_LINE
static final Pattern PATTERN_END_OF_LINE
Definition:
StringUtils.java:61
net.sf.gridarta.model.select.AttributeOtherValueMatchCriteria.attributeValue
final String attributeValue
Definition:
AttributeOtherValueMatchCriteria.java:48
net.sf
net.sf.gridarta.model.archetype
Definition:
AbstractArchetype.java:20
net.sf.gridarta.model.gameobject.GameObject
Definition:
GameObject.java:36
net.sf.gridarta.model.gameobject
Definition:
AbstractGameObject.java:20
net
net.sf.gridarta.model.select.MatchCriteria
Definition:
MatchCriteria.java:31
net.sf.gridarta.model.select.AttributeOtherValueMatchCriteria
Definition:
AttributeOtherValueMatchCriteria.java:36
net.sf.gridarta.model.select.AttributeOtherValueMatchCriteria.AttributeOtherValueMatchCriteria
AttributeOtherValueMatchCriteria(@NotNull final String attributeValue, @NotNull final String... attributeNames)
Definition:
AttributeOtherValueMatchCriteria.java:55
net.sf.gridarta.model.select.AttributeOtherValueMatchCriteria.matches
boolean matches(@NotNull final G gameObject)
Definition:
AttributeOtherValueMatchCriteria.java:61
net.sf.gridarta.model
net.sf.gridarta.model.select.AttributeOtherValueMatchCriteria.attributeNames
final Set< String > attributeNames
Definition:
AttributeOtherValueMatchCriteria.java:42
net.sf.gridarta.model.maparchobject
Definition:
AbstractMapArchObject.java:20
net.sf.gridarta.model.archetype.Archetype
Definition:
Archetype.java:41
net.sf.gridarta.utils
Definition:
ActionBuilderUtils.java:20
Generated by
1.8.17