SimpleJavaEngine/src/main/java/speiger/src/coreengine/utils/io/dataTag/special/IListTag.java

78 lines
4.5 KiB
Java

package speiger.src.coreengine.utils.io.dataTag.special;
import java.util.UUID;
import speiger.src.coreengine.utils.io.dataTag.DataTag;
import speiger.src.coreengine.utils.io.dataTag.array.ByteArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.DoubleArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.FloatArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.IntArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.LongArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.MediumArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.ShortArrayTag;
import speiger.src.coreengine.utils.io.dataTag.array.StringArrayTag;
import speiger.src.coreengine.utils.io.dataTag.simple.ByteTag;
import speiger.src.coreengine.utils.io.dataTag.simple.DoubleTag;
import speiger.src.coreengine.utils.io.dataTag.simple.FloatTag;
import speiger.src.coreengine.utils.io.dataTag.simple.IntTag;
import speiger.src.coreengine.utils.io.dataTag.simple.LongTag;
import speiger.src.coreengine.utils.io.dataTag.simple.MediumTag;
import speiger.src.coreengine.utils.io.dataTag.simple.PrimitiveTag;
import speiger.src.coreengine.utils.io.dataTag.simple.ShortTag;
import speiger.src.coreengine.utils.io.dataTag.simple.StringTag;
public interface IListTag extends DataTag
{
public void add(DataTag tag);
public default void addList(ListTag list) { if(!list.isEmpty()) add(list); }
public default void addMap(MapTag map) { if(!map.isEmpty()) add(map); }
public DataTag get(int index);
public default void addByte(byte value) {add(new ByteTag(value));}
public default void addShort(short value) {add(new ShortTag(value));}
public default void addMedium(int value) {add(new MediumTag(value));}
public default void addInt(int value) {add(new IntTag(value));}
public default void addLong(long value) {add(new LongTag(value));}
public default void addFloat(float value) {add(new FloatTag(value));}
public default void addDouble(double value) {add(new DoubleTag(value));}
public default void addString(String value) {add(new StringTag(value));}
public default void addByteArray(byte[] value) {add(new ByteArrayTag(value));}
public default void addShortArray(short[] value) {add(new ShortArrayTag(value));}
public default void addMediumArray(int[] value) {add(new MediumArrayTag(value));}
public default void addIntArray(int[] value) {add(new IntArrayTag(value));}
public default void addLongArray(long[] value) {add(new LongArrayTag(value));}
public default void addFloatArray(float[] value) {add(new FloatArrayTag(value));}
public default void addDoubleArray(double[] value) {add(new DoubleArrayTag(value));}
public default void addStringArray(String[] value) {add(new StringArrayTag(value));}
public default void addUUID(UUID id) {add(new LongArrayTag(new long[]{id.getMostSignificantBits(), id.getLeastSignificantBits()}));}
public default byte getByte(int index) {return ((PrimitiveTag)get(index)).asByte();}
public default short getShort(int index) {return ((PrimitiveTag)get(index)).asShort();}
public default int getMedium(int index) {return ((PrimitiveTag)get(index)).asInt();}
public default int getInt(int index) {return ((PrimitiveTag)get(index)).asInt();}
public default long getLong(int index) {return ((PrimitiveTag)get(index)).asLong();}
public default float getFloat(int index) {return ((PrimitiveTag)get(index)).asFloat();}
public default double getDouble(int index) {return ((PrimitiveTag)get(index)).asDouble();}
public default String getString(int index) {return ((StringTag)get(index)).get();}
public default byte[] getByteArray(int index) {return ((ByteArrayTag)get(index)).get();}
public default short[] getShortArray(int index) {return ((ShortArrayTag)get(index)).get();}
public default int[] getMediumArray(int index) {return ((MediumArrayTag)get(index)).get();}
public default int[] getIntArray(int index) {return ((IntArrayTag)get(index)).get();}
public default long[] getLongArray(int index) {return ((LongArrayTag)get(index)).get();}
public default float[] getFloatArray(int index) {return ((FloatArrayTag)get(index)).get();}
public default double[] getDoubleArray(int index) {return ((DoubleArrayTag)get(index)).get();}
public default String[] getStringArray(int index) {return ((StringArrayTag)get(index)).get();}
public default UUID getUUID(int index)
{
long[] id = getLongArray(index);
return new UUID(id[0], id[1]);
}
public default ListTag getList(int index){return (ListTag)get(index);}
public default MapTag getMap(int index){return (MapTag)get(index);}
}