private static ControlInfo valueOf(String string) throws ArgumentFormatException { try { PArray arr = PArray.valueOf(string); Type type = Type.valueOf(arr.get(0).toString()); switch (type) { case Function: return parseFunction(string, arr); case Action: return parseAction(string, arr); default: return parseProperty(string, type, arr); } } catch (Exception ex) { throw new ArgumentFormatException(ex); } }
private String buildString() { switch (type) { case Action: return PArray.valueOf(PString.valueOf(type), properties).toString(); case Function: return PArray.valueOf( PString.valueOf(type), PArray.valueOf(inputs), PArray.valueOf(outputs), properties) .toString(); default: return PArray.valueOf( PString.valueOf(type), PArray.valueOf(outputs), PArray.valueOf(defaults), properties) .toString(); } }