Пример #1
0
  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();
    }
  }
Пример #2
0
 private static ControlInfo parseProperty(String string, Type type, PArray array)
     throws Exception {
   // array(1) is outputs
   PArray args = PArray.coerce(array.get(1));
   ArgumentInfo[] outputs = new ArgumentInfo[args.getSize()];
   for (int i = 0; i < outputs.length; i++) {
     outputs[i] = ArgumentInfo.coerce(args.get(i));
   }
   ArgumentInfo[] inputs = type == Type.ReadOnlyProperty ? EMPTY_INFO : outputs;
   // array(2) is defaults
   args = PArray.coerce(array.get(2));
   Argument[] defs = new Argument[args.getSize()];
   for (int i = 0; i < defs.length; i++) {
     defs[i] = PString.coerce(args.get(i));
   }
   // optional array(3) is properties
   PMap properties;
   if (array.getSize() > 3) {
     properties = PMap.coerce(array.get(3));
   } else {
     properties = PMap.EMPTY;
   }
   return new ControlInfo(inputs, outputs, defs, type, properties, string);
 }