JavascriptFunction.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.knacki.mimou.bridge;
  2. import com.knacki.mimou.sms.Sms;
  3. import com.knacki.mimou.sms.SmsReader;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. /**
  7. * Created by thibal on 1/5/18.
  8. */
  9. public class JavascriptFunction {
  10. private StringBuilder fncStr;
  11. private boolean firstArg = true;
  12. private boolean immutable = false;
  13. public JavascriptFunction(String fncName) {
  14. fncStr = new StringBuilder(fncName).append('(');
  15. }
  16. private static String escapeStr(String s) {
  17. return s.replaceAll("\"", "\\\"");
  18. }
  19. public JavascriptFunction addArgument(String arg) {
  20. if (!immutable) {
  21. if (!firstArg)
  22. fncStr.append(',');
  23. fncStr.append('"').append(escapeStr(arg)).append('"');
  24. firstArg = false;
  25. }
  26. return this;
  27. }
  28. public JavascriptFunction addArgument(boolean arg) {
  29. if (!immutable) {
  30. if (!firstArg)
  31. fncStr.append(',');
  32. fncStr.append(arg ? "true" : "false");
  33. firstArg = false;
  34. }
  35. return this;
  36. }
  37. public String toString() {
  38. if (!immutable) {
  39. fncStr.append(')');
  40. immutable = true;
  41. }
  42. return fncStr.toString();
  43. }
  44. }