20 package net.sf.gridarta.model.io;
24 import org.jetbrains.annotations.NotNull;
44 public static String
removeAttribute(@NotNull
final String attributeList, @NotNull
final String key) {
45 if (attributeList.length() <= 0) {
49 final String prefix = key +
" ";
53 final StringBuilder sb =
new StringBuilder();
54 for (
final String line : lines) {
55 if (!line.isEmpty() && !line.startsWith(prefix)) {
73 final CharSequence oldObjectText = gameObject.getObjectText();
74 final StringBuilder result =
new StringBuilder();
76 final int spaceIndex = line.indexOf(
' ');
77 if (!line.isEmpty() && spaceIndex > 0 &&
StringUtils.
diffTextString(oldObjectText, line.substring(0, spaceIndex + 1),
true) == null) {
78 result.append(line).append(
'\n');
81 return result.toString();
94 final CharSequence oldObjectText = archetype.getObjectText();
95 final StringBuilder result =
new StringBuilder();
103 if (!line.isEmpty() && (test == null || c ==
'\n')) {
104 result.append(line).append(
'\n');
106 }
catch (
final StringIndexOutOfBoundsException ignored) {
110 return result.toString();
Utility class for string manipulation.
static String removeAttribute(@NotNull final String attributeList, @NotNull final String key)
Removes an attribute from an attribute list.
AttributeListUtils()
Private constructor to prevent instantiation.
Base package of all Gridarta classes.
static CharSequence diffTextString(@NotNull final CharSequence base, @NotNull final String str, final boolean ignoreValues)
Helper function for 'diffArchText()': Looks for occurrence of the attribute 'str' in 'base' and if fo...
Utility class for archetype attribute related functions.
static final Pattern PATTERN_END_OF_LINE
The pattern to match end of line characters separating lines.
static String diffArchTextKeys(@NotNull final BaseObject<?, ?, ?, ?> gameObject, @NotNull final BaseObject<?, ?, ?, ?> archetype)
Returns all attributes from the given game object that don't exist in an archetype.
static String diffArchTextValues(@NotNull final BaseObject<?, ?, ?, ?> archetype, @NotNull final CharSequence attributes)
Returns all entries from the given attributes that don't exist in an archetype.