JDB/src/main/java/fr/doap/jdb/utils/Utils.java
2024-06-25 22:30:11 +02:00

43 lines
1.2 KiB
Java

package fr.doap.jdb.utils;
import fr.doap.slog.*;
import java.io.*;
import java.util.*;
public class Utils {
static public <K,V> Map<K,V> HashMapOf(K aK, V aV, Object ... aObjects) {
Map<K,V> lMap = new HashMap<>();
lMap.put(aK, aV);
for (int i=0; i<aObjects.length/2; i++) lMap.put((K)aObjects[2*i], (V)aObjects[2*i+1]);
return lMap;
}
static public String getShortClassname(Class<?> aClass) {
return aClass.getCanonicalName();
/*
String[] lPackages = aClass.getPackageName().split("[.]");
return String.join("", Arrays.asList(lPackages).stream().map(aP -> aP.substring(0,1)).toList())+"."+aClass.getSimpleName();
*/
}
static public byte[] toByteArray(final Object obj) {
ByteArrayOutputStream lBAOS = new ByteArrayOutputStream();
try (ObjectOutputStream lOOS = new ObjectOutputStream(lBAOS)) {
lOOS.writeObject(obj);
lOOS.flush();
return lBAOS.toByteArray();
} catch (Exception ex) { L.w(ex); }
return null;
}
static public Object fromByteArray(byte[] bytes) {
ByteArrayInputStream lBAIS = new ByteArrayInputStream(bytes);
try (ObjectInput lOI = new ObjectInputStream(lBAIS)) {
return lOI.readObject();
} catch (Exception ex) { L.w(ex); }
return null;
}
}