Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. Manifest-Version: 1.0
  2. Extension-Name: noise
  3. Class-Manager: org.xyz.extensions.NoiseExtension
  4. NetLogo-Extension-API-Version: 5.0 <--there is a crlf here
  5.  
  6. test/
  7. test.nlogo
  8. noise/
  9. noise.jar
  10.  
  11. package org.xyz.extensions;
  12.  
  13. import org.nlogo.api.*;
  14.  
  15. public class NoiseExtension extends DefaultClassManager {
  16. public void load(PrimitiveManager primitiveManager) {
  17. primitiveManager.addPrimitive(
  18. "first-n-integers", new org.xyz.extensions.NoiseGenerator());
  19. }
  20. }
  21.  
  22. package org.xyz.extensions;
  23. import org.nlogo.api.*;
  24.  
  25. public class NoiseGenerator extends DefaultReporter {
  26.  
  27. public Syntax getSyntax() {
  28. return Syntax.reporterSyntax(
  29. new int[] {Syntax.NumberType()}, Syntax.ListType());
  30.  
  31. }
  32.  
  33. public Object report(Argument args[], Context context) throws ExtensionException {
  34. // create a NetLogo list for the result
  35. LogoListBuilder list = new LogoListBuilder();
  36. int n ;
  37. // use typesafe helper method from
  38. // org.nlogo.api.Argument to access argument
  39. try {
  40. n = args[0].getIntValue();
  41. }
  42. catch(LogoException e) {
  43. throw new ExtensionException( e.getMessage() ) ;
  44. }
  45. if (n < 0) {
  46. // signals a NetLogo runtime error to the modeler
  47. throw new ExtensionException
  48. ("input must be positive");
  49. }
  50. // populate the list. note that we use Double objects; NetLogo
  51. // numbers are always Doubles
  52. for (int i = 0; i < n; i++) {
  53. list.add(Double.valueOf(i));
  54. }
  55. return list.toLogoList();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement