Deprecated bad practice StatSet setters with returning values.
Also using simple HashMap instead of ConcurrentHashMap.
This commit is contained in:
@@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.model;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@@ -48,7 +47,7 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public StatSet()
|
||||
{
|
||||
this(ConcurrentHashMap::new);
|
||||
this(HashMap::new);
|
||||
}
|
||||
|
||||
public StatSet(Supplier<Map<String, Object>> mapFactory)
|
||||
@@ -97,7 +96,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public boolean getBoolean(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -126,7 +124,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public boolean getBoolean(String key, boolean defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -149,7 +146,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public byte getByte(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -172,7 +168,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public byte getByte(String key, byte defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -208,8 +203,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public byte[] getByteArray(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -241,8 +234,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public List<Byte> getByteList(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final List<Byte> result = new ArrayList<>();
|
||||
for (Byte i : getByteArray(key, splitOn))
|
||||
{
|
||||
@@ -254,7 +245,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public short getShort(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -277,7 +267,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public short getShort(String key, short defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -314,7 +303,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public int getInt(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -339,7 +327,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public int getInt(String key, int defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -375,8 +362,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public int[] getIntArray(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -408,8 +393,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public List<Integer> getIntegerList(String key, String splitOn)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(splitOn);
|
||||
final List<Integer> result = new ArrayList<>();
|
||||
for (int i : getIntArray(key, splitOn))
|
||||
{
|
||||
@@ -421,7 +404,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public long getLong(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -444,7 +426,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public long getLong(String key, long defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -481,7 +462,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public float getFloat(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -504,7 +484,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public float getFloat(String key, float defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -541,7 +520,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public double getDouble(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -564,7 +542,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public double getDouble(String key, double defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -601,7 +578,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public String getString(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -613,7 +589,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public String getString(String key, String defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -625,7 +600,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public Duration getDuration(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -637,7 +611,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@Override
|
||||
public Duration getDuration(String key, Duration defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -650,8 +623,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(enumClass);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -675,8 +646,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass, T defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(enumClass);
|
||||
final Object val = _set.get(key);
|
||||
if (val == null)
|
||||
{
|
||||
@@ -699,8 +668,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <A> A getObject(String name, Class<A> type)
|
||||
{
|
||||
Objects.requireNonNull(name);
|
||||
Objects.requireNonNull(type);
|
||||
final Object obj = _set.get(name);
|
||||
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||
{
|
||||
@@ -713,8 +680,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <A> A getObject(String name, Class<A> type, A defaultValue)
|
||||
{
|
||||
Objects.requireNonNull(name);
|
||||
Objects.requireNonNull(type);
|
||||
final Object obj = _set.get(name);
|
||||
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||
{
|
||||
@@ -726,7 +691,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public SkillHolder getSkillHolder(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof SkillHolder))
|
||||
{
|
||||
@@ -738,7 +702,6 @@ public class StatSet implements IParserAdvUtils
|
||||
|
||||
public Location getLocation(String key)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof Location))
|
||||
{
|
||||
@@ -750,8 +713,6 @@ public class StatSet implements IParserAdvUtils
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> List<T> getList(String key, Class<T> clazz)
|
||||
{
|
||||
Objects.requireNonNull(key);
|
||||
Objects.requireNonNull(clazz);
|
||||
final Object obj = _set.get(key);
|
||||
if (!(obj instanceof List<?>))
|
||||
{
|
||||
@@ -857,76 +818,61 @@ public class StatSet implements IParserAdvUtils
|
||||
return (Map<K, V>) obj;
|
||||
}
|
||||
|
||||
public StatSet set(String name, Object value)
|
||||
public void set(String name, Object value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(name, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, boolean value)
|
||||
public void set(String key, byte value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, byte value)
|
||||
public void set(String key, short value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, short value)
|
||||
public void set(String key, int value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, int value)
|
||||
public void set(String key, long value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, long value)
|
||||
public void set(String key, float value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, float value)
|
||||
public void set(String key, double value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, double value)
|
||||
{
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, String value)
|
||||
public void set(String key, String value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public StatSet set(String key, Enum<?> value)
|
||||
public void set(String key, Enum<?> value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return this;
|
||||
return;
|
||||
}
|
||||
_set.put(key, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -950,13 +896,6 @@ public class StatSet implements IParserAdvUtils
|
||||
set(name, value);
|
||||
}
|
||||
|
||||
public static StatSet valueOf(String key, Object value)
|
||||
{
|
||||
final StatSet set = new StatSet();
|
||||
set.set(key, value);
|
||||
return set;
|
||||
}
|
||||
|
||||
public void remove(String key)
|
||||
{
|
||||
_set.remove(key);
|
||||
|
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.model.variables;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
@@ -31,55 +30,58 @@ public abstract class AbstractVariables extends StatSet implements IRestorable,
|
||||
{
|
||||
private final AtomicBoolean _hasChanges = new AtomicBoolean(false);
|
||||
|
||||
public AbstractVariables()
|
||||
{
|
||||
super(new ConcurrentHashMap<>());
|
||||
}
|
||||
|
||||
/**
|
||||
* Overriding following methods to prevent from doing useless database operations if there is no changes since player's login.
|
||||
*/
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, boolean value)
|
||||
public void set(String name, double value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, double value)
|
||||
public void set(String name, Enum<?> value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, Enum<?> value)
|
||||
public void set(String name, int value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, int value)
|
||||
public void set(String name, long value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, long value)
|
||||
public void set(String name, String value)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StatSet set(String name, String value)
|
||||
/**
|
||||
* Put's entry to the variables and marks as changed if required (<i>Useful when restoring to do not save them again</i>).
|
||||
* @param name
|
||||
* @param value
|
||||
* @param markAsChanged
|
||||
*/
|
||||
public void set(String name, String value, boolean markAsChanged)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
return super.set(name, value);
|
||||
if (markAsChanged)
|
||||
{
|
||||
_hasChanges.compareAndSet(false, true);
|
||||
}
|
||||
super.set(name, value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user