Variable.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package me.hammerle.snuviscript.variable;
  2. import me.hammerle.snuviscript.code.Script;
  3. import me.hammerle.snuviscript.code.InputProvider;
  4. import me.hammerle.snuviscript.math.Fraction;
  5. public class Variable extends InputProvider
  6. {
  7. protected final String name;
  8. private Object o;
  9. public Variable(String name)
  10. {
  11. this.name = name;
  12. this.o = null;
  13. }
  14. public String getName()
  15. {
  16. return name;
  17. }
  18. @Override
  19. public String toString()
  20. {
  21. return name;
  22. }
  23. @Override
  24. public Object get(Script sc)
  25. {
  26. return o;
  27. }
  28. @Override
  29. public Fraction getFraction(Script sc)
  30. {
  31. return (Fraction) o;
  32. }
  33. @Override
  34. public int getInt(Script sc)
  35. {
  36. return getFraction(sc).intValue();
  37. }
  38. @Override
  39. public double getDouble(Script sc)
  40. {
  41. return getFraction(sc).doubleValue();
  42. }
  43. @Override
  44. public String getString(Script sc)
  45. {
  46. return String.valueOf(o);
  47. }
  48. @Override
  49. public boolean getBoolean(Script sc)
  50. {
  51. return (boolean) o;
  52. }
  53. @Override
  54. public Variable getVariable(Script sc)
  55. {
  56. return this;
  57. }
  58. @Override
  59. public void set(Script sc, Object o)
  60. {
  61. this.o = o;
  62. }
  63. @Override
  64. public Object getArray(Script sc)
  65. {
  66. return o;
  67. }
  68. }