/** * init right after creation of configuration, not during operation as it is not threadsafe regarding mutation * currently only for minbin serialization * * @param keysAndVals { { "symbolicName", "fullQualifiedClazzName" }, .. } */ public FSTConfiguration registerCrossPlatformClassMapping( String[][] keysAndVals ) { for (int i = 0; i < keysAndVals.length; i++) { String[] keysAndVal = keysAndVals[i]; registerCrossPlatformClassMapping(keysAndVal[0], keysAndVal[1]); } return this; }
/** * shorthand for registerCrossPlatformClassMapping(_,_) * @param shortName - class name in json type field * @param clz - class * @return */ public FSTConfiguration cpMap(String shortName, Class clz) { return registerCrossPlatformClassMapping(shortName,clz.getName()); }
/** * init right after creation of configuration, not during operation as it is not threadsafe regarding mutation * currently only for minbin serialization * * @param keysAndVals { { "symbolicName", "fullQualifiedClazzName" }, .. } */ public FSTConfiguration registerCrossPlatformClassMapping( String[][] keysAndVals ) { for (int i = 0; i < keysAndVals.length; i++) { String[] keysAndVal = keysAndVals[i]; registerCrossPlatformClassMapping(keysAndVal[0], keysAndVal[1]); } return this; }
/** * shorthand for registerCrossPlatformClassMapping(_,_) * @param shortName - class name in json type field * @param clz - class * @return */ public FSTConfiguration cpMap(String shortName, Class clz) { return registerCrossPlatformClassMapping(shortName,clz.getName()); }
reg.putSerializer(AbstractMap.class, new FSTMapSerializer(), true); // subclass should register manually res.registerCrossPlatformClassMapping(new String[][]{ {"map", HashMap.class.getName()}, {"list", ArrayList.class.getName()},
reg.putSerializer(AbstractMap.class, new FSTMapSerializer(), true); // subclass should register manually res.registerCrossPlatformClassMapping(new String[][]{ {"map", HashMap.class.getName()}, {"list", ArrayList.class.getName()},
public static void registerDefaultClassMappings(FSTConfiguration conf) { conf.registerCrossPlatformClassMapping(new String[][]{ {"call", RemoteCallEntry.class.getName()}, {"cbw", CallbackWrapper.class.getName()} }); }
public static void registerDefaultClassMappings(FSTConfiguration conf) { conf.registerCrossPlatformClassMapping(new String[][]{ {"call", RemoteCallEntry.class.getName()}, {"cbw", CallbackWrapper.class.getName()} }); }
public FstJSONSerializer(Properties props) { conf.setJsonFieldNames(new FSTJsonFieldNames("@type", "@object", "@stype", "@seq", "@enum", "@value", "@ref")); conf.registerCrossPlatformClassMapping("list", "java.util.Arrays$ArrayList"); conf.registerSerializer(Timestamp.class, new FSTDateSerializer(), true); conf.registerSerializer(Date.class, new FSTDateSerializer(), true); if(props != null) props.forEach((k,v) -> { String key = (String)k; String value = (String)v; if(key.startsWith(PREFIX) && value != null && value.trim().length() > 0) conf.registerCrossPlatformClassMapping(key.substring(PREFIX.length()), value.trim()); }); }