mirror of
https://github.com/Rogiel/l2jserver2
synced 2025-12-10 01:12:52 +00:00
Removed "core" project dependency
Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.l2jserver.util.transformer;
|
||||
|
||||
/**
|
||||
* An transformer can transform an {@link Object} into an {@link String} and the
|
||||
* {@link String} back to an equivalent object.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public interface Transformer<T> {
|
||||
/**
|
||||
* Transform the object in a string
|
||||
*
|
||||
* @param value
|
||||
* the object
|
||||
* @return the string of the object
|
||||
*/
|
||||
String transform(T value);
|
||||
|
||||
/**
|
||||
* Untransforms the string back to an object
|
||||
*
|
||||
* @param value
|
||||
* the string
|
||||
* @return the object
|
||||
*/
|
||||
T untransform(String value);
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.l2jserver.util.transformer;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
import com.l2jserver.util.transformer.impl.BooleanTransformer;
|
||||
import com.l2jserver.util.transformer.impl.ByteTransformer;
|
||||
import com.l2jserver.util.transformer.impl.ClassTransformer;
|
||||
import com.l2jserver.util.transformer.impl.DoubleTransformer;
|
||||
import com.l2jserver.util.transformer.impl.FileTransformer;
|
||||
import com.l2jserver.util.transformer.impl.FloatTransformer;
|
||||
import com.l2jserver.util.transformer.impl.InetSocketAddressTransformer;
|
||||
import com.l2jserver.util.transformer.impl.IntegerTransformer;
|
||||
import com.l2jserver.util.transformer.impl.LongTransformer;
|
||||
import com.l2jserver.util.transformer.impl.ShortTransformer;
|
||||
|
||||
public class TransformerFactory {
|
||||
public static final Transformer<?> getTransfromer(Class<?> type) {
|
||||
if (type == Byte.class || type == Byte.TYPE) {
|
||||
return ByteTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Short.class || type == Short.TYPE) {
|
||||
return ShortTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Integer.class || type == Integer.TYPE) {
|
||||
return IntegerTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Long.class || type == Long.TYPE) {
|
||||
return LongTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Float.class || type == Float.TYPE) {
|
||||
return FloatTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Double.class || type == Double.TYPE) {
|
||||
return DoubleTransformer.SHARED_INSTANCE;
|
||||
} else if (type == Boolean.class || type == Boolean.TYPE) {
|
||||
return BooleanTransformer.SHARED_INSTANCE;
|
||||
} else if(type == InetSocketAddress.class) {
|
||||
return InetSocketAddressTransformer.SHARED_INSTANCE;
|
||||
} else if(type == File.class) {
|
||||
return FileTransformer.SHARED_INSTANCE;
|
||||
}else if(type == Class.class) {
|
||||
return ClassTransformer.SHARED_INSTANCE;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Boolean} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class BooleanTransformer implements Transformer<Boolean> {
|
||||
public static final BooleanTransformer SHARED_INSTANCE = new BooleanTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Boolean value) {
|
||||
return (value ? "true" : "false");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean untransform(String value) {
|
||||
return Boolean.parseBoolean(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class ByteTransformer implements Transformer<Byte> {
|
||||
public static final ByteTransformer SHARED_INSTANCE = new ByteTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Byte value) {
|
||||
return Double.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Byte untransform(String value) {
|
||||
return Byte.decode(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Class} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class ClassTransformer implements Transformer<Class<?>> {
|
||||
public static final ClassTransformer SHARED_INSTANCE = new ClassTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Class<?> value) {
|
||||
return value.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> untransform(String value) {
|
||||
try {
|
||||
return Class.forName(value);
|
||||
} catch (ClassNotFoundException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class DoubleTransformer implements Transformer<Double> {
|
||||
public static final DoubleTransformer SHARED_INSTANCE = new DoubleTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Double value) {
|
||||
return Double.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double untransform(String value) {
|
||||
return Double.parseDouble(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class FileTransformer implements Transformer<File> {
|
||||
public static final FileTransformer SHARED_INSTANCE = new FileTransformer();
|
||||
|
||||
private final File root = new File("./");
|
||||
|
||||
@Override
|
||||
public String transform(File value) {
|
||||
return value.getAbsolutePath();
|
||||
}
|
||||
|
||||
@Override
|
||||
public File untransform(String value) {
|
||||
return new File(root, value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class FloatTransformer implements Transformer<Float> {
|
||||
public static final FloatTransformer SHARED_INSTANCE = new FloatTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Float value) {
|
||||
return Double.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Float untransform(String value) {
|
||||
return Float.parseFloat(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class InetSocketAddressTransformer implements
|
||||
Transformer<InetSocketAddress> {
|
||||
public static final InetSocketAddressTransformer SHARED_INSTANCE = new InetSocketAddressTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(InetSocketAddress value) {
|
||||
return value.getHostName() + ":" + value.getPort();
|
||||
}
|
||||
|
||||
@Override
|
||||
public InetSocketAddress untransform(String value) {
|
||||
final String[] pieces = value.split(":");
|
||||
if (pieces.length != 2)
|
||||
return null;
|
||||
return new InetSocketAddress(pieces[0], Integer.parseInt(pieces[1]));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class IntegerTransformer implements Transformer<Integer> {
|
||||
public static final IntegerTransformer SHARED_INSTANCE = new IntegerTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Integer value) {
|
||||
return Integer.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer untransform(String value) {
|
||||
return Integer.decode(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Long} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class LongTransformer implements Transformer<Long> {
|
||||
public static final LongTransformer SHARED_INSTANCE = new LongTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Long value) {
|
||||
return Long.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long untransform(String value) {
|
||||
return Long.decode(value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.l2jserver.util.transformer.impl;
|
||||
|
||||
import com.l2jserver.util.transformer.Transformer;
|
||||
|
||||
/**
|
||||
* Transform an {@link Integer} into an string.
|
||||
*
|
||||
* @author <a href="http://www.rogiel.com">Rogiel</a>
|
||||
*/
|
||||
public class ShortTransformer implements Transformer<Short> {
|
||||
public static final ShortTransformer SHARED_INSTANCE = new ShortTransformer();
|
||||
|
||||
@Override
|
||||
public String transform(Short value) {
|
||||
return Short.toString(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Short untransform(String value) {
|
||||
return Short.decode(value);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user