1 package org.simantics.db.common.utils;
\r
3 import java.lang.reflect.Method;
\r
4 import java.util.Map;
\r
6 import org.simantics.db.Metadata;
\r
8 public class MetadataUtil {
\r
9 @SuppressWarnings("unchecked")
\r
10 public static <T> T getMetadata(Map<String, byte[]> data, Class<? extends Metadata> dataClass) {
\r
11 if (null == data || null == dataClass)
\r
15 Method m = dataClass.getMethod("deserialise", byte[].class);
\r
16 byte[] bytes = data.get(dataClass.getName());
\r
17 if (null != bytes) {
\r
18 Object value = m.invoke(null, bytes);
\r
22 } catch (RuntimeException e) {
\r
23 Logger.defaultLogError(e);
\r
24 } catch (Exception e) {
\r
25 Logger.defaultLogError(e);
\r