private static ConfigKey<?> createConfigKeyFromInstance(Class<?> configInstClass, String configId) { try { String defName = ConfigInstance.getDefName(configInstClass); String defNamespace = ConfigInstance.getDefNamespace(configInstClass); return new ConfigKey<>(defName, configId, defNamespace); } catch (IllegalArgumentException | SecurityException e) { throw new RuntimeException(e); } }
private void writeBuilder(File directory, Method m, ConfigInstance.Builder builder) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException, IOException { m.invoke(this, builder); Class<?> configInstClass = builder.getClass().getEnclosingClass(); ConfigInstance inst = (ConfigInstance) configInstClass.getConstructor(builder.getClass()).newInstance(builder); List<String> payloadList = ConfigInstance.serialize(inst); File outfn = new File(directory, ConfigInstance.getDefName(inst.getClass()) + ".MODEL.cfg"); FileOutputStream out = new FileOutputStream(outfn); for (String s : payloadList) { out.write(Utf8.toBytes(s)); out.write('\n'); } }